Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
ttable.h File Reference
#include <asm/utrap.h>
#include <asm/pil.h>

Go to the source code of this file.

Macros

#define BOOT_KERNEL   b sparc64_boot; nop; nop; nop; nop; nop; nop; nop;
 
#define CLEAN_WINDOW
 
#define TRAP(routine)
 
#define TRAP_7INSNS(routine)
 
#define TRAP_SAVEFPU(routine)
 
#define TRAP_NOSAVE(routine)
 
#define TRAP_NOSAVE_7INSNS(routine)
 
#define TRAPTL1(routine)
 
#define TRAP_ARG(routine, arg)
 
#define TRAPTL1_ARG(routine, arg)
 
#define SYSCALL_TRAP(routine, systbl)
 
#define TRAP_UTRAP(handler, lvl)
 
#define LINUX_32BIT_SYSCALL_TRAP   BTRAP(0x110)
 
#define LINUX_64BIT_SYSCALL_TRAP   SYSCALL_TRAP(linux_sparc_syscall, sys_call_table64)
 
#define GETCC_TRAP   TRAP(getcc)
 
#define SETCC_TRAP   TRAP(setcc)
 
#define BREAKPOINT_TRAP   TRAP(breakpoint_trap)
 
#define TRAP_IRQ(routine, level)
 
#define TRAP_NMI_IRQ(routine, level)
 
#define TRAP_IVEC   TRAP_NOSAVE(do_ivec)
 
#define BTRAP(lvl)   TRAP_ARG(bad_trap, lvl)
 
#define BTRAPTL1(lvl)   TRAPTL1_ARG(bad_trap_tl1, lvl)
 
#define FLUSH_WINDOW_TRAP
 
#define KPROBES_TRAP(lvl)   TRAP_ARG(bad_trap, lvl)
 
#define KGDB_TRAP(lvl)   TRAP_ARG(bad_trap, lvl)
 
#define SUN4V_ITSB_MISS
 
#define SUN4V_DTSB_MISS
 
#define SPILL_0_NORMAL
 
#define SPILL_0_NORMAL_ETRAP
 
#define SPILL_1_GENERIC(ASI)
 
#define SPILL_1_GENERIC_ETRAP
 
#define SPILL_1_GENERIC_ETRAP_FIXUP
 
#define SPILL_2_GENERIC(ASI)
 
#define SPILL_2_GENERIC_ETRAP
 
#define SPILL_2_GENERIC_ETRAP_FIXUP
 
#define SPILL_1_NORMAL   SPILL_1_GENERIC(ASI_AIUP)
 
#define SPILL_2_NORMAL   SPILL_2_GENERIC(ASI_AIUP)
 
#define SPILL_3_NORMAL   SPILL_0_NORMAL
 
#define SPILL_4_NORMAL   SPILL_0_NORMAL
 
#define SPILL_5_NORMAL   SPILL_0_NORMAL
 
#define SPILL_6_NORMAL   SPILL_0_NORMAL
 
#define SPILL_7_NORMAL   SPILL_0_NORMAL
 
#define SPILL_0_OTHER   SPILL_0_NORMAL
 
#define SPILL_1_OTHER   SPILL_1_GENERIC(ASI_AIUS)
 
#define SPILL_2_OTHER   SPILL_2_GENERIC(ASI_AIUS)
 
#define SPILL_3_OTHER   SPILL_3_NORMAL
 
#define SPILL_4_OTHER   SPILL_4_NORMAL
 
#define SPILL_5_OTHER   SPILL_5_NORMAL
 
#define SPILL_6_OTHER   SPILL_6_NORMAL
 
#define SPILL_7_OTHER   SPILL_7_NORMAL
 
#define FILL_0_NORMAL
 
#define FILL_0_NORMAL_RTRAP
 
#define FILL_1_GENERIC(ASI)
 
#define FILL_1_GENERIC_RTRAP
 
#define FILL_2_GENERIC(ASI)
 
#define FILL_2_GENERIC_RTRAP
 
#define FILL_1_NORMAL   FILL_1_GENERIC(ASI_AIUP)
 
#define FILL_2_NORMAL   FILL_2_GENERIC(ASI_AIUP)
 
#define FILL_3_NORMAL   FILL_0_NORMAL
 
