Changeset f619ec11 in mainline for kernel/arch/sparc64


Ignore:
Timestamp:
2007-02-03T21:26:54Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
cf5ddf6
Parents:
80bcaed
Message:

When clock() is called by an external interrupt dispatched by the IRQ dispatcher,
no spinlock can be held or the kernel will not be preemptive. This fixes Ticket #24.

Formating and indentation fixes.

Location:
kernel/arch/sparc64/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/src/drivers/tick.c

    r80bcaed rf619ec11  
    100100                CPU->missed_clock_ticks++;
    101101        }
    102         CPU->arch.next_tick_cmpr = tick_read() + (CPU->arch.clock_frequency /
    103                 HZ) - drift;
     102        CPU->arch.next_tick_cmpr = tick_read() +
     103            (CPU->arch.clock_frequency / HZ) - drift;
    104104        tick_compare_write(CPU->arch.next_tick_cmpr);
    105105        clock();
  • kernel/arch/sparc64/src/sparc64.c

    r80bcaed rf619ec11  
    137137{
    138138        uint64_t stop = tick_read() + (uint64_t) usec * (uint64_t)
    139                 CPU->arch.clock_frequency / 1000000;
     139            CPU->arch.clock_frequency / 1000000;
    140140
    141141        while (tick_read() < stop)
     
    147147{
    148148        switch_to_userspace((uintptr_t) kernel_uarg->uspace_entry,
    149                 ((uintptr_t) kernel_uarg->uspace_stack) + STACK_SIZE
    150                 - (ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT) + STACK_BIAS),
    151                 (uintptr_t) kernel_uarg->uspace_uarg);
     149            ((uintptr_t) kernel_uarg->uspace_stack) + STACK_SIZE
     150            - (ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT) + STACK_BIAS),
     151            (uintptr_t) kernel_uarg->uspace_uarg);
    152152
    153153        for (;;)
Note: See TracChangeset for help on using the changeset viewer.