[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: SMP dom0 with 8 cpus of i386
> One possibility is that it's due to my fiddling with the domain 0 > memory map (I now free pseudophys range 0-1MB to the linux memoy > allocator, which we didn''t previously do). This might mean that we're > now allocating memory that gets scribbled on.... > > It might be worth explicitly unmapping the low pseudophys 1MB, not free > it to the memory allocator, and then see if you can boot dom0. Then we > can see if we have any code paths that go straight at low memory, which > is a bug on xenlinux. I wasn't able to repro these SMP dom0 problems myself. I tried unmapping the low 1MB of pseudophys memory, and got a benign crash in pci_find_bios() (now fixed). It may be that you have some driver that is trying to tamper with 'ISA space'. It's worth trying to apply the attached patch and see if you can still boot SMP dom0 without crashing. If anyone else is having similar problems then it would be great if they can try this patch too (it's only good for 32-bit though -- no effect on x86_64). -- Keir diff -r 3bbc9384be3f linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c Fri Aug 26 17:57:09 2005 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c Sat Aug 27 10:11:24 2005 @@ -1153,7 +1153,13 @@ */ reserve_bootmem(HIGH_MEMORY, (PFN_PHYS(min_low_pfn) + bootmap_size + PAGE_SIZE-1) - (HIGH_MEMORY)); - + { + unsigned long i; + reserve_bootmem(0, HIGH_MEMORY); + for ( i = 0; i < HIGH_MEMORY; i+= PAGE_SIZE ) + HYPERVISOR_update_va_mapping( + (unsigned long)__va(i), __pte_ma(0), 0); + } #ifndef CONFIG_XEN /* * reserve physical page 0 - it's a special BIOS page on many boxes, @@ -1562,6 +1568,12 @@ smp_alloc_memory(); /* AP processor realmode stacks in low memory*/ #endif paging_init(); + { + unsigned long i; + for ( i = 0; i < HIGH_MEMORY; i+= PAGE_SIZE ) + HYPERVISOR_update_va_mapping( + (unsigned long)__va(i), __pte_ma(0), 0); + } remapped_pgdat_init(); zone_sizes_init(); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |