Messages in this thread |  | | | From | Andres Salomon <> | | Subject | Re: i686 quirk for AMD Geode | | Date | Sun, 8 Nov 2009 11:05:12 -0500 |
| |
See comment below. BTW, how does this affect performance on LXs? Do you have any hard numbers for common tasks?
On Sat, 7 Nov 2009 12:11:55 +0100 Matteo Croce <technoboy85@gmail.com> wrote: [...] > > --- a/arch/x86/kernel/Makefile 2009-11-06 15:06:52.246223989 > +0100 +++ b/arch/x86/kernel/Makefile 2009-11-06 > 15:07:04.294054613 +0100 @@ -89,7 +89,7 @@ > obj-$(CONFIG_HPET_TIMER) += hpet.o > > obj-$(CONFIG_K8_NB) += k8.o > -obj-$(CONFIG_MGEODE_LX) += geode_32.o mfgpt_32.o > +obj-$(CONFIG_MGEODE_LX) += geode_32.o mfgpt_32.o > nopl_emu.o obj-$(CONFIG_DEBUG_RODATA_TEST) += test_rodata.o > obj-$(CONFIG_DEBUG_NX_TEST) += test_nx.o > > --- a/arch/x86/kernel/cpu/amd.c 2009-11-06 15:06:52.254223805 > +0100 +++ b/arch/x86/kernel/cpu/amd.c 2009-11-06 > 15:07:04.294054613 +0100 @@ -138,8 +138,10 @@ > } > > if (c->x86_model == 10) { > - /* AMD Geode LX is model 10 */ > - /* placeholder for any needed mods */ > + /* Geode only lacks the NOPL instruction to be i686, > + but we can emulate it in the exception handler > + and promote it to a class 6 cpu */ > + boot_cpu_data.x86 = 6; > return; > }
If you're going to update this, you also need to make sure that you're not breaking things that check it. For example, arch/x86/include/asm/geode.h has an is_geode_lx check that expects boot_cpu_data.x86 to be 5. Please be sure to update all these places when creating a patch like this.
|  |