summaryrefslogtreecommitdiffstats
path: root/sys/boot/pc98/loader/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/boot/pc98/loader/main.c')
-rw-r--r--sys/boot/pc98/loader/main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/boot/pc98/loader/main.c b/sys/boot/pc98/loader/main.c
index eee4638..83e9bdf 100644
--- a/sys/boot/pc98/loader/main.c
+++ b/sys/boot/pc98/loader/main.c
@@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$");
#include <stand.h>
#include <string.h>
#include <machine/bootinfo.h>
+#include <machine/psl.h>
#include <sys/reboot.h>
#include "bootstrap.h"
@@ -86,6 +87,10 @@ main(void)
initial_bootdev = kargs->bootdev;
initial_bootinfo = kargs->bootinfo ? (struct bootinfo *)PTOV(kargs->bootinfo) : NULL;
+ /* Initialize the v86 register set to a known-good state. */
+ bzero(&v86, sizeof(v86));
+ v86.efl = PSL_RESERVED_DEFAULT | PSL_I;
+
/*
* Initialise the heap as early as possible. Once this is done, malloc() is usable.
*/
OpenPOWER on IntegriCloud