#define FILL_4_NORMAL   FILL_0_NORMAL
 
#define FILL_5_NORMAL   FILL_0_NORMAL
 
#define FILL_6_NORMAL   FILL_0_NORMAL
 
#define FILL_7_NORMAL   FILL_0_NORMAL
 
#define FILL_0_OTHER   FILL_0_NORMAL
 
#define FILL_1_OTHER   FILL_1_GENERIC(ASI_AIUS)
 
#define FILL_2_OTHER   FILL_2_GENERIC(ASI_AIUS)
 
#define FILL_3_OTHER   FILL_3_NORMAL
 
#define FILL_4_OTHER   FILL_4_NORMAL
 
#define FILL_5_OTHER   FILL_5_NORMAL
 
#define FILL_6_OTHER   FILL_6_NORMAL
 
#define FILL_7_OTHER   FILL_7_NORMAL
 

Macro Definition Documentation

#define BOOT_KERNEL   b sparc64_boot; nop; nop; nop; nop; nop; nop; nop;

Definition at line 11 of file ttable.h.

#define BREAKPOINT_TRAP   TRAP(breakpoint_trap)

Definition at line 121 of file ttable.h.

#define BTRAP (   lvl)    TRAP_ARG(bad_trap, lvl)

Definition at line 169 of file ttable.h.

#define BTRAPTL1 (   lvl)    TRAPTL1_ARG(bad_trap_tl1, lvl)

Definition at line 171 of file ttable.h.

#define CLEAN_WINDOW
Value:
rdpr %cleanwin, %l0; add %l0, 1, %l0; \
wrpr %l0, 0x0, %cleanwin; \
clr %o0; clr %o1; clr %o2; clr %o3; \
clr %o4; clr %o5; clr %o6; clr %o7; \
clr %l0; clr %l1; clr %l2; clr %l3; \
clr %l4; clr %l5; clr %l6; clr %l7; \
retry; \

Definition at line 14 of file ttable.h.

#define FILL_0_NORMAL
Value:
ldx [%sp + STACK_BIAS + 0x00], %l0; \
ldx [%sp + STACK_BIAS + 0x08], %l1; \
ldx [%sp + STACK_BIAS + 0x10], %l2; \
ldx [%sp + STACK_BIAS + 0x18], %l3; \
ldx [%sp + STACK_BIAS + 0x20], %l4; \
ldx [%sp + STACK_BIAS + 0x28], %l5; \
ldx [%sp + STACK_BIAS + 0x30], %l6; \
ldx [%sp + STACK_BIAS + 0x38], %l7; \
ldx [%sp + STACK_BIAS + 0x40], %i0; \
ldx [%sp + STACK_BIAS + 0x48], %i1; \
ldx [%sp + STACK_BIAS + 0x50], %i2; \
ldx [%sp + STACK_BIAS + 0x58], %i3; \
ldx [%sp + STACK_BIAS + 0x60], %i4; \
ldx [%sp + STACK_BIAS + 0x68], %i5; \
ldx [%sp + STACK_BIAS + 0x70], %i6; \
ldx [%sp + STACK_BIAS + 0x78], %i7; \
restored; retry; nop; nop; nop; nop; nop; nop; \
nop; nop; nop; nop; nop; nop; nop; nop;

Definition at line 490 of file ttable.h.

#define FILL_0_NORMAL_RTRAP
Value:
kern_rtt_fill: \
rdpr %cwp, %g1; \
sub %g1, 1, %g1; \
wrpr %g1, %cwp; \
ldx [%sp + STACK_BIAS + 0x00], %l0; \
ldx [%sp + STACK_BIAS + 0x08], %l1; \
ldx [%sp + STACK_BIAS + 0x10], %l2; \
ldx [%sp + STACK_BIAS + 0x18], %l3; \
ldx [%sp + STACK_BIAS + 0x20], %l4; \
ldx [%sp + STACK_BIAS + 0x28], %l5; \
ldx [%sp + STACK_BIAS + 0x30], %l6; \
ldx [%sp + STACK_BIAS + 0x38], %l7; \
ldx [%sp + STACK_BIAS + 0x40], %i0; \
ldx [%sp + STACK_BIAS + 0x48], %i1; \
ldx [%sp + STACK_BIAS + 0x50], %i2; \
ldx [%sp + STACK_BIAS + 0x58], %i3; \
ldx [%sp + STACK_BIAS + 0x60], %i4; \
ldx [%sp + STACK_BIAS + 0x68], %i5; \
ldx [%sp + STACK_BIAS + 0x70], %i6; \
ldx [%sp + STACK_BIAS + 0x78], %i7; \
restored; \
add %g1, 1, %g1; \
ba,pt %xcc, kern_rtt_restore; \
wrpr %g1, %cwp; \
nop; nop; nop; nop; nop; \
nop; nop; nop; nop;

Definition at line 510 of file ttable.h.

#define FILL_0_OTHER   FILL_0_NORMAL

Definition at line 668 of file ttable.h.

#define FILL_1_GENERIC (   ASI)
Value:
add %sp, STACK_BIAS + 0x00, %g1; \
ldxa [%g1 + %g0] ASI, %l0; \
mov 0x08, %g2; \
mov 0x10, %g3; \
ldxa [%g1 + %g2] ASI, %l1; \
mov 0x18, %g5; \
ldxa [%g1 + %g3] ASI, %l2; \
ldxa [%g1 + %g5] ASI, %l3; \
add %g1, 0x20, %g1; \
ldxa [%g1 + %g0] ASI, %l4; \
ldxa [%g1 + %g2] ASI, %l5; \
ldxa [%g1 + %g3] ASI, %l6; \
ldxa [%g1 + %g5] ASI, %l7; \
add %g1, 0x20, %g1; \
ldxa [%g1 + %g0] ASI, %i0; \
ldxa [%g1 + %g2] ASI, %i1; \
ldxa [%g1 + %g3] ASI, %i2; \
ldxa [%g1 + %g5] ASI, %i3; \
add %g1, 0x20, %g1; \
ldxa [%g1 + %g0] ASI, %i4; \
ldxa [%g1 + %g2] ASI, %i5; \
ldxa [%g1 + %g3] ASI, %i6; \
ldxa [%g1 + %g5] ASI, %i7; \
restored; \
retry; nop; nop; nop; nop; \
b,a,pt %xcc, fill_fixup_dax; \
b,a,pt %xcc, fill_fixup_mna; \
b,a,pt %xcc, fill_fixup;

Definition at line 540 of file ttable.h.

#define FILL_1_GENERIC_RTRAP
Value:
user_rtt_fill_64bit: \
ldxa [%sp + STACK_BIAS + 0x00] %asi, %l0; \
ldxa [%sp + STACK_BIAS + 0x08] %asi, %l1; \
ldxa [%sp + STACK_BIAS + 0x10] %asi, %l2; \
ldxa [%sp + STACK_BIAS + 0x18] %asi, %l3; \
ldxa [%sp + STACK_BIAS + 0x20] %asi, %l4; \
ldxa [%sp + STACK_BIAS + 0x28] %asi, %l5; \
ldxa [%sp + STACK_BIAS + 0x30] %asi, %l6; \
ldxa [%sp + STACK_BIAS + 0x38] %asi, %l7; \
ldxa [%sp + STACK_BIAS + 0x40] %asi, %i0; \
ldxa [%sp + STACK_BIAS + 0x48] %asi, %i1; \
ldxa [%sp + STACK_BIAS + 0x50] %asi, %i2; \
ldxa [%sp + STACK_BIAS + 0x58] %asi, %i3; \
ldxa [%sp + STACK_BIAS + 0x60] %asi, %i4; \
ldxa [%sp + STACK_BIAS + 0x68] %asi, %i5; \
ldxa [%sp + STACK_BIAS + 0x70] %asi, %i6; \
ldxa [%sp + STACK_BIAS + 0x78] %asi, %i7; \
ba,pt %xcc, user_rtt_pre_restore; \
restored; \
nop; nop; nop; nop; nop; nop; \
nop; nop; nop; nop; nop; \
ba,a,pt %xcc, user_rtt_fill_fixup; \
ba,a,pt %xcc, user_rtt_fill_fixup; \
ba,a,pt %xcc, user_rtt_fill_fixup;

Definition at line 570 of file ttable.h.

#define FILL_1_NORMAL   FILL_1_GENERIC(ASI_AIUP)

Definition at line 660 of file ttable.h.

