How to tell for sure if PAE (Physical Address Extensions) is enabled or not?
On any modern Intel/AMD (x86/x64) system with hardware-level DEP, PAE is enabled out of the box on Windows XP (SP2?) and up, since it's required for the DEP feature to work.
"does my Qosmio x505 laptop support hot-add memory?"
No, it most assuredly does not.
Hot-add RAM is generally only found on high-end server hardware.
According to MSDN Entry for PAE, it's enabled by default under certain (common) conditions:
Windows automatically enables PAE if DEP is enabled on a computer that supports hardware-enabled DEP, or if the computer is configured for hot-add memory devices in memory ranges beyond 4 GB. If the computer does not support hardware-enabled DEP or is not configured for hot-add memory devices in memory ranges beyond 4 GB, PAE must be explicitly enabled.
So, if the system is booted with PAE force-enabled or supports hardware DEP, PAE is on. That's every single system that's come with Vista or Windows 7 pre-installed, and a significant number of XP systems as well (late P4, Core Solo/Duo, Core 2 systems). The only caveat is if someone has gone out of their way to force disable it by editing the
boot.ini file (for XP) or modify the BCD (for Vista/7).
As for how to see that it's enabled, I'm not sure. In XP, if you right click on
My Computer and select
General tab will say
Physical Address Extension at the bottom if PAE is enabled. 64-bit Win 7 systems don't seem to say, probably because PAE is always enabled on such systems. 32-bit Win 7 may say something similar in the System Control Panel, but until I can check my home laptop, I can't tell you for sure -- it's the only 32-bit Win 7 system I have access to, all my others are 64-bit.
There doesn't seem to be any registry entry that tells whether or not it's on.
Ultimately, the point is that it's safe to assume it's on unless you have a good reason to believe it's not. If you're writing code that depends on it, use the IsProcessorFeaturePresent function, that's what it's there for.