[Xen-devel] "Unknown interrupt" on 3.0.2-2 x86_64
Currently dom0 images larger than a few tens of megabytes fail to
boot and wedge xen early with "Unknown interrupt" on the xen console.
Below is the e-mail exchange I had with Keir along with a patch.
* Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> [2006-04-15 01:25]:
> > * Todd Clayton <tclayton@xxxxxxx> [2006-04-14 21:02]:
> > So i tracked it down. In arch/x86/x86_64.S for the intial PDE
> > (idle_pg_table_l2) xen only identity maps the the first 64M of ram.
> > Around line 283 in setup.c xen copies DOM0 modules just beyond
> > the heap and quickly faults off the end of this 64M region.
> > Solaris uses fairly large boot archives (86M on my current system).
> > So for now I just changed x86_64.S to identity map the first 1G
> > of ram and solaris dom0 came all the way up.
> > Other than setup.c knowing the size of this region and failing more
> > gracefully I don't know how you want to fix this? Either bump
> > it up like I did or perhaps something a little more sophisticated?
> Making the area 1GB sounds reasonable. I was worried about
> accidentally providing mappings for areas that aren't RAM and
> shouldn't be mapped cacheable. But those are unlikely to exist below
> 1GB and if they do we can remove those mappings later. It's more
> important to boot with large images.
> So please send a patch.
> -- Keir
Todd Clayton todd.clayton@xxxxxxx
# HG changeset patch
# User tclayton@xxxxxxxxxxxxxxxxxxxxx
# Node ID 6494bd0bd79591f836cbf09cbef87495ff08a025
# Parent c4eead8a925bd047834bf784f02edae33426b913
Increase size of level-2 initial PDE identity map from first 64MB of
physical RAM to first 1GB of physical RAM. This allows x86_64 xen to boot
larger dom0 images. Without this changes large dom0 images fail to
boot with "Unknown interrupt" on xen console and wedge.
Signed-off-by: Todd Clayton <todd.clayton@xxxxxxx>
diff -r c4eead8a925b -r 6494bd0bd795 xen/arch/x86/boot/x86_64.S
--- a/xen/arch/x86/boot/x86_64.S Sun Apr 16 15:41:31 2006 +0100
+++ b/xen/arch/x86/boot/x86_64.S Mon Apr 17 15:35:34 2006 -0700
@@ -252,10 +252,10 @@ ENTRY(idle_pg_table_l3)
.quad idle_pg_table_l2 - __PAGE_OFFSET + 7
-/* Initial PDE -- level-2 page table. Maps first 64MB physical memory. */
+/* Initial PDE -- level-2 page table. Maps first 1GB physical memory. */
- .macro identmap from=0, count=32
+ .macro identmap from=0, count=512
Xen-devel mailing list
|<Prev in Thread]
||[Next in Thread>|
- [Xen-devel] "Unknown interrupt" on 3.0.2-2 x86_64,
Todd Clayton <=