#define FILL_1_OTHER   FILL_1_GENERIC(ASI_AIUS)

Definition at line 669 of file ttable.h.

#define FILL_2_GENERIC (   ASI)
Value:
and %sp, 1, %g3; \
brnz,pn %g3, (. - (128 + 4)); \
srl %sp, 0, %sp; \
lduwa [%sp + %g0] ASI, %l0; \
mov 0x04, %g2; \
mov 0x08, %g3; \
lduwa [%sp + %g2] ASI, %l1; \
mov 0x0c, %g5; \
lduwa [%sp + %g3] ASI, %l2; \
lduwa [%sp + %g5] ASI, %l3; \
add %sp, 0x10, %g1; \
lduwa [%g1 + %g0] ASI, %l4; \
lduwa [%g1 + %g2] ASI, %l5; \
lduwa [%g1 + %g3] ASI, %l6; \
lduwa [%g1 + %g5] ASI, %l7; \
add %g1, 0x10, %g1; \
lduwa [%g1 + %g0] ASI, %i0; \
lduwa [%g1 + %g2] ASI, %i1; \
lduwa [%g1 + %g3] ASI, %i2; \
lduwa [%g1 + %g5] ASI, %i3; \
add %g1, 0x10, %g1; \
lduwa [%g1 + %g0] ASI, %i4; \
lduwa [%g1 + %g2] ASI, %i5; \
lduwa [%g1 + %g3] ASI, %i6; \
lduwa [%g1 + %g5] ASI, %i7; \
restored; \
retry; nop; nop; \
b,a,pt %xcc, fill_fixup_dax; \
b,a,pt %xcc, fill_fixup_mna; \
b,a,pt %xcc, fill_fixup;

Definition at line 598 of file ttable.h.

#define FILL_2_GENERIC_RTRAP
Value:
user_rtt_fill_32bit: \
and %sp, 1, %g3; \
brnz,pn %g3, user_rtt_fill_64bit; \
srl %sp, 0, %sp; \
lduwa [%sp + 0x00] %asi, %l0; \
lduwa [%sp + 0x04] %asi, %l1; \
lduwa [%sp + 0x08] %asi, %l2; \
lduwa [%sp + 0x0c] %asi, %l3; \
lduwa [%sp + 0x10] %asi, %l4; \
lduwa [%sp + 0x14] %asi, %l5; \
lduwa [%sp + 0x18] %asi, %l6; \
lduwa [%sp + 0x1c] %asi, %l7; \
lduwa [%sp + 0x20] %asi, %i0; \
lduwa [%sp + 0x24] %asi, %i1; \
lduwa [%sp + 0x28] %asi, %i2; \
lduwa [%sp + 0x2c] %asi, %i3; \
lduwa [%sp + 0x30] %asi, %i4; \
lduwa [%sp + 0x34] %asi, %i5; \
lduwa [%sp + 0x38] %asi, %i6; \
lduwa [%sp + 0x3c] %asi, %i7; \
ba,pt %xcc, user_rtt_pre_restore; \
restored; \
nop; nop; nop; nop; nop; \
nop; nop; nop; \
ba,a,pt %xcc, user_rtt_fill_fixup; \
ba,a,pt %xcc, user_rtt_fill_fixup; \
ba,a,pt %xcc, user_rtt_fill_fixup;

Definition at line 630 of file ttable.h.

#define FILL_2_NORMAL   FILL_2_GENERIC(ASI_AIUP)

Definition at line 661 of file ttable.h.

#define FILL_2_OTHER   FILL_2_GENERIC(ASI_AIUS)

Definition at line 670 of file ttable.h.

#define FILL_3_NORMAL   FILL_0_NORMAL

Definition at line 662 of file ttable.h.

#define FILL_3_OTHER   FILL_3_NORMAL

Definition at line 671 of file ttable.h.

#define FILL_4_NORMAL   FILL_0_NORMAL

Definition at line 663 of file ttable.h.

#define FILL_4_OTHER   FILL_4_NORMAL

Definition at line 672 of file ttable.h.

#define FILL_5_NORMAL   FILL_0_NORMAL

Definition at line 664 of file ttable.h.

#define FILL_5_OTHER   FILL_5_NORMAL

Definition at line 673 of file ttable.h.

