|
@@ -99,16 +99,20 @@ extern void paging_init(void);
|
|
|
|
|
|
#define htw_stop() \
|
|
|
do { \
|
|
|
- if (cpu_has_htw) \
|
|
|
+ if (cpu_has_htw) { \
|
|
|
write_c0_pwctl(read_c0_pwctl() & \
|
|
|
~(1 << MIPS_PWCTL_PWEN_SHIFT)); \
|
|
|
+ back_to_back_c0_hazard(); \
|
|
|
+ } \
|
|
|
} while(0)
|
|
|
|
|
|
#define htw_start() \
|
|
|
do { \
|
|
|
- if (cpu_has_htw) \
|
|
|
+ if (cpu_has_htw) { \
|
|
|
write_c0_pwctl(read_c0_pwctl() | \
|
|
|
(1 << MIPS_PWCTL_PWEN_SHIFT)); \
|
|
|
+ back_to_back_c0_hazard(); \
|
|
|
+ } \
|
|
|
} while(0)
|
|
|
|
|
|
|
|
@@ -116,9 +120,7 @@ do { \
|
|
|
do { \
|
|
|
if (cpu_has_htw) { \
|
|
|
htw_stop(); \
|
|
|
- back_to_back_c0_hazard(); \
|
|
|
htw_start(); \
|
|
|
- back_to_back_c0_hazard(); \
|
|
|
} \
|
|
|
} while(0)
|
|
|
|