summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2002-04-10 16:34:52 +0000
committerdfr <dfr@FreeBSD.org>2002-04-10 16:34:52 +0000
commit6cda5b411a9544bca5f9acd8d1ce92cfa8fb1b62 (patch)
tree4dc01eacce7c48d9211f4e2f73cef9b7631e0117 /sys/ia64
parent24420c8af53af14477b9d4262cdd67d1c84add1f (diff)
downloadFreeBSD-src-6cda5b411a9544bca5f9acd8d1ce92cfa8fb1b62.zip
FreeBSD-src-6cda5b411a9544bca5f9acd8d1ce92cfa8fb1b62.tar.gz
Initialise PCPU_GET(current_pmap) in pmap_bootstrap - cpu_switch needs
to be sure that it is always correct and this was not true for the first call to cpu_switch. When thread0 resumed later, it ended up calling pmap_install with a null pmap, which is bad.
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/pmap.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c
index 9ba5d8f..33226ef 100644
--- a/sys/ia64/ia64/pmap.c
+++ b/sys/ia64/ia64/pmap.c
@@ -445,6 +445,7 @@ pmap_bootstrap()
kernel_pmap->pm_count = 1;
kernel_pmap->pm_active = 1;
TAILQ_INIT(&kernel_pmap->pm_pvlist);
+ PCPU_SET(current_pmap, kernel_pmap);
/*
* Region 5 is mapped via the vhpt.
OpenPOWER on IntegriCloud