#define FILL_6_NORMAL   FILL_0_NORMAL

Definition at line 665 of file ttable.h.

#define FILL_6_OTHER   FILL_6_NORMAL

Definition at line 674 of file ttable.h.

#define FILL_7_NORMAL   FILL_0_NORMAL

Definition at line 666 of file ttable.h.

#define FILL_7_OTHER   FILL_7_NORMAL

Definition at line 675 of file ttable.h.

#define FLUSH_WINDOW_TRAP
Value:
ba,pt %xcc, etrap; \
rd %pc, %g7; \
flushw; \
ldx [%sp + PTREGS_OFF + PT_V9_TNPC], %l1; \
add %l1, 4, %l2; \
stx %l1, [%sp + PTREGS_OFF + PT_V9_TPC]; \
ba,pt %xcc, rtrap; \
stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC];

Definition at line 173 of file ttable.h.

#define GETCC_TRAP   TRAP(getcc)

Definition at line 119 of file ttable.h.

#define KGDB_TRAP (   lvl)    TRAP_ARG(bad_trap, lvl)

Definition at line 192 of file ttable.h.

#define KPROBES_TRAP (   lvl)    TRAP_ARG(bad_trap, lvl)

Definition at line 186 of file ttable.h.

#define LINUX_32BIT_SYSCALL_TRAP   BTRAP(0x110)

Definition at line 116 of file ttable.h.

#define LINUX_64BIT_SYSCALL_TRAP   SYSCALL_TRAP(linux_sparc_syscall, sys_call_table64)

Definition at line 118 of file ttable.h.

#define SETCC_TRAP   TRAP(setcc)

Definition at line 120 of file ttable.h.

#define SPILL_0_NORMAL
Value:
stx %l0, [%sp + STACK_BIAS + 0x00]; \
stx %l1, [%sp + STACK_BIAS + 0x08]; \
stx %l2, [%sp + STACK_BIAS + 0x10]; \
stx %l3, [%sp + STACK_BIAS + 0x18]; \
stx %l4, [%sp + STACK_BIAS + 0x20]; \
stx %l5, [%sp + STACK_BIAS + 0x28]; \
stx %l6, [%sp + STACK_BIAS + 0x30]; \
stx %l7, [%sp + STACK_BIAS + 0x38]; \
stx %i0, [%sp + STACK_BIAS + 0x40]; \
stx %i1, [%sp + STACK_BIAS + 0x48]; \
stx %i2, [%sp + STACK_BIAS + 0x50]; \
stx %i3, [%sp + STACK_BIAS + 0x58]; \
stx %i4, [%sp + STACK_BIAS + 0x60]; \
stx %i5, [%sp + STACK_BIAS + 0x68]; \
stx %i6, [%sp + STACK_BIAS + 0x70]; \
stx %i7, [%sp + STACK_BIAS + 0x78]; \
saved; retry; nop; nop; nop; nop; nop; nop; \
nop; nop; nop; nop; nop; nop; nop; nop;

Definition at line 234 of file ttable.h.

#define SPILL_0_NORMAL_ETRAP
Value:
etrap_kernel_spill: \
stx %l0, [%sp + STACK_BIAS + 0x00]; \
stx %l1, [%sp + STACK_BIAS + 0x08]; \
stx %l2, [%sp + STACK_BIAS + 0x10]; \
stx %l3, [%sp + STACK_BIAS + 0x18]; \
stx %l4, [%sp + STACK_BIAS + 0x20]; \
stx %l5, [%sp + STACK_BIAS + 0x28]; \
stx %l6, [%sp + STACK_BIAS + 0x30]; \
stx %l7, [%sp + STACK_BIAS + 0x38]; \
stx %i0, [%sp + STACK_BIAS + 0x40]; \
stx %i1, [%sp + STACK_BIAS + 0x48]; \
stx %i2, [%sp + STACK_BIAS + 0x50]; \
stx %i3, [%sp + STACK_BIAS + 0x58]; \
stx %i4, [%sp + STACK_BIAS + 0x60]; \
stx %i5, [%sp + STACK_BIAS + 0x68]; \
stx %i6, [%sp + STACK_BIAS + 0x70]; \
stx %i7, [%sp + STACK_BIAS + 0x78]; \
saved; \
sub %g1, 2, %g1; \
ba,pt %xcc, etrap_save; \
wrpr %g1, %cwp; \
nop; nop; nop; nop; nop; nop; nop; nop; \
nop; nop; nop; nop;

