summaryrefslogtreecommitdiffstats
path: root/sys/boot/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2007-05-27 19:02:47 +0000
committermarcel <marcel@FreeBSD.org>2007-05-27 19:02:47 +0000
commitdf27a8ac99afb498125bd4898a2fd12ea8479f75 (patch)
tree13f62f5039a8dbd8c03f51859fe0191b63411e94 /sys/boot/ia64
parent6dd98d5d4e8bba8a8c9f14267ff8e26db51c00ae (diff)
downloadFreeBSD-src-df27a8ac99afb498125bd4898a2fd12ea8479f75.zip
FreeBSD-src-df27a8ac99afb498125bd4898a2fd12ea8479f75.tar.gz
Have the processor defer all faults and exceptions for control
speculative loads. This at least makes control speculative loads work. In the future we should analyze which faults/exceptions we want to handle rather than defer to avoid having to call the recovery code when it's not strictly necessary.
Diffstat (limited to 'sys/boot/ia64')
-rw-r--r--sys/boot/ia64/common/exec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/boot/ia64/common/exec.c b/sys/boot/ia64/common/exec.c
index a5a02d4..6b451f2 100644
--- a/sys/boot/ia64/common/exec.c
+++ b/sys/boot/ia64/common/exec.c
@@ -105,7 +105,7 @@ elf64_exec(struct preloaded_file *fp)
ia64_set_rr(IA64_RR_BASE(7), (7 << 8) | (28 << 2));
pte = PTE_PRESENT | PTE_MA_WB | PTE_ACCESSED | PTE_DIRTY |
- PTE_PL_KERN | PTE_AR_RWX;
+ PTE_PL_KERN | PTE_AR_RWX | PTE_ED;
__asm __volatile("mov cr.ifa=%0" :: "r"(IA64_RR_BASE(7)));
__asm __volatile("mov cr.itir=%0" :: "r"(28 << 2));
OpenPOWER on IntegriCloud