diff options
author | marcel <marcel@FreeBSD.org> | 2007-05-27 19:02:47 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2007-05-27 19:02:47 +0000 |
commit | df27a8ac99afb498125bd4898a2fd12ea8479f75 (patch) | |
tree | 13f62f5039a8dbd8c03f51859fe0191b63411e94 /sys/boot/ia64/common | |
parent | 6dd98d5d4e8bba8a8c9f14267ff8e26db51c00ae (diff) | |
download | FreeBSD-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/common')
-rw-r--r-- | sys/boot/ia64/common/exec.c | 2 |
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)); |