IA32 PSE-36 Mode & Windows...

ALL:

Does anyone know if Windows makes use of IA32 PSE-36 Mode under any
circumstances? I kind of doubt it, as it is supported on Pentium III
and after, but I’m hoping that someone knows a little more
definitively.

Thanks,

MM

> Does anyone know if Windows makes use of IA32 PSE-36 Mode under any

My memory for acronyms is failing, but Windows most certainly uses 36 bit
addressing on the 32 bit machines. Has done so for ages. I don’t recall if
this is PSE-36 mode or some other 36 bit mode.

Loren

It a /PAE which causes a different kernel and HAL to be loaded. The
feature has been there for a long time, and while it stated for servers,
seems to be in XP also.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

“Loren Wilton” wrote in message news:xxxxx@ntdev…
>> Does anyone know if Windows makes use of IA32 PSE-36 Mode under any
>
> My memory for acronyms is failing, but Windows most certainly uses 36 bit
> addressing on the 32 bit machines. Has done so for ages. I don’t recall
> if this is PSE-36 mode or some other 36 bit mode.
>
> Loren
>
>

Not PAE. PSE-36. I also had never heard of it until recently, and told
the person asking me the same advice. I just found it in the Intel
manual. It is different from PAE, mostly in that it doesn’t use an
additional level of page table(s), but requires 4MB pages.

MM

>> xxxxx@acm.org 2006-09-28 17:30 >>>
It a /PAE which causes a different kernel and HAL to be loaded. The
feature has been there for a long time, and while it stated for
servers,
seems to be in XP also.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

“Loren Wilton” wrote in message
news:xxxxx@ntdev…
>> Does anyone know if Windows makes use of IA32 PSE-36 Mode under any
>
> My memory for acronyms is failing, but Windows most certainly uses 36
bit
> addressing on the 32 bit machines. Has done so for ages. I don’t
recall
> if this is PSE-36 mode or some other 36 bit mode.
>
> Loren
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Funny, I was just looking up the references.

Intel used to provide a set of sample drivers for allowing ONE process
to use PSE-36.

In fact, Windows exploits this ability because it supports “large pages”

  • 4MB page directory entries. PSE mode provided an alternative
    mechanism for exploiting > 4GB of physical memory without requiring
    larger page table entries (from some quick digging, it looks like this
    originally showed up in the i860 and migrated into the Pentium II…)

Look for PSE36 in the Intel reference manuals.

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin O’Brien
Sent: Thursday, September 28, 2006 2:52 PM
To: ntdev redirect
Subject: Re:[ntdev] IA32 PSE-36 Mode & Windows…

Not PAE. PSE-36. I also had never heard of it until recently, and told
the person asking me the same advice. I just found it in the Intel
manual. It is different from PAE, mostly in that it doesn’t use an
additional level of page table(s), but requires 4MB pages.

MM

>> xxxxx@acm.org 2006-09-28 17:30 >>>
It a /PAE which causes a different kernel and HAL to be loaded. The
feature has been there for a long time, and while it stated for
servers,
seems to be in XP also.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

“Loren Wilton” wrote in message
news:xxxxx@ntdev…
>> Does anyone know if Windows makes use of IA32 PSE-36 Mode under any
>
> My memory for acronyms is failing, but Windows most certainly uses 36
bit
> addressing on the 32 bit machines. Has done so for ages. I don’t
recall
> if this is PSE-36 mode or some other 36 bit mode.
>
> Loren
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

TONY:

Thanks. I’ve read the manuals and I’m still unclear and windows
support of it. Are you saying that Windows use of the 4MB page in which
it maps much of the Kernel is, in fact, use of PSE-36? I got the
impression from the manuals that 4MB pages can be supported without
PSE-36 (although it uses them as well).

>> xxxxx@osr.com 2006-09-28 18:17 >>>
Funny, I was just looking up the references.

Intel used to provide a set of sample drivers for allowing ONE process
to use PSE-36.

