Vista x86 and PAE?

Does Vista x86 support PAE mode?

I have an Opteron system with NVIDIA nForce4 chipset and 6 GB RAM.
RAM occupies two physical regions: 0-2 GB and 4-8 GB.
Vista x64 reports 6 GB, Vista x86 – only 2 GB.

Putting PAE flag in BCD doesn’t change anything, the kernel is still in
non-PAE mode (!pte shows only PDE and one PTE per VA). The name of kernel
image suggest PAE support: ntkrpamp.exe.

I know that Vista x86 supports only 4 GB RAM but does this RAM have to be
under 4 GB? Does Vista x86 support PAE at all? Do 32-bit Longhorn betas
support PAE?

Dmitriy Budko
VMware

Dmitriy:

My Vista (5384-x86-CHK) loads PAE OK (byte entries), but I have a
totally ordinary memory configuration. For what it is worth, here are
the bcdsettings:

pae forceenable
3gb
debug on
debugtype 1394
channel 1
halbreakpoint on
bootstatuspolicy displayallfailures
sos on
bootlog on
nx OptIn

I believe that pae has another value like “on,” (in addition to off);
perhaps that it is it. The nx option affects pae, but I don’t see how
it could force it to be disabled. I noticed that there is an option
(that I do not set) to disable driver verifier. Just a thought.

>> xxxxx@vmware.com 2006-10-26 22:34 >>>
Does Vista x86 support PAE mode?

I have an Opteron system with NVIDIA nForce4 chipset and 6 GB RAM.
RAM occupies two physical regions: 0-2 GB and 4-8 GB.
Vista x64 reports 6 GB, Vista x86 – only 2 GB.

Putting PAE flag in BCD doesn’t change anything, the kernel is still
in
non-PAE mode (!pte shows only PDE and one PTE per VA). The name of
kernel
image suggest PAE support: ntkrpamp.exe.

I know that Vista x86 supports only 4 GB RAM but does this RAM have to
be
under 4 GB? Does Vista x86 support PAE at all? Do 32-bit Longhorn
betas
support PAE?

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

Martin,

Are you sure that the kernel uses PAE mode?

Dmitriy Budko
VMware

Dmitriy:

My Vista (5384-x86-CHK) loads PAE OK (byte entries), but I have a
totally ordinary memory configuration. For what it is worth, here are
the bcdsettings:

pae forceenable
3gb
debug on
debugtype 1394
channel 1
halbreakpoint on
bootstatuspolicy displayallfailures
sos on
bootlog on
nx OptIn

I believe that pae has another value like “on,” (in addition to off);
perhaps that it is it. The nx option affects pae, but I don’t see how
it could force it to be disabled. I noticed that there is an option
(that I do not set) to disable driver verifier. Just a thought.

Does Vista x86 support PAE mode?

I have an Opteron system with NVIDIA nForce4 chipset and 6 GB RAM.
RAM occupies two physical regions: 0-2 GB and 4-8 GB.
Vista x64 reports 6 GB, Vista x86 – only 2 GB.

Putting PAE flag in BCD doesn’t change anything, the kernel is still
in
non-PAE mode (!pte shows only PDE and one PTE per VA). The name of
kernel
image suggest PAE support: ntkrpamp.exe.

I know that Vista x86 supports only 4 GB RAM but does this RAM have to
be
under 4 GB? Does Vista x86 support PAE at all? Do 32-bit Longhorn
betas
support PAE?

Dmitriy Budko
VMware

On 10/30/06, Dmitriy Budko wrote:
> Martin,
>
> Are you sure that the kernel uses PAE mode?

If NX is enabled, PAE needs to be enabled also. The CPU requires it.

Regards,
~Nuno Lucas

> Dmitriy Budko
> VMware
>
>
> > Dmitriy:
> >
> > My Vista (5384-x86-CHK) loads PAE OK (byte entries), but I have a
> > totally ordinary memory configuration. For what it is worth, here are
> > the bcdsettings:
> >
> > pae forceenable
> > 3gb
> > debug on
> > debugtype 1394
> > channel 1
> > halbreakpoint on
> > bootstatuspolicy displayallfailures
> > sos on
> > bootlog on
> > nx OptIn
> >
> > I believe that pae has another value like “on,” (in addition to off);
> > perhaps that it is it. The nx option affects pae, but I don’t see how
> > it could force it to be disabled. I noticed that there is an option
> > (that I do not set) to disable driver verifier. Just a thought.
> >
> >
> >
> > Does Vista x86 support PAE mode?
> >
> > I have an Opteron system with NVIDIA nForce4 chipset and 6 GB RAM.
> > RAM occupies two physical regions: 0-2 GB and 4-8 GB.
> > Vista x64 reports 6 GB, Vista x86 – only 2 GB.
> >
> > Putting PAE flag in BCD doesn’t change anything, the kernel is still
> > in
> > non-PAE mode (!pte shows only PDE and one PTE per VA). The name of
> > kernel
> > image suggest PAE support: ntkrpamp.exe.
> >
> > I know that Vista x86 supports only 4 GB RAM but does this RAM have to
> > be
> > under 4 GB? Does Vista x86 support PAE at all? Do 32-bit Longhorn
> > betas
> > support PAE?
> >
> >
> > 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
>

