Why does it need PAE? PAE is only for 4GB+ systems running in 32-bit mode. This would normally be something not needed and/or disabled by default. Pentium-M is vague, Core-based Centrino, Mobile Intel Pentium 4, or Pentium 4 era Centrino? I''m guessing it''s a Core-based one since it''s a Tectra, correct me if I''m wrong. Imho it wouldn''t make sense for a reduced mode mobile processor to even have PAE, it can''t even physically support more than 2GB in older "mobile" Intel processor systems. James On Oct 23, 2007, at 8:52 PM, Peter Schow wrote:> Attempting to boot xVM dom0 for the first time on a Toshiba Tecra M2 > running 75a. > > Getting a panic immediately after selecting xVM from the grub menu: > > panic[cpu0]/thread=f502c020: Processor does not support PAE > > This is a 2000 MHz Pentium-M, which I thought was PAE-capable. > > _______________________________________________ > xen-discuss mailing list > xen-discuss@opensolaris.org
Understood. Another member posted that early models of that processor did not have PAE according to Xen notes on RHEL. I have an AMD Opteron 1218, and it has PAE flags, even though it''s ran in 64-bit mode. It''s just a processor limitation, as I suspected. I don''t have experience with the low end Intel processors, as I have a Core 2 T7700 in this notebook, but I did this guess based on feedback from others regarding Xen on Linux with older AMD processors and early Pentium IV chips in the past. I myself have not used Xen on Linux though. I''m curious why xVM hosts does not have the PAE automagic as a RFE or bug, is it architecturally dependent on PAE, and why? This is a question regarding 64-bit hosts, they don''t need PAE, but Xen needs it according to everyone, it just sounds a tad redundant. James On Oct 23, 2007, at 11:08 PM, Joe Bonasera wrote:> > > The hypervisor must be compiled with PAE support or without it. > That''s just how the people who wrote the code made it. > OpenSolaris use a version of the hypervisor compiled for PAE. > If you download the source for the hypervisor, you could rebuild a > version that > didn''t require PAE and use that instead. > > When running plain OpenSolaris (ie. no hypervisor) the solaris > kernel automatically switches between using PAE or not based > on the capabilites of the hardware, amount of memory, etc. > > > James Cornell wrote: >> Why does it need PAE? PAE is only for 4GB+ systems running in 32- >> bit mode. This would normally be something not needed and/or >> disabled by default. Pentium-M is vague, Core-based Centrino, >> Mobile Intel Pentium 4, or Pentium 4 era Centrino? I''m guessing >> it''s a Core-based one since it''s a Tectra, correct me if I''m >> wrong. Imho it wouldn''t make sense for a reduced mode mobile >> processor to even have PAE, it can''t even physically support more >> than 2GB in older "mobile" Intel processor systems. >> James >> On Oct 23, 2007, at 8:52 PM, Peter Schow wrote: >>> Attempting to boot xVM dom0 for the first time on a Toshiba Tecra M2 >>> running 75a. >>> >>> Getting a panic immediately after selecting xVM from the grub menu: >>> >>> panic[cpu0]/thread=f502c020: Processor does not support PAE >>> >>> This is a 2000 MHz Pentium-M, which I thought was PAE-capable. >>> >>> _______________________________________________ >>> xen-discuss mailing list >>> xen-discuss@opensolaris.org >> _______________________________________________ >> xen-discuss mailing list >> xen-discuss@opensolaris.org >
Attempting to boot xVM dom0 for the first time on a Toshiba Tecra M2 running 75a. Getting a panic immediately after selecting xVM from the grub menu: panic[cpu0]/thread=f502c020: Processor does not support PAE This is a 2000 MHz Pentium-M, which I thought was PAE-capable.
On Tue, Oct 23, 2007 at 02:55:40PM +0000, James Cornell wrote:> Why does it need PAE? PAE is only for 4GB+ systems running in 32-bit > mode. This would normally be something not needed and/or disabled by > default. Pentium-M is vague, Core-based Centrino, Mobile Intel > Pentium 4, or Pentium 4 era Centrino? I''m guessing it''s a Core-based > one since it''s a Tectra, correct me if I''m wrong.PAE is supposedly a prerequisite for Xen. This chip is a Pentium-M 755 (Dothan) 2.0 Ghz: http://processorfinder.intel.com/details.aspx?sSpec=SL7EL I''ve since found some hints on the web that claim early Dothan''s do not support PAE, such as in: http://www.markwilson.co.uk/blog/2007/10/some-more-about-virtualisation-with-xen-including-installation-on-rhel5.htm
The hypervisor must be compiled with PAE support or without it. That''s just how the people who wrote the code made it. OpenSolaris use a version of the hypervisor compiled for PAE. If you download the source for the hypervisor, you could rebuild a version that didn''t require PAE and use that instead. When running plain OpenSolaris (ie. no hypervisor) the solaris kernel automatically switches between using PAE or not based on the capabilites of the hardware, amount of memory, etc. James Cornell wrote:> Why does it need PAE? PAE is only for 4GB+ systems running in 32-bit > mode. This would normally be something not needed and/or disabled by > default. Pentium-M is vague, Core-based Centrino, Mobile Intel > Pentium 4, or Pentium 4 era Centrino? I''m guessing it''s a Core-based > one since it''s a Tectra, correct me if I''m wrong. Imho it wouldn''t > make sense for a reduced mode mobile processor to even have PAE, it > can''t even physically support more than 2GB in older "mobile" Intel > processor systems. > > James > > On Oct 23, 2007, at 8:52 PM, Peter Schow wrote: > >> Attempting to boot xVM dom0 for the first time on a Toshiba Tecra M2 >> running 75a. >> >> Getting a panic immediately after selecting xVM from the grub menu: >> >> panic[cpu0]/thread=f502c020: Processor does not support PAE >> >> This is a 2000 MHz Pentium-M, which I thought was PAE-capable. >> >> _______________________________________________ >> xen-discuss mailing list >> xen-discuss@opensolaris.org > > _______________________________________________ > xen-discuss mailing list > xen-discuss@opensolaris.org
Joe Bonasera wrote:> The hypervisor must be compiled with PAE support or without it. > That''s just how the people who wrote the code made it. > OpenSolaris use a version of the hypervisor compiled for PAE. > If you download the source for the hypervisor, you could rebuild a version that > didn''t require PAE and use that instead.Yep, I can confirm that this does work. You have to recompile the hypervisor without PAE feature and install it as /boot/xen.gz, and this avoids the "Processor does not support PAE" Solaris dom0 panic on Pentium-M processors.> When running plain OpenSolaris (ie. no hypervisor) the solaris > kernel automatically switches between using PAE or not based > on the capabilites of the hardware, amount of memory, etc.Doesn''t a xen hypervisor compiled with PAE support enabled report both x86_32 (32bit, non-PAE) and x86_32p (32bit, PAE) support? I didn''t look that close, but it seems that the Solaris dom0 kernel is detecting the hypervisor''s PAE support early during boot in usr/src/uts/i86pc/dboot/dboot_startkern.c function startup_kernel() by looking at the hypervisor''s capability info, and decides to use PAE (*without* *checking* if the cpu supports PAE): /* * See if we are running on a PAE Hypervisor */ { xen_capabilities_info_t caps; if (HYPERVISOR_xen_version(XENVER_capabilities, &caps) != 0) dboot_panic("HYPERVISOR_xen_version(caps) failed"); caps[sizeof (caps) - 1] = 0; if (prom_debug) dboot_printf("xen capabilities %s\n", caps); if (strstr(caps, "x86_32p") != NULL) pae_support = 1; } Later on, in usr/src/uts/i86pc/vm/hat_i86.c function mmu_init() the kernel does know that the cpu has no support for PAE, but PAE mode is already enabled, and Solaris dom0 panics. Couldn''t dboot_startkern.c do a better job deciding when to enable PAE mode, by verifying the CPUID features for PAE before enabling it? This message posted from opensolaris.org
Joe Bonasera wrote:>>OpenSolaris use a version of the hypervisor compiled for PAEHmm, if I remember correct the previous version of Xen (snv_66) was always using PAE in the Dom0 but it could either boot in a PAE Dom0 or non-PAE Dom0 if running as DomU. Hopefully this is still the case, or? regards Bernd> The hypervisor must be compiled with PAE support or without it. > That''s just how the people who wrote the code made it. > OpenSolaris use a version of the hypervisor compiled for PAE. > If you download the source for the hypervisor, you could rebuild a version that > didn''t require PAE and use that instead. > > When running plain OpenSolaris (ie. no hypervisor) the solaris > kernel automatically switches between using PAE or not based > on the capabilites of the hardware, amount of memory, etc. > > > James Cornell wrote: > >> Why does it need PAE? PAE is only for 4GB+ systems running in 32-bit >> mode. This would normally be something not needed and/or disabled by >> default. Pentium-M is vague, Core-based Centrino, Mobile Intel >> Pentium 4, or Pentium 4 era Centrino? I''m guessing it''s a Core-based >> one since it''s a Tectra, correct me if I''m wrong. Imho it wouldn''t >> make sense for a reduced mode mobile processor to even have PAE, it >> can''t even physically support more than 2GB in older "mobile" Intel >> processor systems. >> >> James >> >> On Oct 23, 2007, at 8:52 PM, Peter Schow wrote: >> >> >>> Attempting to boot xVM dom0 for the first time on a Toshiba Tecra M2 >>> running 75a. >>> >>> Getting a panic immediately after selecting xVM from the grub menu: >>> >>> panic[cpu0]/thread=f502c020: Processor does not support PAE >>> >>> This is a 2000 MHz Pentium-M, which I thought was PAE-capable. >>> >>> _______________________________________________ >>> xen-discuss mailing list >>> xen-discuss@opensolaris.org >>> >> _______________________________________________ >> xen-discuss mailing list >> xen-discuss@opensolaris.org >> > > _______________________________________________ > xen-discuss mailing list > xen-discuss@opensolaris.org > >-- Bernd Schemmer, Frankfurt am Main, Germany http://home.arcor.de/bnsmb/index.html M s temprano que tarde el mundo cambiar . Fidel Castro
On Wed, Oct 24, 2007 at 06:14:59PM +0200, Bernd Schemmer wrote:> >>OpenSolaris use a version of the hypervisor compiled for PAE > > Hmm, if I remember correct the previous version of Xen (snv_66) was > always using PAE in the Dom0 but it could either boot in a PAE Dom0 or > non-PAE Dom0 if running as DomU. > > Hopefully this is still the case, or?Yes, this is always the case. It''s only the hypervisor where you have to choose regards john
I made some more experiments on my Pentium-M laptop (32-bit, non-PAE cpu), and found out that if I disable that panic("Processor does not support PAE") call in usr/src/uts/i86pc/vm/hat_i86.c, then I can boot a dom0 kernel just fine using the standard PAE enabled hypervisor: diff -r 7aad25c79a0f usr/src/uts/i86pc/vm/hat_i86.c --- a/usr/src/uts/i86pc/vm/hat_i86.c Fri Oct 26 11:18:55 2007 -0700 +++ b/usr/src/uts/i86pc/vm/hat_i86.c Sun Oct 28 01:58:29 2007 +0200 @@ -516,7 +516,11 @@ mmu_init(void) } if (mmu.pae_hat && (x86_feature & X86_PAE) == 0) +#if defined(__xpv) + cmn_err(CE_NOTE, "Processor does not support PAE"); +#else panic("Processor does not support PAE"); +#endif if ((x86_feature & X86_CX8) == 0) panic("Processor does not support cmpxchg8b instruction"); I get the notice that the processor does not support PAE, but it boots just fine. A Solaris domU can be booted, too. Can anyone explain what kind of mmu the hypervisor is emulating, when it''s compiled with with XEN_TARGET_X86_PAE=y? It seems as if Xen offeres a PAE enabled mmu to a PV dom0/domU, which dom0/domU can find out by searching for the xen capability "xen-3.0-x86_32p"; the CPUID(1) %edx feature bit for the real cpu''s PAE feature might not be what needs for be checked to find out if an mmu with or without PAE features is present in the virtualized environment.> The hypervisor must be compiled with PAE support or without it. > That''s just how the people who wrote the code made it. > OpenSolaris use a version of the hypervisor compiled for PAE. > If you download the source for the hypervisor, you > could rebuild a version that didn''t require PAE and use that instead. > > When running plain OpenSolaris (ie. no hypervisor) the solaris > kernel automatically switches between using PAE or not based > on the capabilites of the hardware, amount of memory, etc. > > > James Cornell wrote: > > Why does it need PAE? PAE is only for 4GB+ systems running in 32-bit > > mode. This would normally be something not needed and/or disabled by > > default. Pentium-M is vague, Core-based Centrino, Mobile Intel > > Pentium 4, or Pentium 4 era Centrino? I''m guessing it''s a Core-based > > one since it''s a Tectra, correct me if I''m wrong. > Imho it wouldn''t make sense for a reduced mode mobile processor to > even have PAE, it can''t even physically support more than 2GB in older > "mobile" Intel processor systems. > > James > > On Oct 23, 2007, at 8:52 PM, Peter Schow wrote: > > > Attempting to boot xVM dom0 for the first time on a Toshiba Tecra M2 > >> running 75a. > >> > >> Getting a panic immediately after selecting xVM from the grub menu: > >> > >> panic[cpu0]/thread=f502c020: Processor does not support PAE > >> > >> This is a 2000 MHz Pentium-M, which I thought was PAE-capable.This message posted from opensolaris.org