Definition at line 254 of file ttable.h.

#define SPILL_0_OTHER   SPILL_0_NORMAL

Definition at line 480 of file ttable.h.

#define SPILL_1_GENERIC (   ASI)
Value:
add %sp, STACK_BIAS + 0x00, %g1; \
stxa %l0, [%g1 + %g0] ASI; \
mov 0x08, %g3; \
stxa %l1, [%g1 + %g3] ASI; \
add %g1, 0x10, %g1; \
stxa %l2, [%g1 + %g0] ASI; \
stxa %l3, [%g1 + %g3] ASI; \
add %g1, 0x10, %g1; \
stxa %l4, [%g1 + %g0] ASI; \
stxa %l5, [%g1 + %g3] ASI; \
add %g1, 0x10, %g1; \
stxa %l6, [%g1 + %g0] ASI; \
stxa %l7, [%g1 + %g3] ASI; \
add %g1, 0x10, %g1; \
stxa %i0, [%g1 + %g0] ASI; \
stxa %i1, [%g1 + %g3] ASI; \
add %g1, 0x10, %g1; \
stxa %i2, [%g1 + %g0] ASI; \
stxa %i3, [%g1 + %g3] ASI; \
add %g1, 0x10, %g1; \
stxa %i4, [%g1 + %g0] ASI; \
stxa %i5, [%g1 + %g3] ASI; \
add %g1, 0x10, %g1; \
stxa %i6, [%g1 + %g0] ASI; \
stxa %i7, [%g1 + %g3] ASI; \
saved; \
retry; nop; nop; \
b,a,pt %xcc, spill_fixup_dax; \
b,a,pt %xcc, spill_fixup_mna; \
b,a,pt %xcc, spill_fixup;

Definition at line 280 of file ttable.h.

#define SPILL_1_GENERIC_ETRAP
Value:
etrap_user_spill_64bit: \
stxa %l0, [%sp + STACK_BIAS + 0x00] %asi; \
stxa %l1, [%sp + STACK_BIAS + 0x08] %asi; \
stxa %l2, [%sp + STACK_BIAS + 0x10] %asi; \
stxa %l3, [%sp + STACK_BIAS + 0x18] %asi; \
stxa %l4, [%sp + STACK_BIAS + 0x20] %asi; \
stxa %l5, [%sp + STACK_BIAS + 0x28] %asi; \
stxa %l6, [%sp + STACK_BIAS + 0x30] %asi; \
stxa %l7, [%sp + STACK_BIAS + 0x38] %asi; \
stxa %i0, [%sp + STACK_BIAS + 0x40] %asi; \
stxa %i1, [%sp + STACK_BIAS + 0x48] %asi; \
stxa %i2, [%sp + STACK_BIAS + 0x50] %asi; \
stxa %i3, [%sp + STACK_BIAS + 0x58] %asi; \
stxa %i4, [%sp + STACK_BIAS + 0x60] %asi; \
stxa %i5, [%sp + STACK_BIAS + 0x68] %asi; \
stxa %i6, [%sp + STACK_BIAS + 0x70] %asi; \
stxa %i7, [%sp + STACK_BIAS + 0x78] %asi; \
saved; \
sub %g1, 2, %g1; \
ba,pt %xcc, etrap_save; \
wrpr %g1, %cwp; \
nop; nop; nop; nop; nop; \
nop; nop; nop; nop; \
ba,a,pt %xcc, etrap_spill_fixup_64bit; \
ba,a,pt %xcc, etrap_spill_fixup_64bit; \
ba,a,pt %xcc, etrap_spill_fixup_64bit;

Definition at line 312 of file ttable.h.

#define SPILL_1_GENERIC_ETRAP_FIXUP

Definition at line 340 of file ttable.h.

#define SPILL_1_NORMAL   SPILL_1_GENERIC(ASI_AIUP)

Definition at line 472 of file ttable.h.

#define SPILL_1_OTHER   SPILL_1_GENERIC(ASI_AIUS)

Definition at line 481 of file ttable.h.

#define SPILL_2_GENERIC (   ASI)

Definition at line 374 of file ttable.h.

#define SPILL_2_GENERIC_ETRAP
Value:
etrap_user_spill_32bit: \
and %sp, 1, %g3; \
brnz,pn %g3, etrap_user_spill_64bit; \
srl %sp, 0, %sp; \
stwa %l0, [%sp + 0x00] %asi; \
stwa %l1, [%sp + 0x04] %asi; \
stwa %l2, [%sp + 0x08] %asi; \
stwa %l3, [%sp + 0x0c] %asi; \
stwa %l4, [%sp + 0x10] %asi; \
stwa %l5, [%sp + 0x14] %asi; \
stwa %l6, [%sp + 0x18] %asi; \
stwa %l7, [%sp + 0x1c] %asi; \
stwa %i0, [%sp + 0x20] %asi; \
stwa %i1, [%sp + 0x24] %asi; \
stwa %i2, [%sp + 0x28] %asi; \
stwa %i3, [%sp + 0x2c] %asi; \
stwa %i4, [%sp + 0x30] %asi; \
stwa %i5, [%sp + 0x34] %asi; \
stwa %i6, [%sp + 0x38] %asi; \
stwa %i7, [%sp + 0x3c] %asi; \
saved; \
sub %g1, 2, %g1; \
ba,pt %xcc, etrap_save; \
wrpr %g1, %cwp; \
nop; nop; nop; nop; \
nop; nop; \
ba,a,pt %xcc, etrap_spill_fixup_32bit; \
ba,a,pt %xcc, etrap_spill_fixup_32bit; \
ba,a,pt %xcc, etrap_spill_fixup_32bit;

Definition at line 408 of file ttable.h.

#define SPILL_2_GENERIC_ETRAP_FIXUP

Definition at line 439 of file ttable.h.

#define SPILL_2_NORMAL   SPILL_2_GENERIC(ASI_AIUP)

Definition at line 473 of file ttable.h.

#define SPILL_2_OTHER   SPILL_2_GENERIC(ASI_AIUS)

Definition at line 482 of file ttable.h.

#define SPILL_3_NORMAL   SPILL_0_NORMAL

Definition at line 474 of file ttable.h.

#define SPILL_3_OTHER   SPILL_3_NORMAL

Definition at line 483 of file ttable.h.

#define SPILL_4_NORMAL   SPILL_0_NORMAL

Definition at line 475 of file ttable.h.

#define SPILL_4_OTHER   SPILL_4_NORMAL

Definition at line 484 of file ttable.h.

#define SPILL_5_NORMAL   SPILL_0_NORMAL

Definition at line 476 of file ttable.h.

#define SPILL_5_OTHER   SPILL_5_NORMAL

Definition at line 485 of file ttable.h.

#define SPILL_6_NORMAL   SPILL_0_NORMAL

Definition at line 477 of file ttable.h.

#define SPILL_6_OTHER   SPILL_6_NORMAL

Definition at line 486 of file ttable.h.

#define SPILL_7_NORMAL   SPILL_0_NORMAL

Definition at line 478 of file ttable.h.

#define SPILL_7_OTHER   SPILL_7_NORMAL

Definition at line 487 of file ttable.h.

#define SUN4V_DTSB_MISS
Value:
ldxa [%g0] ASI_SCRATCHPAD, %g2; \
ldx [%g2 + HV_FAULT_D_ADDR_OFFSET], %g4; \
ldx [%g2 + HV_FAULT_D_CTX_OFFSET], %g5; \
srlx %g4, 22, %g6; \
ba,pt %xcc, sun4v_dtsb_miss; \
nop; \
nop; \
nop;

Definition at line 205 of file ttable.h.

#define SUN4V_ITSB_MISS
Value:
ldxa [%g0] ASI_SCRATCHPAD, %g2; \
ldx [%g2 + HV_FAULT_I_ADDR_OFFSET], %g4; \
ldx [%g2 + HV_FAULT_I_CTX_OFFSET], %g5; \
srlx %g4, 22, %g6; \
ba,pt %xcc, sun4v_itsb_miss; \
nop; \
nop; \
nop;

Definition at line 195 of file ttable.h.