Microsoft’s Data Execution Prevention doesn’t require using CPU’s NX/XD bit:
http://support.microsoft.com/default.aspx/kb/875352
"… DEP is enforced by hardware and by software.

The primary benefit of DEP is to help prevent code execution from data pages.
Typically, code is not executed from the default heap and the stack.
Hardware-enforced DEP detects code that is running from these locations and
raises an exception when execution occurs. Software-enforced DEP can help
prevent malicious code from taking advantage of exception-handling mechanisms
in Windows. "

Somebody else has reported the same problem:
http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=859047&SiteID=17

So far it seems that 32-bit Vista doesn’t support PAE so it doesn’t support
hardware-enforced DEP. It is a security step-back from XP SP2. Am I missing
something here?

Dmitriy Budko
VMware

On 10/30/06, Dmitriy Budko wrote:
> Martin,
>
> Are you sure that the kernel uses PAE mode?

If NX is enabled, PAE needs to be enabled also. The CPU requires it.

Regards,
~Nuno Lucas

> Dmitriy Budko
> VMware
>
>
> > Dmitriy:
> >
> > My Vista (5384-x86-CHK) loads PAE OK (byte entries), but I have a
> > totally ordinary memory configuration. For what it is worth, here are
> > the bcdsettings:
> >
> > pae forceenable
> > 3gb
> > debug on
> > debugtype 1394
> > channel 1
> > halbreakpoint on
> > bootstatuspolicy displayallfailures
> > sos on
> > bootlog on
> > nx OptIn
> >
> > I believe that pae has another value like “on,” (in addition to off);
> > perhaps that it is it. The nx option affects pae, but I don’t see how
> > it could force it to be disabled. I noticed that there is an option
> > (that I do not set) to disable driver verifier. Just a thought.
> >
> >
> >
> > Does Vista x86 support PAE mode?
> >
> > I have an Opteron system with NVIDIA nForce4 chipset and 6 GB RAM.
> > RAM occupies two physical regions: 0-2 GB and 4-8 GB.
> > Vista x64 reports 6 GB, Vista x86 – only 2 GB.
> >
> > Putting PAE flag in BCD doesn’t change anything, the kernel is still
> > in
> > non-PAE mode (!pte shows only PDE and one PTE per VA). The name of
> > kernel
> > image suggest PAE support: ntkrpamp.exe.
> >
> > I know that Vista x86 supports only 4 GB RAM but does this RAM have to
> > be
> > under 4 GB? Does Vista x86 support PAE at all? Do 32-bit Longhorn
> > betas
> > support PAE?
> >
> >
> > Dmitriy Budko
> > VMware

Never mind, my mistake: Vista uses PAE mode. Local WinDbg ‘!pae’ output had
confused me; it had only PDE and PTE entries. I didn’t realize that they are
8 bytes each. Connecting a remote WinDbg and dumping CR4 confirms that CR4’s
PAE bit is set.

It leaves out the question of accessing RAM above 4 GB but it is a not a
technical problem, it’s Vista’s licensing limit.

Dmitriy Budko
VMware

So far it seems that 32-bit Vista doesn’t support PAE so it doesn’t
support
hardware-enforced DEP. It is a security step-back from XP SP2. Am I
missing
something here?

Dmitriy Budko
VMware

DMITRIY:

I’m sorry it has taken me so long to get back to you; I’ve been out of
the office for the last week. If you’re question hasn’t yet been
answered, based on the use of eight byte entries for a page table entry
(according to !pte), I think that it is using PAE. I think I mentioned
previously that my memory configuration is very ordinary; I don’t know
if that matters or not. Also, I’ve had this problem in the past on two
particular XP systems (Intel P4 3.06 and AMD Athlon 64 (x86 OS)); I
never figured out why.

mm

>> xxxxx@vmware.com 2006-10-30 18:08:11 >>>
Martin,

Are you sure that the kernel uses PAE mode?

Dmitriy Budko
VMware

Dmitriy:

My Vista (5384-x86-CHK) loads PAE OK (byte entries), but I have a
totally ordinary memory configuration. For what it is worth, here
are
the bcdsettings:

pae forceenable
3gb
debug on
debugtype 1394
channel 1
halbreakpoint on
bootstatuspolicy displayallfailures
sos on
bootlog on
nx OptIn

I believe that pae has another value like “on,” (in addition to
off);
perhaps that it is it. The nx option affects pae, but I don’t see
how
it could force it to be disabled. I noticed that there is an option
(that I do not set) to disable driver verifier. Just a thought.

Does Vista x86 support PAE mode?

I have an Opteron system with NVIDIA nForce4 chipset and 6 GB RAM.
RAM occupies two physical regions: 0-2 GB and 4-8 GB.
Vista x64 reports 6 GB, Vista x86 – only 2 GB.

Putting PAE flag in BCD doesn’t change anything, the kernel is still
in
non-PAE mode (!pte shows only PDE and one PTE per VA). The name of
kernel
image suggest PAE support: ntkrpamp.exe.

I know that Vista x86 supports only 4 GB RAM but does this RAM have
to
be
under 4 GB? Does Vista x86 support PAE at all? Do 32-bit Longhorn
betas
support PAE?

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