All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: PAE support revisited
@ 2005-03-22  8:00 Ian Pratt
  2005-03-22  9:49 ` Jacob Gorm Hansen
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Ian Pratt @ 2005-03-22  8:00 UTC (permalink / raw)
  To: Karen White, Nuutti Kotivuori; +Cc: xen-devel, ian.pratt


> There are at least two separate efforts looking at enabling PAE in
> Xen that I know of.  A couple of us are looking at it and we have
> started correspondance with Gerd Knorr, who is also looking at it.
> 
> We have no firm idea on when a working implementation will
> be available, but are hoping sooner rather than later.

There are a few things that need to be sorted to get PAE to work:

 * cleanup use of 'unsigned long' that exists in some handling of PTEs.
We've agreed a strategy of doing this with Gerd
 
 * change hypercall structs (possibly just switch to using x86_64 mem op
hypercall layout)

 * Modify Linux arch xen to using a variable sized hypervisor hole in
the top of the VA space. Possibly best done by moving fixaddr to the
bottom end of memory.

 * adjust hypervisor memory layout to deal with larger variable sized
frame table.

 * add 3-level type checking to Xen (this should be easy as it already
supports 2 and 4 level)

 * add 3-level support to Linux arch Xen (this should be easy as the
there are very few modifications to the mm system these days) 

Once its working, there are a few other features that would be nice:

 * shadow mode support to run 2 level guests on a 3 level hypervisor

 * Linux kernel that boot time switches between 2 and 3 level. I'm sure
the distros would love this on native x86. I believe it can be done with
low performance cost by using function dispatch patching to switch
between 2 and 3 level versions of Linux's performance critical functions
(e.g. the _range functions and fork), and then just using 'if'
statements in the pte macros used by the less critical functions.  


It would be great if other people could start tackling some of the items
on the list.

Thanks,
Ian



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click

^ permalink raw reply	[flat|nested] 13+ messages in thread
* RE: [patch] PAE support revisited
@ 2005-03-22 18:02 Ian Pratt
  0 siblings, 0 replies; 13+ messages in thread
From: Ian Pratt @ 2005-03-22 18:02 UTC (permalink / raw)
  To: Gerd Knorr; +Cc: Karen White, Nuutti Kotivuori, xen-devel, ian.pratt


> >  * cleanup use of 'unsigned long' that exists in some 
> handling of PTEs.
> > We've agreed a strategy of doing this with Gerd
> 
> Next version of this cleanup patch, comments are welcome.

Gerd, I think this patch is definitely the right idea.

I don't particularly like the names of your macros, but I can't think of
any better.

The init_0 is rather superfluous. 

> Handle with care for now.  It builds and boots domain0 fine for me.
> But will break the x86_64 build and isn't tested much otherwise.

Let's get the new shadow mode code checked in, then get everything
(including x86_64) switched over to the new macros.

Ian


-------------------------------------------------------
This SF.net email is sponsored by: 2005 Windows Mobile Application Contest
Submit applications for Windows Mobile(tm)-based Pocket PCs or Smartphones
for the chance to win $25,000 and application distribution. Enter today at
http://ads.osdn.com/?ad_idh82&alloc_id\x15148&op=click

^ permalink raw reply	[flat|nested] 13+ messages in thread
* RE: [patch] PAE support revisited
@ 2005-03-23 15:22 Nakajima, Jun
  2005-03-23 16:26 ` Keir Fraser
  0 siblings, 1 reply; 13+ messages in thread
From: Nakajima, Jun @ 2005-03-23 15:22 UTC (permalink / raw)
  To: Ian Pratt, Gerd Knorr; +Cc: Karen White, Nuutti Kotivuori, xen-devel, ian.pratt

Ian Pratt wrote:
>>>  * cleanup use of 'unsigned long' that exists in some handling of
>>> PTEs. We've agreed a strategy of doing this with Gerd
>> 
>> Next version of this cleanup patch, comments are welcome.
> 
> Gerd, I think this patch is definitely the right idea.
> 
> I don't particularly like the names of your macros, but I can't think
> of any better.
> 
> The init_0 is rather superfluous.
> 
>> Handle with care for now.  It builds and boots domain0 fine for me.
>> But will break the x86_64 build and isn't tested much otherwise.
> 
> Let's get the new shadow mode code checked in, then get everything
> (including x86_64) switched over to the new macros.
> 
> Ian
> 
I like the idea of new macros. The other thing is that the current
shadow code has issues with supporting 32-bit unmodified guests on
x86_64 (e.g. VMX domain). For example, the following does not work, and
we need new definitions (e.g. l1_pgentry_32_t) for that purpose. 
  typedef struct { unsigned long l1_lo; } l1_pgentry_t;
  typedef struct { unsigned long l2_lo; } l2_pgentry_t;
