Changeset b482287 in mainline
- Timestamp:
- 2014-09-06T09:50:00Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f3831af
- Parents:
- 50805c9
- Location:
- kernel/arch/sparc64
- Files:
-
- 1 added
- 1 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/Makefile.inc
r50805c9 rb482287 109 109 110 110 ARCH_AUTOGENS_AG = \ 111 arch/$(KARCH)/include/arch/istate_struct.ag 111 arch/$(KARCH)/include/arch/istate_struct.ag \ 112 arch/$(KARCH)/include/arch/context_struct.ag 112 113 -
kernel/arch/sparc64/include/arch/context.h
r50805c9 rb482287 37 37 38 38 #include <arch/stack.h> 39 #include <arch/context_struct.h> 39 40 #include <typedefs.h> 40 41 #include <align.h> … … 50 51 } while (0) 51 52 52 /*53 * Save only registers that must be preserved across54 * function calls.55 */56 typedef struct {57 uintptr_t sp; /* %o6 */58 uintptr_t pc; /* %o7 */59 uint64_t i0;60 uint64_t i1;61 uint64_t i2;62 uint64_t i3;63 uint64_t i4;64 uint64_t i5;65 uintptr_t fp; /* %i6 */66 uintptr_t i7;67 uint64_t l0;68 uint64_t l1;69 uint64_t l2;70 uint64_t l3;71 uint64_t l4;72 uint64_t l5;73 uint64_t l6;74 uint64_t l7;75 ipl_t ipl;76 } context_t;77 78 53 #endif 79 54 -
kernel/arch/sparc64/src/context.S
r50805c9 rb482287 27 27 # 28 28 29 #include <arch/context_ offset.h>29 #include <arch/context_struct.h> 30 30 #include <arch/arch.h> 31 31 #include <arch/regdef.h> … … 47 47 flushw 48 48 49 CONTEXT_SAVE_ARCH_CORE %o0 49 stx %sp, [%o0 + CONTEXT_OFFSET_SP] 50 stx %o7, [%o0 + CONTEXT_OFFSET_PC] 51 stx %i0, [%o0 + CONTEXT_OFFSET_I0] 52 stx %i1, [%o0 + CONTEXT_OFFSET_I1] 53 stx %i2, [%o0 + CONTEXT_OFFSET_I2] 54 stx %i3, [%o0 + CONTEXT_OFFSET_I3] 55 stx %i4, [%o0 + CONTEXT_OFFSET_I4] 56 stx %i5, [%o0 + CONTEXT_OFFSET_I5] 57 stx %fp, [%o0 + CONTEXT_OFFSET_FP] 58 stx %i7, [%o0 + CONTEXT_OFFSET_I7] 59 stx %l0, [%o0 + CONTEXT_OFFSET_L0] 60 stx %l1, [%o0 + CONTEXT_OFFSET_L1] 61 stx %l2, [%o0 + CONTEXT_OFFSET_L2] 62 stx %l3, [%o0 + CONTEXT_OFFSET_L3] 63 stx %l4, [%o0 + CONTEXT_OFFSET_L4] 64 stx %l5, [%o0 + CONTEXT_OFFSET_L5] 65 stx %l6, [%o0 + CONTEXT_OFFSET_L6] 66 stx %l7, [%o0 + CONTEXT_OFFSET_L7] 50 67 retl 51 68 mov 1, %o0 ! context_save_arch returns 1 … … 69 86 wrpr %l0, %pstate 70 87 71 CONTEXT_RESTORE_ARCH_CORE %o0 88 ldx [%o0 + CONTEXT_OFFSET_SP], %sp 89 ldx [%o0 + CONTEXT_OFFSET_PC], %o7 90 ldx [%o0 + CONTEXT_OFFSET_I0], %i0 91 ldx [%o0 + CONTEXT_OFFSET_I1], %i1 92 ldx [%o0 + CONTEXT_OFFSET_I2], %i2 93 ldx [%o0 + CONTEXT_OFFSET_I3], %i3 94 ldx [%o0 + CONTEXT_OFFSET_I4], %i4 95 ldx [%o0 + CONTEXT_OFFSET_I5], %i5 96 ldx [%o0 + CONTEXT_OFFSET_FP], %fp 97 ldx [%o0 + CONTEXT_OFFSET_I7], %i7 98 ldx [%o0 + CONTEXT_OFFSET_L0], %l0 99 ldx [%o0 + CONTEXT_OFFSET_L1], %l1 100 ldx [%o0 + CONTEXT_OFFSET_L2], %l2 101 ldx [%o0 + CONTEXT_OFFSET_L3], %l3 102 ldx [%o0 + CONTEXT_OFFSET_L4], %l4 103 ldx [%o0 + CONTEXT_OFFSET_L5], %l5 104 ldx [%o0 + CONTEXT_OFFSET_L6], %l6 105 ldx [%o0 + CONTEXT_OFFSET_L7], %l7 72 106 retl 73 107 xor %o0, %o0, %o0 ! context_restore_arch returns 0 -
kernel/arch/sparc64/src/sun4u/start.S
r50805c9 rb482287 39 39 40 40 #ifdef CONFIG_SMP 41 #include <arch/context_ offset.h>41 #include <arch/context_struct.h> 42 42 #endif 43 43 … … 356 356 */ 357 357 set ctx, %g1 358 add %g1, OFFSET_SP, %g1358 add %g1, CONTEXT_OFFSET_SP, %g1 359 359 ldx [%g1], %o6 360 360 -
kernel/arch/sparc64/src/sun4v/start.S
r50805c9 rb482287 31 31 #include <arch/stack.h> 32 32 #include <arch/regdef.h> 33 #include <arch/context_ offset.h>33 #include <arch/context_struct.h> 34 34 #include <arch/sun4v/regdef.h> 35 35 #include <arch/sun4v/hypercall.h> … … 291 291 */ 292 292 set ctx, %g1 293 add %g1, OFFSET_SP, %g1293 add %g1, CONTEXT_OFFSET_SP, %g1 294 294 ldx [%g1], %o6 295 295
Note:
See TracChangeset
for help on using the changeset viewer.