Messages in this thread |  | | | Date | Tue, 10 Nov 2009 06:58:37 +0100 | | From | Willy Tarreau <> | | Subject | Re: i686 quirk for AMD Geode |
| |
On Sun, Nov 08, 2009 at 01:47:59PM -0500, Andres Salomon wrote: > > Right, but what if is_geode_lx() is called befor the x86.id change > > takes effect? Maybe something like this? > > > > --- a/arch/x86/include/asm/geode.h 2009-11-08 19:13:43.531117343 +0100 > > +++ b/arch/x86/include/asm/geode.h 2009-11-08 19:19:42.130618023 > > +0100 @@ -177,7 +177,7 @@ > > static inline int is_geode_lx(void) > > { > > return ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) && > > - (boot_cpu_data.x86 == 5) && > > + (boot_cpu_data.x86 == 5 || boot_cpu_data.x86 == 6) && > > (boot_cpu_data.x86_model == 10)); > > } > > > Yeah, that looks better.
Wouldn't it be even better if we didn't touch boot_cpu_data.x86 in the first place ? We can provide the emulation to support 686 binaries without faking the CPU family/model, I think it would be cleaner. Otherwise we would need to report "real" and "emulated" families in /proc...
Willy
|  |