In fact, Windows exploits this ability because it supports “large
pages”

  • 4MB page directory entries. PSE mode provided an alternative
    mechanism for exploiting > 4GB of physical memory without requiring
    larger page table entries (from some quick digging, it looks like this
    originally showed up in the i860 and migrated into the Pentium II…)

Look for PSE36 in the Intel reference manuals.

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin O’Brien
Sent: Thursday, September 28, 2006 2:52 PM
To: ntdev redirect
Subject: Re:[ntdev] IA32 PSE-36 Mode & Windows…

Not PAE. PSE-36. I also had never heard of it until recently, and
told
the person asking me the same advice. I just found it in the Intel
manual. It is different from PAE, mostly in that it doesn’t use an
additional level of page table(s), but requires 4MB pages.

MM

>> xxxxx@acm.org 2006-09-28 17:30 >>>
It a /PAE which causes a different kernel and HAL to be loaded. The
feature has been there for a long time, and while it stated for
servers,
seems to be in XP also.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

“Loren Wilton” wrote in message
news:xxxxx@ntdev…
>> Does anyone know if Windows makes use of IA32 PSE-36 Mode under any
>
> My memory for acronyms is failing, but Windows most certainly uses
36
bit
> addressing on the 32 bit machines. Has done so for ages. I don’t
recall
> if this is PSE-36 mode or some other 36 bit mode.
>
> Loren
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Maybe I’m reading the manual wrong, but it seems to imply that to use
4MB pages you have to have set the PSE bit in CR4. I looked at this in
the debugger and CR4 is “0x6d1” which would imply PSE=1 and PAE=0 (the
low two bits of the 2nd nibble.) Thus, this would imply Windows is
enabling PSE mode, at least on the test machine I interrogated.

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin O’Brien
Sent: Thursday, September 28, 2006 3:43 PM
To: ntdev redirect
Subject: RE: [ntdev] IA32 PSE-36 Mode & Windows…

TONY:

Thanks. I’ve read the manuals and I’m still unclear and windows
support of it. Are you saying that Windows use of the 4MB page in which
it maps much of the Kernel is, in fact, use of PSE-36? I got the
impression from the manuals that 4MB pages can be supported without
PSE-36 (although it uses them as well).

Tony is right here. PAE is normal and PSE is almost never used.

32-bit Windows can use PAE mode to address more than 4 GB RAM (/PAE boot.ini
switch.) Some time ago before PAE support was implemented in Windows Intel
had provided an exotic PSE driver (now obsolete) to enable use of large
memory by one app.

Here is a good overview by Microsoft:
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx

Dmitriy Budko
VMware

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-264201-
xxxxx@lists.osr.com] On Behalf Of Martin O’Brien
Sent: Thursday, September 28, 2006 3:43 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] IA32 PSE-36 Mode & Windows…

TONY:

Thanks. I’ve read the manuals and I’m still unclear and windows
support of it. Are you saying that Windows use of the 4MB page in which
it maps much of the Kernel is, in fact, use of PSE-36? I got the
impression from the manuals that 4MB pages can be supported without
PSE-36 (although it uses them as well).

>>> xxxxx@osr.com 2006-09-28 18:17 >>>
Funny, I was just looking up the references.

Intel used to provide a set of sample drivers for allowing ONE process
to use PSE-36.

In fact, Windows exploits this ability because it supports “large
pages”

  • 4MB page directory entries. PSE mode provided an alternative
    mechanism for exploiting > 4GB of physical memory without requiring
    larger page table entries (from some quick digging, it looks like this
    originally showed up in the i860 and migrated into the Pentium II…)

Look for PSE36 in the Intel reference manuals.

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

A clarification here: I mean PSE-36 (using PSE to address up-to 64 GB of
RAM). From Intel manuals, vol. 3, Section 3.6.1, Paging Options:

“The PSE flag enables large page sizes: 4-MByte pages or 2-MByte pages (when
the PAE flag is set). When the PSE flag is clear, the more common page length
of 4 KBytes is used. See Section 3.7.2, “Linear Address Translation (4-MByte
Pages)”, Section 3.8.3, “Linear Address Translation With PAE Enabled (2-MByte
Pages)”, and Section 3.9, “36-Bit Physical Addressing
Using the PSE-36 Paging Mechanism” for more information about the use of the
PSE flag.”

" The 36-bit page size extension (PSE-36) feature provides an alternate
method of extending physical addressing to 36 bits. This paging mechanism
uses the page size extension mode (enabled with the PSE flag) and modified
page directory entries to reference physical addresses
above FFFFFFFFH. The PSE-36 feature flag (bit 17 in the EDX register when the
CPUID instruction is executed with a source operand of 1) indicates the
availability of this addressing mechanism. See Section 3.9, “36-Bit Physical
Addressing Using the PSE-36 Paging Mechanism”, for more information about the
PSE-36 physical address extension and page size extension
mechanism."

Windows usually set PSE flag to get large pages and can set PAE flag to
address more than 4 GB, but Windows doesn’t use PSE flag alone without PAE to
address more than 4 GB.

Dmitriy Budko
VMware

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-264204-
xxxxx@lists.osr.com] On Behalf Of Dmitriy Budko
Sent: Thursday, September 28, 2006 4:06 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] IA32 PSE-36 Mode & Windows…

Tony is right here. PAE is normal and PSE is almost never used.

32-bit Windows can use PAE mode to address more than 4 GB RAM (/PAE
boot.ini
switch.) Some time ago before PAE support was implemented in Windows Intel
had provided an exotic PSE driver (now obsolete) to enable use of large
memory by one app.

Here is a good overview by Microsoft:
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx

Dmitriy Budko
VMware

TONY:

That’s true, but I don’t think that is the whole story. Does the
manual your reading have a “3.9 36-Bit Physical Addressing Using the
PSE-36 Paging Mechanism” section? I think the only difference is that
the extension is just that it now uses four of the reserved bits.
Windows clearly uses and has used 4MB pages for a long time, and, I
think, before the PIII, which is what the document I’m reading says is
required for PSE-36. This is what I am wondering if Windows supports.
If I’m just missing something, I’m sorry, and this may be one of those
cases where there really is no difference except what you decide to call
it.

MM

>> xxxxx@osr.com 2006-09-28 19:01 >>>
Maybe I’m reading the manual wrong, but it seems to imply that to use
4MB pages you have to have set the PSE bit in CR4. I looked at this
in
the debugger and CR4 is “0x6d1” which would imply PSE=1 and PAE=0 (the
low two bits of the 2nd nibble.) Thus, this would imply Windows is
enabling PSE mode, at least on the test machine I interrogated.

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Martin O’Brien
Sent: Thursday, September 28, 2006 3:43 PM
To: ntdev redirect
Subject: RE: [ntdev] IA32 PSE-36 Mode & Windows…

TONY:

Thanks. I’ve read the manuals and I’m still unclear and windows
support of it. Are you saying that Windows use of the 4MB page in
which
it maps much of the Kernel is, in fact, use of PSE-36? I got the
impression from the manuals that 4MB pages can be supported without
PSE-36 (although it uses them as well).


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

DIMITRIY:

So PSE existed before PAE? The manual I’m reading says that it was
introduced with the PIII, and I think PAE came with PII. I guess the
manual (section 3.9) is talking about the particular 36 it variant. In
any case, I think you answered my question, because all I really need to
know is whether Windows uses it or not. I couldn’t imagine that it did,
but some confirmation is nice.

Thanks,

MM

>> xxxxx@vmware.com 2006-09-28 19:05 >>>
Tony is right here. PAE is normal and PSE is almost never used.

32-bit Windows can use PAE mode to address more than 4 GB RAM (/PAE
boot.ini
switch.) Some time ago before PAE support was implemented in Windows
Intel
had provided an exotic PSE driver (now obsolete) to enable use of
large
memory by one app.

Here is a good overview by Microsoft:
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx

Dmitriy Budko
VMware

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-264201-
xxxxx@lists.osr.com] On Behalf Of Martin O’Brien
Sent: Thursday, September 28, 2006 3:43 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] IA32 PSE-36 Mode & Windows…

TONY:

Thanks. I’ve read the manuals and I’m still unclear and windows
support of it. Are you saying that Windows use of the 4MB page in
which
it maps much of the Kernel is, in fact, use of PSE-36? I got the
impression from the manuals that 4MB pages can be supported without
PSE-36 (although it uses them as well).

>>> xxxxx@osr.com 2006-09-28 18:17 >>>
Funny, I was just looking up the references.

Intel used to provide a set of sample drivers for allowing ONE
process
to use PSE-36.

In fact, Windows exploits this ability because it supports “large
pages”

  • 4MB page directory entries. PSE mode provided an alternative
    mechanism for exploiting > 4GB of physical memory without requiring
    larger page table entries (from some quick digging, it looks like
    this
    originally showed up in the i860 and migrated into the Pentium
    II…)

Look for PSE36 in the Intel reference manuals.

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Thanks very much. What confused me is that the reference to the PIII in
section 3.9, combined with the fact that I had never associated the term
“PSE” with 4MB page, although I knew about the later.

Thanks,

MM

>> xxxxx@vmware.com 2006-09-28 19:24 >>>
A clarification here: I mean PSE-36 (using PSE to address up-to 64 GB
of
RAM). From Intel manuals, vol. 3, Section 3.6.1, Paging Options:

“The PSE flag enables large page sizes: 4-MByte pages or 2-MByte pages
(when
the PAE flag is set). When the PSE flag is clear, the more common page
length
of 4 KBytes is used. See Section 3.7.2, “Linear Address Translation
(4-MByte
Pages)”, Section 3.8.3, “Linear Address Translation With PAE Enabled
(2-MByte
Pages)”, and Section 3.9, “36-Bit Physical Addressing
Using the PSE-36 Paging Mechanism” for more information about the use
of the
PSE flag.”

" The 36-bit page size extension (PSE-36) feature provides an
alternate
method of extending physical addressing to 36 bits. This paging
mechanism
uses the page size extension mode (enabled with the PSE flag) and
modified
page directory entries to reference physical addresses
above FFFFFFFFH. The PSE-36 feature flag (bit 17 in the EDX register
when the
CPUID instruction is executed with a source operand of 1) indicates
the
availability of this addressing mechanism. See Section 3.9, “36-Bit
Physical
Addressing Using the PSE-36 Paging Mechanism”, for more information
about the
PSE-36 physical address extension and page size extension
mechanism."

Windows usually set PSE flag to get large pages and can set PAE flag
to
address more than 4 GB, but Windows doesn’t use PSE flag alone without
PAE to
address more than 4 GB.

Dmitriy Budko
VMware

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-264204-
xxxxx@lists.osr.com] On Behalf Of Dmitriy Budko
Sent: Thursday, September 28, 2006 4:06 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] IA32 PSE-36 Mode & Windows…

Tony is right here. PAE is normal and PSE is almost never used.

32-bit Windows can use PAE mode to address more than 4 GB RAM (/PAE
boot.ini
switch.) Some time ago before PAE support was implemented in Windows
Intel
had provided an exotic PSE driver (now obsolete) to enable use of
large
memory by one app.

Here is a good overview by Microsoft:
http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx

Dmitriy Budko
VMware


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

> It a /PAE which causes a different kernel and HAL to be loaded. The

feature has been there for a long time, and while it stated for servers,
seems to be in XP also.

Correct, even on laptops.

PAE kernel provides a) >4GB RAM support b) Data Execution Prevention.

The thing is that, with 32bit PTEs, there are no “no-execute” bit. 64bit PTEs
in PAE added it, so DEP requires PAE.

I have an Acer Aspire laptop with OEM-installed XP SP2 with the PAE kernel,
even though the RAM size is only 1GB.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com