diff options
author | dfr <dfr@FreeBSD.org> | 2002-04-10 16:34:52 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2002-04-10 16:34:52 +0000 |
commit | 6cda5b411a9544bca5f9acd8d1ce92cfa8fb1b62 (patch) | |
tree | 4dc01eacce7c48d9211f4e2f73cef9b7631e0117 /sys/ia64 | |
parent | 24420c8af53af14477b9d4262cdd67d1c84add1f (diff) | |
download | FreeBSD-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.c | 1 |
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. |