Ignore:
Timestamp:
2006-08-30T11:31:25Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ee454eb
Parents:
0fa6044
Message:

sparc64 work.

  • Modify before_thread_runs_arch() to store addresses of the kernel stack and

userspace window buffer, resp., to registers %g6 and %g7, resp, in the
alternate and interrupt global sets.

  • Modify after_thread_ran_arch() to sample %g7 from the alternate globals.
  • Implement trap handler for spilling register windows into userspace window buffer.
  • Implement assembly language functions to access %g6 and %g7 registers in the alternate sets.
  • Initialize the trap table so that there are now also spill_1_normal, spill_2_normal,

spill_0_other and fill_1_normal handlers. These handlers are used in different situations
and for different purposes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/context.h

    r0fa6044 re11ae91  
    5555
    5656#define context_set(c, _pc, stack, size)                                                                \
    57         (c)->pc = ((uintptr_t) _pc) - 8;                                                                \
    58         (c)->sp = ((uintptr_t) stack) + ALIGN_UP((size), STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA);    \
     57        (c)->pc = ((uintptr_t) _pc) - 8;                                                                \
     58        (c)->sp = ((uintptr_t) stack) + ALIGN_UP((size), STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA);    \
    5959        (c)->fp = -STACK_BIAS;                                                                          \
    6060        (c)->cleanwin = 0
Note: See TracChangeset for help on using the changeset viewer.