From 378749743ca1fac6b68eb28df8572ab57feee791 Mon Sep 17 00:00:00 2001 From: Doug Rabson Date: Tue, 23 Oct 2001 10:20:04 +0000 Subject: [PATCH] Add data serialisations after ptc and mov to rr[] instructions. --- sys/ia64/include/ia64_cpu.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/ia64/include/ia64_cpu.h b/sys/ia64/include/ia64_cpu.h index 9e0b5730bdb..5230ac126e6 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"); } /*