diff options
-rw-r--r-- | BitKeeper/etc/logging_ok | 1 | ||||
-rw-r--r-- | xen-2.4.16/arch/i386/setup.c | 4 | ||||
-rw-r--r-- | xen-2.4.16/common/domain.c | 5 |
3 files changed, 6 insertions, 4 deletions
diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index afc0ddebd9..825b553426 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -1,3 +1,4 @@ akw27@boulderdash.cl.cam.ac.uk kaf24@plym.cl.cam.ac.uk +kaf24@striker.cl.cam.ac.uk smh22@boulderdash.cl.cam.ac.uk diff --git a/xen-2.4.16/arch/i386/setup.c b/xen-2.4.16/arch/i386/setup.c index 5b5c73f640..f9163148ed 100644 --- a/xen-2.4.16/arch/i386/setup.c +++ b/xen-2.4.16/arch/i386/setup.c @@ -295,8 +295,6 @@ void __init start_of_day(void) init_bh(IMMEDIATE_BH, immediate_bh); init_apic_mappings(); /* make APICs addressable in our pagetables. */ - sti(); - #ifndef CONFIG_SMP APIC_init_uniprocessor(); #else @@ -308,6 +306,8 @@ void __init start_of_day(void) */ #endif + sti(); + zap_low_mappings(); kmem_cache_init(); kmem_cache_sizes_init(max_page); diff --git a/xen-2.4.16/common/domain.c b/xen-2.4.16/common/domain.c index 51d9209778..a1d5de21c9 100644 --- a/xen-2.4.16/common/domain.c +++ b/xen-2.4.16/common/domain.c @@ -35,6 +35,7 @@ struct task_struct *do_newdomain(void) { int retval; struct task_struct *p = NULL; + unsigned long flags; retval = -ENOMEM; p = alloc_task_struct(); @@ -56,9 +57,9 @@ struct task_struct *do_newdomain(void) p->blk_ring_base = (blk_ring_t *)(p->shared_info + 1); p->net_ring_base = (net_ring_t *)(p->blk_ring_base + 1); p->pg_head = p->tot_pages = 0; - write_lock_irq(&tasklist_lock); + write_lock_irqsave(&tasklist_lock, flags); SET_LINKS(p); - write_unlock_irq(&tasklist_lock); + write_unlock_irqrestore(&tasklist_lock, flags); newdomain_out: return(p); |