Rev 1822 | Rev 1860 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1822 | Rev 1854 | ||
---|---|---|---|
Line 49... | Line 49... | ||
49 | static inline void flush(void) |
49 | static inline void flush(void) |
50 | { |
50 | { |
51 | /* |
51 | /* |
52 | * The FLUSH instruction takes address parameter. |
52 | * The FLUSH instruction takes address parameter. |
53 | * As such, it may trap if the address is not found in DTLB. |
53 | * As such, it may trap if the address is not found in DTLB. |
- | 54 | * |
|
54 | * However, JPS1 implementations are free to ignore the trap. |
55 | * The entire kernel text is mapped by a locked ITLB and |
- | 56 | * DTLB entries. Therefore, when this function is called, |
|
- | 57 | * the %o7 register will always be in the range mapped by |
|
- | 58 | * DTLB. |
|
55 | */ |
59 | */ |
56 | 60 | ||
57 | __asm__ volatile ("flush %0\n" :: "r" (0x400000)); |
61 | __asm__ volatile ("flush %o7\n"); |
58 | } |
62 | } |
59 | 63 | ||
60 | /** Memory Barrier instruction. */ |
64 | /** Memory Barrier instruction. */ |
61 | static inline void membar(void) |
65 | static inline void membar(void) |
62 | { |
66 | { |