Messages in this thread | | | Date | Thu, 18 Sep 2008 16:52:20 +0100 | From | "Jan Beulich" <> | Subject | Re: [PATCH] x86: x86_{phys,virt}_bits field also for i386 (v3) |
| |
>>> "H. Peter Anvin" <hpa@zytor.com> 18.09.08 17:25 >>> >Jan Beulich wrote: >> + >> +#ifdef CONFIG_X86_32 >> + if (cpu_has(c, X86_FEATURE_PAE) || cpu_has(c, X86_FEATURE_PSE36)) >> + c->x86_phys_bits = 36; >> +#endif >> } >> > >I'm confused about this. > >There is no reason for this to be #ifdef'd; but it should be conditional >on this information not being otherwise available (which will always be >the case on 64 bits), I would assume. If we are setting a value there, >we should presumably also set 32 in the other case.
It does get set to 32 first (and only for 32-bits - 64bits didn't set any default so far, so I didn't want to make it to now), and the code fragment above updates that default after feature flags have been obtained, but before other capabilities (including the phys/virt bit widths) are being gathered.
Jan
| |