|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] Ensure cur_pgd per-cpu variables are initialised early.
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID a0b4156cc0ce4e6495cfa316c5383ee2be81c22f
# Parent f80278e5e4407141ca73caf6627d1c5d7aa65312
Ensure cur_pgd per-cpu variables are initialised early.
Secondary VCPUs can take page faults immediately after
booting, because of writable pagetable logic.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
diff -r f80278e5e440 -r a0b4156cc0ce
linux-2.6-xen-sparse/arch/xen/i386/mm/init.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c Tue Aug 23 17:28:53 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c Tue Aug 23 17:29:46 2005
@@ -348,9 +348,12 @@
{
unsigned long vaddr;
pgd_t *pgd_base = (pgd_t *)xen_start_info.pt_base;
+ int i;
swapper_pg_dir = pgd_base;
init_mm.pgd = pgd_base;
+ for (i = 0; i < NR_CPUS; i++)
+ per_cpu(cur_pgd, i) = pgd_base;
/* Enable PSE if available */
if (cpu_has_pse) {
diff -r f80278e5e440 -r a0b4156cc0ce
linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c Tue Aug 23 17:28:53 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c Tue Aug 23 17:29:46 2005
@@ -559,6 +559,11 @@
void __init xen_init_pt(void)
{
+ int i;
+
+ for (i = 0; i < NR_CPUS; i++)
+ per_cpu(cur_pgd, i) = init_mm.pgd;
+
memcpy((void *)init_level4_pgt,
(void *)xen_start_info.pt_base, PAGE_SIZE);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Ensure cur_pgd per-cpu variables are initialised early.,
Xen patchbot -unstable <=
|
|
|
|
|