Add data serialisations after ptc and mov to rr[] instructions.
This commit is contained in:
@@ -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");
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user