All of lore.kernel.org
 help / color / mirror / Atom feed
From: Todd Clayton <tclayton@sun.com>
To: xen-devel@lists.xensource.com
Subject: "Unknown interrupt" on 3.0.2-2 x86_64
Date: Wed, 19 Apr 2006 14:02:42 -0700	[thread overview]
Message-ID: <20060419210242.GA777514@sun.com> (raw)
In-Reply-To: <E1FUg5V-0000ih-00@mta1.cl.cam.ac.uk>

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 <Keir.Fraser@cl.cam.ac.uk> [2006-04-15 01:25]:
> > * Todd Clayton <tclayton@sun.com> [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 <todd.clayton@sun.com>

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)"

           reply	other threads:[~2006-04-19 21:02 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <E1FUg5V-0000ih-00@mta1.cl.cam.ac.uk>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060419210242.GA777514@sun.com \
    --to=tclayton@sun.com \
    --cc=todd.clayton@sun.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.