Re: [RFC] use realmode code to reserve end-of-conventional-memory to 1MB

Ian Campbell
2008-03-04T15:13:36Z

On Tue, 2008-03-04 at 15:33 +0100, Ingo Molnar wrote:
> * Mark McLoughlin <markmc@redhat.com> wrote:
>
> > > The patch below seems like the right thing to do. It certainly boots
> > > in a domU without the DMI problem (without any of the other related
> > > patches such as Alexander's).
> >
> > Yep, this patch on its own fixes 2.6.25-rc3 DomU boot for me here.
>
> thanks - i picked it up for v2.6.25 merging.

Thanks, I'd been planning to resend once I got the ddcprobe thing sorted
but I've been a bit snowed under (deadlines :-|). This patch is
independently correct though and turns the ddcprobe failure from a domU
kernel crash into a userspace hang.

ddcprobe hangs because the page at pfn 0 is comprised entirely 0xc2
bytes (the Xen memory scrub poison value -- I'm running a debug
hypervisor) which causes lrmi to try and jump to 0xc2c2*16+0xc2c2 to
implement int $0xXX. gdb won't let me actually examine that address for
some reason so I don't actually know what it's hitting to cause the
loop/hang but no good can come of jumping to that address in any case...

Sanest solution seems to me to be to explicitly zero PFN 0 -- I have a
patch I just haven't had a chance to clean it up for submission yet.

> i'm wondering, what triggered this bug, and why didnt we have these
> problems in the past?

Did someone make the boot allocator start at the bottom instead of the
top of memory or something?

Ian.

--
Ian Campbell
Current Noise: Nile - Even The Gods Must Die

There is a natural hootchy-kootchy to a goldfish.
-- Walt Disney