The linear page table does not work either, because the page table
entries are different (i.e. 4-byte vs. 8-byte). I think we need to get
the current shadow code working for 2-level page tables on both x86 and
x86_64 first, then extend it to support 3/4-level page tables, probably
in a sperate file?

Jun
 



-------------------------------------------------------
This SF.net email is sponsored by: 2005 Windows Mobile Application Contest
Submit applications for Windows Mobile(tm)-based Pocket PCs or Smartphones
for the chance to win $25,000 and application distribution. Enter today at
http://ads.osdn.com/?ad_idh82&alloc_id\x15148&op=click

^ permalink raw reply	[flat|nested] 13+ messages in thread
* RE: [patch] PAE support revisited
@ 2005-03-23 17:10 Nakajima, Jun
  2005-03-23 17:19 ` Keir Fraser
  0 siblings, 1 reply; 13+ messages in thread
From: Nakajima, Jun @ 2005-03-23 17:10 UTC (permalink / raw)
  To: Keir Fraser
  Cc: Karen White, Nuutti Kotivuori, ian.pratt, Gerd Knorr, xen-devel,
	Ian Pratt

Keir Fraser wrote:
> On 23 Mar 2005, at 15:22, Nakajima, Jun wrote:
> 
>> I like the idea of new macros. The other thing is that the current
>> shadow code has issues with supporting 32-bit unmodified guests on
>> x86_64 (e.g. VMX domain). For example, the following does not work,
>> and we need new definitions (e.g. l1_pgentry_32_t) for that purpose.
>>   typedef struct { unsigned long l1_lo; } l1_pgentry_t;
>>   typedef struct { unsigned long l2_lo; } l2_pgentry_t;
>> The linear page table does not work either, because the page table
>> entries are different (i.e. 4-byte vs. 8-byte). I think we need to
>> get the current shadow code working for 2-level page tables on both
>> x86 and x86_64 first, then extend it to support 3/4-level page
>> tables, probably in a sperate file?
> 
> I suspect there may be a lot of commonality between the code for
> handling different pagteable arrangements (2 vs. 3 vs 4 level, and
> 4-byte vs 8-byte PTEs). Rather than duping the code for each case,
> maybe we can have one codebase with minimal ifdef's that works with
> the l_pgentry types, then perhaps gets compiled multiple times with
> different-size types and macros differently defined?
> 
> As you say, it's probably best to consider the best course of action
> after we have x-type guest working on x-type host (for x ==
> x86/32,PAE,x86/64).

One more thing, NX/XD support. The bit 63 really confuses Xen and has
impacts on pfn calculation routines/macros. I needed to disable that
feature on x86-64 xenolinux at this point.

Jun

> 
>   -- Keir



-------------------------------------------------------
This SF.net email is sponsored by Microsoft Mobile & Embedded DevCon 2005
Attend MEDC 2005 May 9-12 in Vegas. Learn more about the latest Windows
Embedded(r) & Windows Mobile(tm) platforms, applications & content.  Register
by 3/29 & save $300 http://ads.osdn.com/?ad_idh83&alloc_id\x15149&op=click

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2005-03-30 10:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-22  8:00 PAE support revisited Ian Pratt
2005-03-22  9:49 ` Jacob Gorm Hansen
2005-03-22 14:51 ` Ronald G. Minnich
2005-03-22 18:22 ` [patch] " Gerd Knorr
2005-03-22 23:21 ` Karen White
2005-03-23 23:23   ` PAE: config and file layout Karen White
     [not found]   ` <87oed2bpv5.fsf@bytesex.org>
2005-03-30  0:28     ` PAE support revisited - questions Karen White
2005-03-30 10:20       ` Gerd Knorr
  -- strict thread matches above, loose matches on Subject: below --
2005-03-22 18:02 [patch] PAE support revisited Ian Pratt
2005-03-23 15:22 Nakajima, Jun
2005-03-23 16:26 ` Keir Fraser
2005-03-23 17:10 Nakajima, Jun
2005-03-23 17:19 ` Keir Fraser

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.