11 #define SWIFT_ST 0x00800000
12 #define SWIFT_WP 0x00400000
15 #define SWIFT_BF 0x00200000
16 #define SWIFT_PMC 0x00180000
17 #define SWIFT_PE 0x00040000
18 #define SWIFT_PC 0x00020000
19 #define SWIFT_AP 0x00010000
20 #define SWIFT_AC 0x00008000
21 #define SWIFT_BM 0x00004000
22 #define SWIFT_RC 0x00003c00
23 #define SWIFT_IE 0x00000200
24 #define SWIFT_DE 0x00000100
25 #define SWIFT_SA 0x00000080
26 #define SWIFT_NF 0x00000002
27 #define SWIFT_EN 0x00000001
30 static inline void swift_inv_insn_tag(
unsigned long addr)
32 __asm__ __volatile__(
"sta %%g0, [%0] %1\n\t"
39 static inline void swift_inv_data_tag(
unsigned long addr)
41 __asm__ __volatile__(
"sta %%g0, [%0] %1\n\t"
47 static inline void swift_flush_dcache(
void)
51 for (addr = 0; addr < 0x2000; addr += 0x10)
52 swift_inv_data_tag(addr);
55 static inline void swift_flush_icache(
void)
59 for (addr = 0; addr < 0x4000; addr += 0x20)
60 swift_inv_insn_tag(addr);
63 static inline void swift_idflash_clear(
void)
67 for (addr = 0; addr < 0x2000; addr += 0x10) {
68 swift_inv_insn_tag(addr<<1);
69 swift_inv_data_tag(addr);
74 static inline void swift_flush_page(
unsigned long page)
76 __asm__ __volatile__(
"sta %%g0, [%0] %1\n\t"
82 static inline void swift_flush_segment(
unsigned long addr)
84 __asm__ __volatile__(
"sta %%g0, [%0] %1\n\t"
90 static inline void swift_flush_region(
unsigned long addr)
92 __asm__ __volatile__(
"sta %%g0, [%0] %1\n\t"
98 static inline void swift_flush_context(
void)
100 __asm__ __volatile__(
"sta %%g0, [%%g0] %0\n\t"