diff options
| -rw-r--r-- | sys/ia64/include/ia64_cpu.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/ia64/include/ia64_cpu.h b/sys/ia64/include/ia64_cpu.h index 9e0b5730bdb8..5230ac126e6d 100644 --- a/sys/ia64/include/ia64_cpu.h +++ b/sys/ia64/include/ia64_cpu.h @@ -205,7 +205,7 @@ ia64_tpa(u_int64_t va) static __inline void ia64_ptc_e(u_int64_t v) { - __asm __volatile("ptc.e %0;;" :: "r"(v)); + __asm __volatile("ptc.e %0;; srlz.d;;" :: "r"(v)); } /* @@ -214,7 +214,7 @@ ia64_ptc_e(u_int64_t v) static __inline void ia64_ptc_g(u_int64_t va, u_int64_t log2size) { - __asm __volatile("ptc.g %0,%1;;" :: "r"(va), "r"(log2size)); + __asm __volatile("ptc.g %0,%1;; srlz.d;;" :: "r"(va), "r"(log2size)); } /* @@ -223,7 +223,7 @@ ia64_ptc_g(u_int64_t va, u_int64_t log2size) static __inline void ia64_ptc_ga(u_int64_t va, u_int64_t log2size) { - __asm __volatile("ptc.ga %0,%1;;" :: "r"(va), "r"(log2size)); + __asm __volatile("ptc.ga %0,%1;; srlz.d;;" :: "r"(va), "r"(log2size)); } /* @@ -232,7 +232,7 @@ ia64_ptc_ga(u_int64_t va, u_int64_t log2size) static __inline void ia64_ptc_l(u_int64_t va, u_int64_t log2size) { - __asm __volatile("ptc.l %0,%1;;" :: "r"(va), "r"(log2size)); + __asm __volatile("ptc.l %0,%1;; srlz.d;;" :: "r"(va), "r"(log2size)); } /* @@ -472,7 +472,8 @@ ia64_get_lid(void) static __inline void ia64_set_rr(u_int64_t rrbase, u_int64_t v) { - __asm __volatile("mov rr[%0]=%1" :: "r"(rrbase), "r"(v) : "memory"); + __asm __volatile("mov rr[%0]=%1;; srlz.d;;" + :: "r"(rrbase), "r"(v) : "memory"); } /* |
