[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [PATCH 2/3] x86: real mode support: get EDD info


> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Keir Fraser
> Sent: 02 March 2007 11:36
> To: Jan Beulich; xen-devel@xxxxxxxxxxxxxxxxxxx; Keir Fraser
> Subject: Re: [Xen-devel] [PATCH 2/3] x86: real mode support: 
> get EDD info
> On 2/3/07 11:26, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
> > Possible, but especially on x86-64 undesirable in my opinion.
> It's certainly more of a pain to make the mode switch, but 
> not impossible by
> any means.

It's not that much harder as long as you have some region of (below 1MB
is probably best) memory that is 1:1 mapped that you can put the code
into. Jump to a 32-bit segment (i.e. cs.attr.large-mode = 0) in low
memory, turn off LME in EFER and PG in CR0, then turn off PE in CR0 and
you're in real-mode. Of course to make the environment work for
real-mode, there's a whole bunch of other stuff that needs to be done
(interrupt vector table at address zero for example), but that should be
the same whether you run 64- or 32-bit code in the first place. 

> > Also, I'll want
> > the base real mode stuff in anyway (regardless of EDD/EDID) 
> in order to
> > be able to set up a VESA frame buffer mode for the console. 
> This clearly
> > should be done by Xen in order to ensure it knows how to access the
> > console in case it is allowed access past dom0 creation.
> Oh yes, we definitely want the mode-switching code in Xen. No 
> doubt about
> that. The question is whether we pull in the EDD/EDID stuff 
> as well. The
> fact that the data format is BIOS-defined does make the 
> current approach
> plausible if not particularly tasteful architecturally 
> speaking (but what
> BIOS stuff is? :-).
>  -- Keir
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.