Page MenuHomeFreeBSD

D20904.diff
No OneTemporary

D20904.diff

Index: head/sys/arm64/arm64/efirt_machdep.c
===================================================================
--- head/sys/arm64/arm64/efirt_machdep.c
+++ head/sys/arm64/arm64/efirt_machdep.c
@@ -239,6 +239,7 @@
__asm __volatile(
"msr ttbr0_el1, %0 \n"
+ "isb \n"
"dsb ishst \n"
"tlbi vmalle1is \n"
"dsb ish \n"
@@ -266,6 +267,7 @@
td = curthread;
__asm __volatile(
"msr ttbr0_el1, %0 \n"
+ "isb \n"
"dsb ishst \n"
"tlbi vmalle1is \n"
"dsb ish \n"
Index: head/sys/arm64/arm64/pmap.c
===================================================================
--- head/sys/arm64/arm64/pmap.c
+++ head/sys/arm64/arm64/pmap.c
@@ -5484,8 +5484,10 @@
critical_enter();
pmap = vmspace_pmap(td->td_proc->p_vmspace);
td->td_proc->p_md.md_l0addr = vtophys(pmap->pm_l0);
- __asm __volatile("msr ttbr0_el1, %0" : :
- "r"(td->td_proc->p_md.md_l0addr));
+ __asm __volatile(
+ "msr ttbr0_el1, %0 \n"
+ "isb \n"
+ : : "r"(td->td_proc->p_md.md_l0addr));
pmap_invalidate_all(pmap);
critical_exit();
}

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 21, 6:23 AM (20 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15980785
Default Alt Text
D20904.diff (1 KB)

Event Timeline