lkml.org 
[lkml]   [2008]   [Jun]   [13]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 13 Jun 2008 09:24:24 +0200
FromIngo Molnar <>
SubjectRe: [PATCH UPDATED] x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits.
* Jeremy Fitzhardinge <jeremy@goop.org> wrote:

> Ingo Molnar wrote:
>>> When a 64-bit x86 processor runs in 32-bit PAE mode, a pte can  
>>> potentially have the same number of physical address bits as the  
>>> 64-bit host ("Enhanced Legacy PAE Paging").  This means, in theory, 
>>> we could have up to 52 bits of physical address in a pte.
>>>
>>> The 32-bit kernel uses a 32-bit unsigned long to represent a pfn. 
>>> This means that it can only represent physical addresses up to 
>>> 32+12=44 bits wide.  Rather than widening pfns everywhere, just set 
>>> 2^44 as the Linux x86_32-PAE architectural limit for physical address 
>>> size.
>>> 
>>
>> applied to tip/x86/cleanups - thanks Jeremy. No urgency for v2.6.26, 
>> right?
>
> Not urgent, but it would be nice to have.

ok, cherry-picked it into x86/urgent. This aspect makes it eligible for 
v2.6.26:

| This is a bugfix for two cases:
| 1. running a 32-bit PAE kernel on a machine with
|   more than 64GB RAM.
| 2. running a 32-bit PAE Xen guest on a host machine with
|   more than 64GB RAM
|
| In both cases, a pte could need to have more than 36 bits of physical,
| and masking it to 36-bits will cause fairly severe havoc.

also added a stable@kernel.org Cc: to the commit, so it will be picked 
up in stable as well.

	Ingo


\
 
 \ /
  Last update: 2008-06-13 09:27    [from the cache]
©2003-2008