From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Clayton Subject: "Unknown interrupt" on 3.0.2-2 x86_64 Date: Wed, 19 Apr 2006 14:02:42 -0700 Message-ID: <20060419210242.GA777514@sun.com> References: <20060415040249.GD539066@sun.com> Reply-To: Todd Clayton Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org 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. -Todd * Keir Fraser [2006-04-15 01:25]: > > * Todd Clayton [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@sun.com # HG changeset patch # User tclayton@headers.SFBay.Sun.COM # 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 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) 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. */ .org 0x4000 ENTRY(idle_pg_table_l2) - .macro identmap from=0, count=32 + .macro identmap from=0, count=512 .if \count-1 identmap "(\from+0)","(\count/2)" identmap "(\from+(0x200000*(\count/2)))","(\count/2)"