#define SYSCALL_TRAP (   routine,
  systbl 
)
Value:
rdpr %pil, %g2; \
mov TSTATE_SYSCALL, %g3; \
sethi %hi(109f), %g7; \
ba,pt %xcc, etrap_syscall; \
109: or %g7, %lo(109b), %g7; \
sethi %hi(systbl), %l7; \
ba,pt %xcc, routine; \
or %l7, %lo(systbl), %l7;

Definition at line 93 of file ttable.h.

#define TRAP (   routine)
Value:
sethi %hi(109f), %g7; \
ba,pt %xcc, etrap; \
109: or %g7, %lo(109b), %g7; \
call routine; \
add %sp, PTREGS_OFF, %o0; \
ba,pt %xcc, rtrap; \
nop; \
nop;

Definition at line 24 of file ttable.h.

#define TRAP_7INSNS (   routine)
Value:
sethi %hi(109f), %g7; \
ba,pt %xcc, etrap; \
109: or %g7, %lo(109b), %g7; \
call routine; \
add %sp, PTREGS_OFF, %o0; \
ba,pt %xcc, rtrap; \
nop;

Definition at line 34 of file ttable.h.

#define TRAP_ARG (   routine,
  arg 
)
Value:
sethi %hi(109f), %g7; \
ba,pt %xcc, etrap; \
109: or %g7, %lo(109b), %g7; \
add %sp, PTREGS_OFF, %o0; \
call routine; \
mov arg, %o1; \
ba,pt %xcc, rtrap; \
nop;

Definition at line 73 of file ttable.h.

#define TRAP_IRQ (   routine,
  level 
)
Value:
rdpr %pil, %g2; \
wrpr %g0, PIL_NORMAL_MAX, %pil; \
ba,pt %xcc, etrap_irq; \
rd %pc, %g7; \
mov level, %o0; \
call routine; \
add %sp, PTREGS_OFF, %o1; \
ba,a,pt %xcc, rtrap_irq;

Definition at line 145 of file ttable.h.

#define TRAP_IVEC   TRAP_NOSAVE(do_ivec)

Definition at line 167 of file ttable.h.

#define TRAP_NMI_IRQ (   routine,
  level 
)
Value:
rdpr %pil, %g2; \
wrpr %g0, PIL_NMI, %pil; \
ba,pt %xcc, etrap_irq; \
rd %pc, %g7; \
mov level, %o0; \
call routine; \
add %sp, PTREGS_OFF, %o1; \
ba,a,pt %xcc, rtrap_nmi;

Definition at line 157 of file ttable.h.

#define TRAP_NOSAVE (   routine)
Value:
ba,pt %xcc, routine; \
nop; \
nop; nop; nop; nop; nop; nop;

Definition at line 53 of file ttable.h.

#define TRAP_NOSAVE_7INSNS (   routine)
Value:
ba,pt %xcc, routine; \
nop; \
nop; nop; nop; nop; nop;

Definition at line 58 of file ttable.h.

#define TRAP_SAVEFPU (   routine)
Value:
sethi %hi(109f), %g7; \
ba,pt %xcc, do_fptrap; \
109: or %g7, %lo(109b), %g7; \
call routine; \
add %sp, PTREGS_OFF, %o0; \
ba,pt %xcc, rtrap; \
nop; \
nop;

Definition at line 43 of file ttable.h.

#define TRAP_UTRAP (   handler,
  lvl 
)
Value:
mov handler, %g3; \
ba,pt %xcc, utrap_trap; \
mov lvl, %g4; \
nop; \
nop; \
nop; \
nop; \
nop;

Definition at line 103 of file ttable.h.

#define TRAPTL1 (   routine)
Value:
sethi %hi(109f), %g7; \
ba,pt %xcc, etraptl1; \
109: or %g7, %lo(109b), %g7; \
call routine; \
add %sp, PTREGS_OFF, %o0; \
ba,pt %xcc, rtrap; \
nop; \
nop;

Definition at line 63 of file ttable.h.

#define TRAPTL1_ARG (   routine,
  arg 
)
Value:
sethi %hi(109f), %g7; \
ba,pt %xcc, etraptl1; \
109: or %g7, %lo(109b), %g7; \
add %sp, PTREGS_OFF, %o0; \
call routine; \
mov arg, %o1; \
ba,pt %xcc, rtrap; \
nop;

Definition at line 83 of file ttable.h.