38#if defined(__FIX_LEON3FT_TN0018)
42#define CCTRL_IP_BIT 15
50.macro TN0018_WAIT_IFLUSH out1 out2
52 ! wait
for pending iflush to complete
53 lda [%g0] ASI_CTRL, \out1
54 srl \out1, CCTRL_IP_BIT, \out2
57 andn \out1, CCTRL_ICS, \out2
60.macro TN0018_WRITE_PSR src
71.macro TN0018_FIX in1 in2
72 .align 0x20 ! align the sta
for performance
73 sta \in2, [%g0] ASI_CTRL ! disable icache
74 nop ! delay
for sta to have effect on rett
75 or %l1, %l1, %l1 ! delay +
catch rf parity error on l1
76 or %l2, %l2, %l2 ! delay +
catch rf parity error on l2
77 sta \in1, [%g0] ASI_CTRL ! re-enable icache after rett
78 nop ! delay ensures insn after gets cached
83.macro TN0018_WAIT_IFLUSH out1 out2
86.macro TN0018_WRITE_PSR src
89.macro TN0018_FIX in1 in2
#define nop()
Definition: sparc.h:281