Patchwork CAR on Intel P6 Series - Support for model_6bx

login
register
about
Submitter Joseph Smith
Date 2010-04-08 06:09:09
Message ID <4BBD7305.9060702@settoplinux.org>
Download mbox | patch
Permalink /patch/1202/
State Accepted
Headers show

Comments

Joseph Smith - 2010-04-08 06:09:09
Hello,
1. This patch adds CAR for Intel P6 series processors.
2. Add support for Micro-FCBGA 479 Celeron and PIII's
3. Add support for model_6bx and microcode updates
4. Add support for CAR and Tinybootblock on RCA RM4100 and Thomson IP1000

Build and boot tested (bootlog attached).

Signed-off-by: Joseph Smith <joe@settoplinux.org>
Paul Menzel - 2010-04-08 06:36:56
Dear Joseph,


Am Donnerstag, den 08.04.2010, 02:09 -0400 schrieb Joseph Smith:
> 1. This patch adds CAR for Intel P6 series processors.
> 2. Add support for Micro-FCBGA 479 Celeron and PIII's
> 3. Add support for model_6bx and microcode updates
> 4. Add support for CAR and Tinybootblock on RCA RM4100 and Thomson IP1000

sorry for my dump question. Does supporting CAR have any practical
improvements besides going with coreboot features(?). For example did
boot time improve?

> Build and boot tested (bootlog attached).

It says »Boot failed.« at the end. But that is due to the payload, is
not it?

Anyway, I just spotted one indentation error. Someone knowledgeable has
to do the review. Sorry!

[…]

> Index: src/cpu/intel/model_6bx/cache_as_ram_disable.c
> ===================================================================
> --- src/cpu/intel/model_6bx/cache_as_ram_disable.c      (revision 0)
> +++ src/cpu/intel/model_6bx/cache_as_ram_disable.c      (revision 0)
> @@ -0,0 +1,89 @@
> +/*
> + * This file is part of the coreboot project.
> + * 
> + * Copyright (C) 2007-2009 coresystems GmbH
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; version 2 of
> + * the License.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
> + * MA 02110-1301 USA
> + */
> +
> +#include "cpu/x86/car/copy_and_run.c"
> +
> +/* called from assembler code */
> +void stage1_main(unsigned long bist);
> +
> +/* from romstage.c */
> +void real_main(unsigned long bist);
> +
> +void stage1_main(unsigned long bist)
> +{
> +       unsigned int cpu_reset = 0;
> +
> +       real_main(bist);
> +
> +       /* No servicable parts below this line .. */
> +#ifdef CAR_DEBUG
> +        /* Check value of esp to verify if we have enough rom for
> stack in Cache as RAM */
> +       unsigned v_esp;
> +       __asm__ volatile (
> +               "movl   %%esp, %0\n"
> +               : "=a" (v_esp)
> +       );
> +       printk(BIOS_SPEW, "v_esp=%08x\n", v_esp);
> +#endif
> +
> +        printk(BIOS_SPEW, "cpu_reset = %08x\n", cpu_reset);
> +       printk(BIOS_SPEW, "No cache as ram now - ");

This indentation looks different. I do not know if it is just my MUA.

[…]


Thanks for your work,

Paul


[1] http://www.coreboot.org/images/6/6c/LBCar.pdf
Joseph Smith - 2010-04-08 12:01:08
On 04/08/2010 02:36 AM, Paul Menzel wrote:
> Dear Joseph,
>
>
> Am Donnerstag, den 08.04.2010, 02:09 -0400 schrieb Joseph Smith:
>> 1. This patch adds CAR for Intel P6 series processors.
>> 2. Add support for Micro-FCBGA 479 Celeron and PIII's
>> 3. Add support for model_6bx and microcode updates
>> 4. Add support for CAR and Tinybootblock on RCA RM4100 and Thomson IP1000
>
> sorry for my dump question. Does supporting CAR have any practical
> improvements besides going with coreboot features(?). For example did
> boot time improve?
>
Yes it seems to boot alot faster :-)

>> Build and boot tested (bootlog attached).
>
> It says »Boot failed.« at the end. But that is due to the payload, is
> not it?
>
Yes that log was without a payload.

> Anyway, I just spotted one indentation error. Someone knowledgeable has
> to do the review. Sorry!
>
> […]
>
>> Index: src/cpu/intel/model_6bx/cache_as_ram_disable.c
>> ===================================================================
>> --- src/cpu/intel/model_6bx/cache_as_ram_disable.c      (revision 0)
>> +++ src/cpu/intel/model_6bx/cache_as_ram_disable.c      (revision 0)
>> @@ -0,0 +1,89 @@
>> +/*
>> + * This file is part of the coreboot project.
>> + *
>> + * Copyright (C) 2007-2009 coresystems GmbH
>> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU General Public License as
>> + * published by the Free Software Foundation; version 2 of
>> + * the License.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program; if not, write to the Free Software
>> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
>> + * MA 02110-1301 USA
>> + */
>> +
>> +#include "cpu/x86/car/copy_and_run.c"
>> +
>> +/* called from assembler code */
>> +void stage1_main(unsigned long bist);
>> +
>> +/* from romstage.c */
>> +void real_main(unsigned long bist);
>> +
>> +void stage1_main(unsigned long bist)
>> +{
>> +       unsigned int cpu_reset = 0;
>> +
>> +       real_main(bist);
>> +
>> +       /* No servicable parts below this line .. */
>> +#ifdef CAR_DEBUG
>> +        /* Check value of esp to verify if we have enough rom for
>> stack in Cache as RAM */
>> +       unsigned v_esp;
>> +       __asm__ volatile (
>> +               "movl   %%esp, %0\n"
>> +               : "=a" (v_esp)
>> +       );
>> +       printk(BIOS_SPEW, "v_esp=%08x\n", v_esp);
>> +#endif
>> +
>> +        printk(BIOS_SPEW, "cpu_reset = %08x\n", cpu_reset);
>> +       printk(BIOS_SPEW, "No cache as ram now - ");
>
> This indentation looks different. I do not know if it is just my MUA.
>
ah thanks.
Stefan Reinauer - 2010-04-08 20:51:25
On 4/8/10 8:09 AM, Joseph Smith wrote:
>
> Signed-off-by: Joseph Smith <joe@settoplinux.org>
>
Nice! Thanks, Joseph!

> Index: src/cpu/intel/Kconfig
> ===================================================================
> --- src/cpu/intel/Kconfig	(revision 5372)
> +++ src/cpu/intel/Kconfig	(working copy)
>   
> +source src/cpu/intel/socket_mfcbga479/Kconfig
>  source src/cpu/intel/socket_mFCPGA478/Kconfig
>  source src/cpu/intel/socket_mPGA478/Kconfig
>  source src/cpu/intel/socket_mPGA479M/Kconfig
>   
I think you should keep the naming convention here: mFCBGA479

> Index: src/cpu/intel/Makefile.inc
> ===================================================================
> --- src/cpu/intel/Makefile.inc	(revision 5372)
> +++ src/cpu/intel/Makefile.inc	(working copy)
> @@ -6,6 +6,7 @@
>  subdirs-$(CONFIG_CPU_INTEL_SOCKET_441) += socket_441
>  subdirs-$(CONFIG_CPU_INTEL_SOCKET_BGA956) += bga956
>  subdirs-$(CONFIG_CPU_INTEL_EP80579) += ep80579
> +subdirs-$(CONFIG_CPU_INTEL_SOCKET_MFCBGA479) += socket_mfcbga479
>   
ditto

> Index: src/cpu/intel/model_6bx/Kconfig
> ===================================================================
> --- src/cpu/intel/model_6bx/Kconfig	(revision 0)
> +++ src/cpu/intel/model_6bx/Kconfig	(revision 0)
> @@ -0,0 +1,3 @@
> +config CPU_INTEL_CORE
> +	bool
> +	select SMP
>   
Now, this is definitely wrong.

> Index: src/cpu/intel/socket_mfcbga479/Kconfig
> ===================================================================
> --- src/cpu/intel/socket_mfcbga479/Kconfig	(revision 0)
> +++ src/cpu/intel/socket_mfcbga479/Kconfig	(revision 0)
> @@ -0,0 +1,5 @@
> +config CPU_INTEL_SOCKET_MFCBGA479
> +	bool
> +	select CPU_INTEL_MODEL_6BX
>   
Where is CPU_INTEL_MODEL_6BX defined?

With above issues fixed this is
Acked-by: Stefan Reinauer <stepan@coresystems.de>


Stefan
Joseph Smith - 2010-04-08 21:32:36
On Thu, 08 Apr 2010 22:51:25 +0200, Stefan Reinauer <stepan@coresystems.de>
wrote:
> On 4/8/10 8:09 AM, Joseph Smith wrote:
>>
>> Signed-off-by: Joseph Smith <joe@settoplinux.org>
>>
> Nice! Thanks, Joseph!
> 
>> Index: src/cpu/intel/Kconfig
>> ===================================================================
>> --- src/cpu/intel/Kconfig	(revision 5372)
>> +++ src/cpu/intel/Kconfig	(working copy)
>>
>> +source src/cpu/intel/socket_mfcbga479/Kconfig
>>  source src/cpu/intel/socket_mFCPGA478/Kconfig
>>  source src/cpu/intel/socket_mPGA478/Kconfig
>>  source src/cpu/intel/socket_mPGA479M/Kconfig
>>
> I think you should keep the naming convention here: mFCBGA479
> 
Ok I can do that.

>> Index: src/cpu/intel/Makefile.inc
>> ===================================================================
>> --- src/cpu/intel/Makefile.inc	(revision 5372)
>> +++ src/cpu/intel/Makefile.inc	(working copy)
>> @@ -6,6 +6,7 @@
>>  subdirs-$(CONFIG_CPU_INTEL_SOCKET_441) += socket_441
>>  subdirs-$(CONFIG_CPU_INTEL_SOCKET_BGA956) += bga956
>>  subdirs-$(CONFIG_CPU_INTEL_EP80579) += ep80579
>> +subdirs-$(CONFIG_CPU_INTEL_SOCKET_MFCBGA479) += socket_mfcbga479
>>
> ditto
> 
>> Index: src/cpu/intel/model_6bx/Kconfig
>> ===================================================================
>> --- src/cpu/intel/model_6bx/Kconfig	(revision 0)
>> +++ src/cpu/intel/model_6bx/Kconfig	(revision 0)
>> @@ -0,0 +1,3 @@
>> +config CPU_INTEL_CORE
>> +	bool
>> +	select SMP
>>
> Now, this is definitely wrong.
>
Oops, I will fix that.
> 
>> Index: src/cpu/intel/socket_mfcbga479/Kconfig
>> ===================================================================
>> --- src/cpu/intel/socket_mfcbga479/Kconfig	(revision 0)
>> +++ src/cpu/intel/socket_mfcbga479/Kconfig	(revision 0)
>> @@ -0,0 +1,5 @@
>> +config CPU_INTEL_SOCKET_MFCBGA479
>> +	bool
>> +	select CPU_INTEL_MODEL_6BX
>>
> Where is CPU_INTEL_MODEL_6BX defined?
> 
Not sure what you mean. It is defined by the socket.

> With above issues fixed this is
> Acked-by: Stefan Reinauer <stepan@coresystems.de>
> 
>
Stefan Reinauer - 2010-04-08 21:37:59
On 4/8/10 11:32 PM, Joseph Smith wrote:
>>> Index: src/cpu/intel/model_6bx/Kconfig
>>> ===================================================================
>>> --- src/cpu/intel/model_6bx/Kconfig	(revision 0)
>>> +++ src/cpu/intel/model_6bx/Kconfig	(revision 0)
>>> @@ -0,0 +1,3 @@
>>> +config CPU_INTEL_CORE
>>> +	bool
>>> +	select SMP
>>>
>>>       
>> Now, this is definitely wrong.
>>
>>     
> Oops, I will fix that.
>   

>>> Index: src/cpu/intel/socket_mfcbga479/Kconfig
>>> ===================================================================
>>> --- src/cpu/intel/socket_mfcbga479/Kconfig	(revision 0)
>>> +++ src/cpu/intel/socket_mfcbga479/Kconfig	(revision 0)
>>> @@ -0,0 +1,5 @@
>>> +config CPU_INTEL_SOCKET_MFCBGA479
>>> +	bool
>>> +	select CPU_INTEL_MODEL_6BX
>>>
>>>       
>> Where is CPU_INTEL_MODEL_6BX defined?
>>
>>     
> Not sure what you mean. It is defined by the socket.
>   

No, it's not. It's used in the socket, but it's never defined anywhere.
Joseph Smith - 2010-04-08 21:42:15
On Thu, 08 Apr 2010 23:37:59 +0200, Stefan Reinauer <stepan@coresystems.de>
wrote:
> On 4/8/10 11:32 PM, Joseph Smith wrote:
>>>> Index: src/cpu/intel/model_6bx/Kconfig
>>>> ===================================================================
>>>> --- src/cpu/intel/model_6bx/Kconfig	(revision 0)
>>>> +++ src/cpu/intel/model_6bx/Kconfig	(revision 0)
>>>> @@ -0,0 +1,3 @@
>>>> +config CPU_INTEL_CORE
>>>> +	bool
>>>> +	select SMP
>>>>
>>>>
>>> Now, this is definitely wrong.
>>>
>>>
>> Oops, I will fix that.
>>
> 
>>>> Index: src/cpu/intel/socket_mfcbga479/Kconfig
>>>> ===================================================================
>>>> --- src/cpu/intel/socket_mfcbga479/Kconfig	(revision 0)
>>>> +++ src/cpu/intel/socket_mfcbga479/Kconfig	(revision 0)
>>>> @@ -0,0 +1,5 @@
>>>> +config CPU_INTEL_SOCKET_MFCBGA479
>>>> +	bool
>>>> +	select CPU_INTEL_MODEL_6BX
>>>>
>>>>
>>> Where is CPU_INTEL_MODEL_6BX defined?
>>>
>>>
>> Not sure what you mean. It is defined by the socket.
>>
> 
> No, it's not. It's used in the socket, but it's never defined anywhere.
> 
hmm, ok I will look into it.

Thanks for your review Stefan.
Myles Watson - 2010-04-08 21:45:50
> On Thu, 08 Apr 2010 23:37:59 +0200, Stefan Reinauer <stepan@coresystems.de
> >
> wrote:
> > On 4/8/10 11:32 PM, Joseph Smith wrote:
> >>>> Index: src/cpu/intel/model_6bx/Kconfig
> >>>> ===================================================================
> >>>> --- src/cpu/intel/model_6bx/Kconfig        (revision 0)
> >>>> +++ src/cpu/intel/model_6bx/Kconfig        (revision 0)
> >>>> @@ -0,0 +1,3 @@
> >>>> +config CPU_INTEL_CORE
> >>>> +  bool
> >>>> +  select SMP
>
This looks like it was copied directly from cpu/intel/model_6ex/Kconfig.

You are redefining CPU_INTEL_CORE here.  This is probably where you wanted
to define CPU_INTEL_MODEL_6BX.

Myles
Joseph Smith - 2010-04-08 21:59:10
On Thu, 8 Apr 2010 15:45:50 -0600, Myles Watson <mylesgw@gmail.com> wrote:
>> On Thu, 08 Apr 2010 23:37:59 +0200, Stefan Reinauer
> <stepan@coresystems.de
>> >
>> wrote:
>> > On 4/8/10 11:32 PM, Joseph Smith wrote:
>> >>>> Index: src/cpu/intel/model_6bx/Kconfig
>> >>>> ===================================================================
>> >>>> --- src/cpu/intel/model_6bx/Kconfig        (revision 0)
>> >>>> +++ src/cpu/intel/model_6bx/Kconfig        (revision 0)
>> >>>> @@ -0,0 +1,3 @@
>> >>>> +config CPU_INTEL_CORE
>> >>>> +  bool
>> >>>> +  select SMP
>>
> This looks like it was copied directly from cpu/intel/model_6ex/Kconfig.
> 
> You are redefining CPU_INTEL_CORE here.  This is probably where you
wanted
> to define CPU_INTEL_MODEL_6BX.
> 
Ah ok thanks Myles.

So there is not actually a:

#define CPU_INTEL_MODEL_6BX blabla

preprocessing directive anywhere. It just needs to be defined in Kconfig.
Myles Watson - 2010-04-08 22:02:09
> -----Original Message-----
> From: Joseph Smith [mailto:joe@settoplinux.org]
> Sent: Thursday, April 08, 2010 3:59 PM
> To: Myles Watson
> Cc: Stefan Reinauer; coreboot@coreboot.org
> Subject: Re: [coreboot] [PATCH] CAR on Intel P6 Series - Support for
> model_6bx
> 
> >> > On 4/8/10 11:32 PM, Joseph Smith wrote:
> >> >>>> Index: src/cpu/intel/model_6bx/Kconfig
> >> >>>>
> ===================================================================
> >> >>>> --- src/cpu/intel/model_6bx/Kconfig        (revision 0)
> >> >>>> +++ src/cpu/intel/model_6bx/Kconfig        (revision 0)
> >> >>>> @@ -0,0 +1,3 @@
> >> >>>> +config CPU_INTEL_CORE
> >> >>>> +  bool
> >> >>>> +  select SMP
> >>
> > This looks like it was copied directly from cpu/intel/model_6ex/Kconfig.
> >
> > You are redefining CPU_INTEL_CORE here.  This is probably where you
> wanted
> > to define CPU_INTEL_MODEL_6BX.
> >
> Ah ok thanks Myles.
> 
> So there is not actually a:
> 
> #define CPU_INTEL_MODEL_6BX blabla
> 
> preprocessing directive anywhere. It just needs to be defined in Kconfig.

That's right.  "config FOO" defines CONFIG_FOO.  "select FOO" just sets it
if it exists.  You can check in your .config file to make sure the symbols
you expect to be defined are showing up.

Thanks,
Myles
Joseph Smith - 2010-04-08 22:12:02
On Thu, 8 Apr 2010 16:02:09 -0600, "Myles Watson" <mylesgw@gmail.com>
wrote:
> 
> 
>> -----Original Message-----
>> From: Joseph Smith [mailto:joe@settoplinux.org]
>> Sent: Thursday, April 08, 2010 3:59 PM
>> To: Myles Watson
>> Cc: Stefan Reinauer; coreboot@coreboot.org
>> Subject: Re: [coreboot] [PATCH] CAR on Intel P6 Series - Support for
>> model_6bx
>>
>> >> > On 4/8/10 11:32 PM, Joseph Smith wrote:
>> >> >>>> Index: src/cpu/intel/model_6bx/Kconfig
>> >> >>>>
>> ===================================================================
>> >> >>>> --- src/cpu/intel/model_6bx/Kconfig        (revision 0)
>> >> >>>> +++ src/cpu/intel/model_6bx/Kconfig        (revision 0)
>> >> >>>> @@ -0,0 +1,3 @@
>> >> >>>> +config CPU_INTEL_CORE
>> >> >>>> +  bool
>> >> >>>> +  select SMP
>> >>
>> > This looks like it was copied directly from
> cpu/intel/model_6ex/Kconfig.
>> >
>> > You are redefining CPU_INTEL_CORE here.  This is probably where you
>> wanted
>> > to define CPU_INTEL_MODEL_6BX.
>> >
>> Ah ok thanks Myles.
>>
>> So there is not actually a:
>>
>> #define CPU_INTEL_MODEL_6BX blabla
>>
>> preprocessing directive anywhere. It just needs to be defined in
Kconfig.
> 
> That's right.  "config FOO" defines CONFIG_FOO.  "select FOO" just sets
it
> if it exists.  You can check in your .config file to make sure the
symbols
> you expect to be defined are showing up.
> 
Hmm, I wonder why this did not throw an error at me?
Myles Watson - 2010-04-08 22:27:37
On Thu, Apr 8, 2010 at 4:12 PM, Joseph Smith <joe@settoplinux.org> wrote:

>
>
>
> On Thu, 8 Apr 2010 16:02:09 -0600, "Myles Watson" <mylesgw@gmail.com>
> wrote:
> >
> >
> >> -----Original Message-----
> >> From: Joseph Smith [mailto:joe@settoplinux.org]
> >> Sent: Thursday, April 08, 2010 3:59 PM
> >> To: Myles Watson
> >> Cc: Stefan Reinauer; coreboot@coreboot.org
> >> Subject: Re: [coreboot] [PATCH] CAR on Intel P6 Series - Support for
> >> model_6bx
> >>
> >> >> > On 4/8/10 11:32 PM, Joseph Smith wrote:
> >> >> >>>> Index: src/cpu/intel/model_6bx/Kconfig
> >> >> >>>>
> >> ===================================================================
> >> >> >>>> --- src/cpu/intel/model_6bx/Kconfig        (revision 0)
> >> >> >>>> +++ src/cpu/intel/model_6bx/Kconfig        (revision 0)
> >> >> >>>> @@ -0,0 +1,3 @@
> >> >> >>>> +config CPU_INTEL_CORE
> >> >> >>>> +  bool
> >> >> >>>> +  select SMP
> >> >>
> >> > This looks like it was copied directly from
> > cpu/intel/model_6ex/Kconfig.
> >> >
> >> > You are redefining CPU_INTEL_CORE here.  This is probably where you
> >> wanted
> >> > to define CPU_INTEL_MODEL_6BX.
> >> >
> >> Ah ok thanks Myles.
> >>
> >> So there is not actually a:
> >>
> >> #define CPU_INTEL_MODEL_6BX blabla
> >>
> >> preprocessing directive anywhere. It just needs to be defined in
> Kconfig.
> >
> > That's right.  "config FOO" defines CONFIG_FOO.  "select FOO" just sets
> it
> > if it exists.  You can check in your .config file to make sure the
> symbols
> > you expect to be defined are showing up.
> >
> Hmm, I wonder why this did not throw an error at me?


Selecting undefined config options doesn't throw an error.  I think it would
be nice if it did, but there might be some reason that I don't know of why
you want to be able to select undefined things and have nothing happen.

Thanks,
Myles
Stefan Reinauer - 2010-04-09 11:11:28
On 4/8/10 8:09 AM, Joseph Smith wrote:
> Hello,
> 1. This patch adds CAR for Intel P6 series processors.
> 2. Add support for Micro-FCBGA 479 Celeron and PIII's
> 3. Add support for model_6bx and microcode updates
> 4. Add support for CAR and Tinybootblock on RCA RM4100 and Thomson IP1000
>
> Build and boot tested (bootlog attached).
>
> Signed-off-by: Joseph Smith <joe@settoplinux.org>

Thanks, r5388.

Patch

Index: src/cpu/intel/Kconfig
===================================================================
--- src/cpu/intel/Kconfig	(revision 5372)
+++ src/cpu/intel/Kconfig	(working copy)
@@ -1,6 +1,7 @@ 
 # CPU models
 source src/cpu/intel/model_6xx/Kconfig
 source src/cpu/intel/model_69x/Kconfig
+source src/cpu/intel/model_6bx/Kconfig
 source src/cpu/intel/model_6dx/Kconfig
 source src/cpu/intel/model_6ex/Kconfig
 source src/cpu/intel/model_6fx/Kconfig
@@ -16,6 +17,7 @@ 
 source src/cpu/intel/bga956/Kconfig
 source src/cpu/intel/slot_2/Kconfig
 source src/cpu/intel/slot_1/Kconfig
+source src/cpu/intel/socket_mfcbga479/Kconfig
 source src/cpu/intel/socket_mFCPGA478/Kconfig
 source src/cpu/intel/socket_mPGA478/Kconfig
 source src/cpu/intel/socket_mPGA479M/Kconfig
Index: src/cpu/intel/Makefile.inc
===================================================================
--- src/cpu/intel/Makefile.inc	(revision 5372)
+++ src/cpu/intel/Makefile.inc	(working copy)
@@ -6,6 +6,7 @@ 
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_441) += socket_441
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_BGA956) += bga956
 subdirs-$(CONFIG_CPU_INTEL_EP80579) += ep80579
+subdirs-$(CONFIG_CPU_INTEL_SOCKET_MFCBGA479) += socket_mfcbga479
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_MFCPGA478) += socket_mFCPGA478
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_MPGA478) += socket_mPGA478
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_MPGA479M) += socket_mPGA479M
Index: src/cpu/intel/model_6bx/Kconfig
===================================================================
--- src/cpu/intel/model_6bx/Kconfig	(revision 0)
+++ src/cpu/intel/model_6bx/Kconfig	(revision 0)
@@ -0,0 +1,3 @@ 
+config CPU_INTEL_CORE
+	bool
+	select SMP
Index: src/cpu/intel/model_6bx/model_6bx_init.c
===================================================================
--- src/cpu/intel/model_6bx/model_6bx_init.c	(revision 0)
+++ src/cpu/intel/model_6bx/model_6bx_init.c	(revision 0)
@@ -0,0 +1,130 @@ 
+/*
+ * This file is part of the coreboot project.
+ * 
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2010 Joseph Smith <joe@settoplinux.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <string.h>
+#include <cpu/cpu.h>
+#include <cpu/x86/mtrr.h>
+#include <cpu/x86/msr.h>
+#include <cpu/x86/lapic.h>
+#include <cpu/intel/microcode.h>
+#include <cpu/x86/cache.h>
+#include <usbdebug_direct.h>
+
+static const uint32_t microcode_updates[] = {
+	#include "microcode-737-MU16b11c.h"
+	#include "microcode-738-MU16b11d.h"
+	#include "microcode-875-MU16b401.h"
+	#include "microcode-885-MU16b402.h"
+	/*  Dummy terminator  */
+        0x0, 0x0, 0x0, 0x0,
+        0x0, 0x0, 0x0, 0x0,
+        0x0, 0x0, 0x0, 0x0,
+        0x0, 0x0, 0x0, 0x0,
+};
+
+static inline void strcpy(char *dst, char *src) 
+{
+	while (*src) *dst++ = *src++;
+}
+
+static void fill_processor_name(char *processor_name)
+{
+	struct cpuid_result regs;
+	char temp_processor_name[49];
+	char *processor_name_start;
+	unsigned int *name_as_ints = (unsigned int *)temp_processor_name;
+	int i;
+
+	for (i=0; i<3; i++) {
+		regs = cpuid(0x80000002 + i);
+		name_as_ints[i*4 + 0] = regs.eax;
+		name_as_ints[i*4 + 1] = regs.ebx;
+		name_as_ints[i*4 + 2] = regs.ecx;
+		name_as_ints[i*4 + 3] = regs.edx;
+	}
+
+	temp_processor_name[48] = 0;
+
+	/* Skip leading spaces */
+	processor_name_start = temp_processor_name;
+	while (*processor_name_start == ' ') 
+		processor_name_start++;
+
+	memset(processor_name, 0, 49);
+	strcpy(processor_name, processor_name_start);
+}
+
+#if CONFIG_USBDEBUG_DIRECT
+static unsigned ehci_debug_addr;
+#endif
+
+static void model_6bx_init(device_t cpu)
+{
+	char processor_name[49];
+
+	/* Turn on caching if we haven't already */
+	x86_enable_cache();
+
+	/* Update the microcode */
+	intel_update_microcode(microcode_updates);
+
+	/* Print processor name */
+	fill_processor_name(processor_name);
+	printk(BIOS_INFO, "CPU: %s.\n", processor_name);
+
+#if CONFIG_USBDEBUG_DIRECT
+	// Is this caution really needed?
+	if(!ehci_debug_addr) 
+		ehci_debug_addr = get_ehci_debug();
+	set_ehci_debug(0);
+#endif
+
+	/* Setup MTRRs */
+	x86_setup_mtrrs(36);
+	x86_mtrr_check();
+
+#if CONFIG_USBDEBUG_DIRECT
+	set_ehci_debug(ehci_debug_addr);
+#endif
+
+	/* Enable the local cpu apics */
+	setup_lapic();
+}
+
+static struct device_operations cpu_dev_ops = {
+	.init     = model_6bx_init,
+};
+
+static struct cpu_device_id cpu_table[] = {
+	{ X86_VENDOR_INTEL, 0x06B1 },
+	{ X86_VENDOR_INTEL, 0x06B4 }, /* Low Voltage PIII Micro-FCBGA Socket 479 */
+	{ 0, 0 },
+};
+
+static const struct cpu_driver driver __cpu_driver = {
+	.ops      = &cpu_dev_ops,
+	.id_table = cpu_table,
+};
+
Index: src/cpu/intel/model_6bx/Makefile.inc
===================================================================
--- src/cpu/intel/model_6bx/Makefile.inc	(revision 0)
+++ src/cpu/intel/model_6bx/Makefile.inc	(revision 0)
@@ -0,0 +1 @@ 
+driver-y += model_6bx_init.o
Index: src/cpu/intel/model_6bx/microcode-737-MU16b11c.h
===================================================================
--- src/cpu/intel/model_6bx/microcode-737-MU16b11c.h	(revision 0)
+++ src/cpu/intel/model_6bx/microcode-737-MU16b11c.h	(revision 0)
@@ -0,0 +1,163 @@ 
+//+++
+//       Copyright (c) <1995-2009>, Intel Corporation.
+//	All rights reserved.
+//
+//	Redistribution. Redistribution and use in binary form, without modification, are
+//	permitted provided that the following conditions are met:
+//		.Redistributions must reproduce the above copyright notice and the following
+//	disclaimer in the documentation and/or other materials provided with the
+//	distribution.
+//		.Neither the name of Intel Corporation nor the names of its suppliers may be used
+//	to endorse or promote products derived from this software without specific prior
+//	written permission.
+//		.No reverse engineering, decompilation, or disassembly of this software is
+//	permitted.
+//		."Binary form" includes any format commonly used for electronic conveyance
+//	which is a reversible, bit-exact translation of binary representation to ASCII or
+//	ISO text, for example, "uuencode."
+//
+//	DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+//	HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+//	WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+//	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+//	PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+//	OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+//	SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+//	NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+//	LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+//	CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+//	STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+//	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+//	ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+//---
+/*  Sun Sep 27 10:52:54 CST 2009  */
+/*  737-MU16b11c.inc  */
+0x00000001,	0x0000001c,	0x02152001,	0x000006b1,
+0x6506e1cf,	0x00000001,	0x00000010,	0x00000000,
+0x00000000,	0x00000000,	0x00000000,	0x00000000,
+0x3ff8d1ac,	0x6ad5a5d7,	0x41bc1a2f,	0xc0cfcf98,
+0xae80b685,	0x4e7fdba5,	0xee70aae6,	0x857f82df,
+0x4c12ad1c,	0xc6eab058,	0x849e97b8,	0x4b425e5a,
+0xe6819908,	0x8134a945,	0x601aea2a,	0xc633b991,
+0x8f9e395f,	0x4699cb55,	0xcbc3795e,	0x85561846,
+0x6f4f5e1f,	0xcf0cf38f,	0xac133e0c,	0x4bbe51fc,
+0xc340f285,	0x8c63f67d,	0x45160027,	0xc85a74bb,
+0xaeb95e32,	0x4f4fc61d,	0xe5033858,	0x8e4e090f,
+0x4b5acb2a,	0xc75bc00c,	0x880daabb,	0x43d6f6af,
+0xefd1d4e8,	0x87575a65,	0x6ef3afc2,	0xc8062d96,
+0x8945ca80,	0x41c583c3,	0xcbb2f0a7,	0x8661bdce,
+0x6d21f128,	0xc24acdc4,	0xaeaf43d5,	0x46dcbcd3,
+0xcf544779,	0x82ea3983,	0x4b1656e2,	0xc3a0de21,
+0xa14ded06,	0x4e779174,	0xe01de86d,	0x80c33ba8,
+0x44762085,	0xc74f0d93,	0x85ca1cfa,	0x4dc7752f,
+0xe0c2bfd0,	0x853e48b1,	0x67f42503,	0xcfed157c,
+0x8d33cb2f,	0x43eb149b,	0xc71e279a,	0x82561424,
+0x60cc4578,	0xce0d779d,	0xa6254192,	0x43e5a2cf,
+0xcaee4715,	0x857afd44,	0x45ad93fa,	0xc6043ebf,
+0xa98f3eee,	0x4f8e481c,	0xee5d3fe4,	0x84e30c80,
+0x464de23b,	0xc76af7c3,	0x8155a3cb,	0x4a425a2f,
+0xe3fd06a4,	0x8b51c2ec,	0x61bda6b9,	0xc71d76c2,
+0x8bd436d3,	0x4e4a5c77,	0xc2cffcfd,	0x833c6a3c,
+0x65d4f768,	0xcbfe0635,	0xa9bd7c0a,	0x49d3018a,
+0xca646403,	0x8776d3d2,	0x426a93f7,	0xc03b8393,
+0xa8e7690c,	0x46d7b40c,	0xe6a47d18,	0x8b927811,
+0x4febdfe3,	0xc38a9d51,	0x8f76a603,	0x49d5cc1c,
+0xe79861ed,	0x8d4c5baa,	0x6c7da6df,	0xc157063a,
+0x87dbd994,	0x472dff09,	0xcc1742f2,	0x8de8e9c7,
+0x641ab500,	0xc437013a,	0xaeaedc04,	0x492e9f4e,
+0xc3de047e,	0x8dbd801d,	0x4cfd2f32,	0xcc34102c,
+0xac06dbb4,	0x4ac3f30b,	0xe83b3458,	0x8634b95b,
+0x444079d2,	0xc807d487,	0x8da4cd9e,	0x4760f318,
+0xec62523f,	0x816240b9,	0x6cba09ce,	0xca86a264,
+0x863f14ca,	0x49b9d4a1,	0xc6bd9715,	0x87edeb98,
+0x6fa1a092,	0xcb36670f,	0xa2edb3a7,	0x43545378,
+0xc3c35ad7,	0x8e2d1255,	0x4a06377c,	0xcd1b61d4,
+0xa83a9bc7,	0x4c48d28d,	0xe8a27b8a,	0x8a47665c,
+0x49a35371,	0xc8a8fb0a,	0x830dc900,	0x4c01d1bc,
+0xee2ffff4,	0x83243d8d,	0x61ead599,	0xc82c0451,
+0x8c19b0ec,	0x465ee1d4,	0xc52df943,	0x8490687c,
+0x68474c0d,	0xcc495773,	0xa04396d5,	0x4824c02c,
+0xceb15f4d,	0x80a78140,	0x4de85a0b,	0x8945e8c5,
+0xc981ea75,	0x7ff89629,	0x4e4ce4e2,	0x6e9ceb88,
+0x7f0b4dff,	0x165e46c8,	0xcf59bf6c,	0x9c430db4,
+0xb55a941c,	0x277a73f1,	0x6dbffb22,	0xb3081fe8,
+0xdebe60c6,	0x691d8c9e,	0x330333a2,	0x0b024599,
+0xe358aa28,	0xe70334b3,	0xe48d7707,	0x16318df8,
+0x0e34f491,	0x1c0d6223,	0x54315b5f,	0x040fcc96,
+0x5557f1d2,	0x5ccf28f6,	0xc0004404,	0x2f7a5fef,
+0x95b65ddd,	0xbaa1a873,	0x077783d4,	0x3f24b63b,
+0x9ae679fe,	0xaf11d97e,	0x51391564,	0xb3247855,
+0xcd10e6dc,	0x704e147c,	0xcc15de9d,	0xa5adf161,
+0x0179c9a6,	0xa579d74c,	0x28704a4d,	0x3e7a2d92,
+0x253437c4,	0x1162b521,	0x14a9c51d,	0x2129abbe,
+0x3b2d07c4,	0x1d84f76a,	0x016cd356,	0x3fd03cad,
+0x3f82ee67,	0x0275b51e,	0x5dd38dae,	0xdd022704,
+0x6b6d2f56,	0xbdb25b55,	0xe4188d73,	0xc03a6c98,
+0x8a303586,	0x4999d605,	0x82c9e7e8,	0x8169c654,
+0x838ba96f,	0x4f0239d3,	0xf295395e,	0xb3c38631,
+0x7ea7a143,	0x157a4e43,	0x46f8173f,	0xfbc18d4a,
+0xc401e17a,	0xc4620358,	0xd2ab5437,	0xa01db06f,
+0x58ce91fc,	0x850de1a3,	0x9b542dba,	0xee77f038,
+0xddd3ced6,	0xc225d2ce,	0x63a3f765,	0x3342a06c,
+0x6a780c2f,	0xfaa925b2,	0x366ebeec,	0xbcc9abea,
+0xc7b3fa4e,	0xf4f1123d,	0x5198702c,	0x3e3458b7,
+0x0b1ce9a1,	0x51b1bd7f,	0x711e791e,	0x927d8bed,
+0x91dbaea9,	0x7eefbda9,	0x7a19edd9,	0xdf7b8dce,
+0x5bb40613,	0x0b0c1e0f,	0x85b82c98,	0x18da4dc1,
+0xc5fd78ac,	0x57c1e31d,	0x4c4001b5,	0xe31d2643,
+0xa6afbf58,	0xad200e68,	0xf0114ba4,	0xd6a620f2,
+0xc753a720,	0xac9022a0,	0x28a41f01,	0x22a4ba95,
+0xc00b7531,	0x23d42795,	0xcd836a86,	0x90262708,
+0x3292cad0,	0x40022e39,	0xc1581b0a,	0xe5101550,
+0x6538096b,	0x208c549d,	0x3ce2bf88,	0xa71df38e,
+0x3dec3685,	0xca3949f1,	0x79f3ad1b,	0x3ee8b300,
+0x9d305fc6,	0x7a2e5288,	0xbe81a2f2,	0x7ada0c06,
+0x191c7f01,	0x58dfcbd1,	0xc78dee72,	0x72364226,
+0x1866de12,	0x8d22305c,	0x943a0f0e,	0xc81967ff,
+0x4d55fb0f,	0xaf199be1,	0x90bbda61,	0x4e7c234f,
+0x90cfec16,	0x9b4bcf26,	0x21622023,	0x0926f0fa,
+0x1d504377,	0xa58db427,	0x8d93ce2b,	0x90bfe900,
+0x29e67397,	0x2c1261ed,	0x4ace9474,	0xd5c60282,
+0xe53fb300,	0x8a61a0ab,	0xa7aa0918,	0x4389d7c5,
+0xd09d605c,	0x6c5bedb5,	0xd6d54c51,	0x433dea21,
+0x7ad9e677,	0x813bff76,	0x5a162c75,	0x1ee0661f,
+0x9b6c2030,	0x8e8dc989,	0xcd4bc9fc,	0x4454675b,
+0x8d583c9c,	0xe3400094,	0x116ebb83,	0xe847bc9a,
+0x2a4622dd,	0x2a901e6f,	0xd789b1c0,	0x094e2bbb,
+0x056e563f,	0x9f17e606,	0x8bc79b8d,	0xd2c535c1,
+0x06a45a27,	0x9dc56771,	0xa06649e2,	0x5ff25ac8,
+0x6554961e,	0x98e583d9,	0x38ba93da,	0xdee1de18,
+0x037cb9d5,	0x6b17f195,	0x3431faaf,	0x13860a0d,
+0x28bca10d,	0x0a54c011,	0x9957cdb6,	0x3aa1f429,
+0x9d41b7b3,	0x9aea5be2,	0x60c7ce6b,	0x4cd1c10b,
+0x24ddddcd,	0xe28412ba,	0xa03a5466,	0xa1896879,
+0x59edcb87,	0x1b241765,	0x157bf161,	0xf219f950,
+0xe86ff526,	0x262005d9,	0x11769531,	0xbca15d95,
+0x28f5ef17,	0x1f27e725,	0xc32631d2,	0x07249e61,
+0x1ba851e3,	0x4f49b577,	0xe2a1df5e,	0x826fa7ff,
+0xc34e1e2e,	0x7fe26024,	0xbc19800f,	0x0d368dc9,
+0xe03da0c6,	0xadaa4f9c,	0x9ad1e43c,	0x96f84e44,
+0x0b6cd695,	0x1bb46971,	0x942d6e5b,	0x6316170d,
+0x3164509f,	0xc6659450,	0xb2a0370a,	0xabc208e8,
+0x6d479811,	0x3684bc0e,	0x80b7b101,	0xa50b7bb5,
+0x43d21233,	0xb423559d,	0xf41dcd16,	0xdfd3c276,
+0x3e586469,	0xd9b7630a,	0xb88f9e44,	0x0cda6f4d,
+0xe5bf5844,	0x8709f788,	0xdae37da6,	0x1fb41777,
+0x1d903f69,	0x34383b69,	0xd409ae70,	0xd1c99758,
+0xdedfd7a4,	0xa4bdf018,	0xf4058202,	0x8565d66f,
+0x5365aed9,	0xfa69742e,	0x2cfbfbcf,	0x88a00b60,
+0x506c0713,	0x2866475b,	0x3e1df573,	0xb86f7feb,
+0x31d23a7f,	0xc6320e6a,	0x3ebbc2a5,	0x83a1d4ef,
+0x15169f5f,	0x42a61753,	0x893e553e,	0x4ddbc66d,
+0x7449ec1f,	0x76f65d22,	0x0622e13b,	0x32986f89,
+0x21181b4b,	0x99a80c0a,	0xd6fe00b0,	0x282c0e81,
+0x9fc1cf88,	0x919b855d,	0x618257d8,	0x82c448b8,
+0xe22537a1,	0xa90de388,	0xba73b90c,	0xd765eeb0,
+0x62b2727e,	0xa08dfe20,	0x70b3c8c5,	0x3ef04007,
+0x9f73732b,	0x2201edd7,	0xb836219c,	0xf913af7c,
+0xf50f64ca,	0x93ac107a,	0xf509f84a,	0x6f6026f6,
+0xd9bb8eac,	0x4b268cfa,	0xa65a3fa6,	0x9837cb75,
+0x784fb835,	0x2060576d,	0xb1604cae,	0xb9da4116,
+0xab320cf2,	0x60a1b501,	0x0c73fa79,	0x8d5a6f1e,
+0x57688086,	0x218e4005,	0xca054e3d,	0xc1a3c3ec,
Index: src/cpu/intel/model_6bx/microcode-738-MU16b11d.h
===================================================================
--- src/cpu/intel/model_6bx/microcode-738-MU16b11d.h	(revision 0)
+++ src/cpu/intel/model_6bx/microcode-738-MU16b11d.h	(revision 0)
@@ -0,0 +1,163 @@ 
+//+++
+//       Copyright (c) <1995-2009>, Intel Corporation.
+//	All rights reserved.
+//
+//	Redistribution. Redistribution and use in binary form, without modification, are
+//	permitted provided that the following conditions are met:
+//		.Redistributions must reproduce the above copyright notice and the following
+//	disclaimer in the documentation and/or other materials provided with the
+//	distribution.
+//		.Neither the name of Intel Corporation nor the names of its suppliers may be used
+//	to endorse or promote products derived from this software without specific prior
+//	written permission.
+//		.No reverse engineering, decompilation, or disassembly of this software is
+//	permitted.
+//		."Binary form" includes any format commonly used for electronic conveyance
+//	which is a reversible, bit-exact translation of binary representation to ASCII or
+//	ISO text, for example, "uuencode."
+//
+//	DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+//	HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+//	WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+//	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+//	PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+//	OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+//	SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+//	NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+//	LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+//	CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+//	STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+//	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+//	ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+//---
+/*  Sun Sep 27 10:52:54 CST 2009  */
+/*  738-MU16b11d.inc  */
+0x00000001,	0x0000001d,	0x02202001,	0x000006b1,
+0x6d9b5661,	0x00000001,	0x00000020,	0x00000000,
+0x00000000,	0x00000000,	0x00000000,	0x00000000,
+0x965e94ce,	0xea6ba8df,	0xbfae08d4,	0x3ec50299,
+0xbf2b31ed,	0xbd80d71d,	0x19bfb06d,	0x95e56995,
+0xa52265a7,	0x247242bb,	0x90900442,	0xa4d69328,
+0x15fb69e8,	0x940daeb6,	0x8d930183,	0x2ad6a75d,
+0x970bcd0c,	0xbfc335a6,	0x382df453,	0x8dfa472a,
+0x95f0eda4,	0x2feaf1e8,	0xb6e292dc,	0xb7c32497,
+0x2daa2a09,	0x83b58903,	0xaf122f90,	0x3730c2af,
+0xa8f684d3,	0xa7f33a97,	0x11b46600,	0x8f8af52b,
+0xab23714a,	0x2a87cf3b,	0x9ae73e3e,	0xa032cf57,
+0x0adc600d,	0x96117940,	0x9ac65c28,	0x3a23596e,
+0x94800c0f,	0xbf793392,	0x2c503bb1,	0x8dc252ce,
+0x9b7de53f,	0x2af3d7b4,	0xb7bd4575,	0xbc71e798,
+0x23d62362,	0x8393e39e,	0xafb59604,	0x290633b6,
+0xac09d0f8,	0xbaced873,	0x1fbd177c,	0x9b51acfe,
+0xa4d82134,	0x2dff3e84,	0x86d59af1,	0xa4789758,
+0x0469ae88,	0x9a3f986b,	0x8f18edcb,	0x3a200e44,
+0x8138b3f9,	0xb9aaf81c,	0x25af1d92,	0x8313e883,
+0x9a7ff75e,	0x20a6b69d,	0xa1bb0bbb,	0xbb78f982,
+0x27c1974a,	0x8dafbb13,	0xbc2ac530,	0x2c84f9a8,
+0xa1d686a1,	0xbd6b3d97,	0x07419bad,	0x99535e65,
+0xa1ee3deb,	0x3aca5a6d,	0x9c60ad82,	0xa9ac0d86,
+0x14ba77c2,	0x80b20413,	0x93be9f5f,	0x34c56863,
+0x87e25909,	0xbaaf9373,	0x2e9396d7,	0x836c3f99,
+0x8c81e59b,	0x24c4123f,	0xbc3b2921,	0xa2744f80,
+0x37dec6c6,	0x9e6b0ec7,	0xa6d652e6,	0x349f2dec,
+0xafcf34e5,	0xa81bf9cf,	0x046ce7f0,	0x973ce507,
+0xbd2386a9,	0x336dbfa6,	0x8de954fe,	0xb823c3bd,
+0x13088720,	0x86bec81c,	0x9265d562,	0x24574333,
+0x92f871dc,	0xa34ef2fd,	0x366b59f0,	0x84a9a050,
+0x81e55751,	0x3f326f2a,	0xbbf66ec3,	0xa784062a,
+0x2c9bc339,	0x889b495a,	0xa44822fe,	0x2e9b5fbd,
+0xa69f6830,	0xa446b369,	0x1da26dbb,	0x820f296a,
+0xbe2c600f,	0x27b90904,	0x88f003c9,	0xa9191c49,
+0x024286cb,	0x9fe1354e,	0x91a7670e,	0x38236d32,
+0x9c70820d,	0xbad8c44e,	0x2f9b35eb,	0x8fb157de,
+0x82ea988a,	0x32f204c5,	0xb6a7fd19,	0xbe64276b,
+0x2ad2ea1d,	0x95449132,	0xa7e07868,	0x3ae7a323,
+0xbd4b67ba,	0xa1a1914f,	0x1f964ad2,	0x85f986d7,
+0xa84bc3cc,	0x2739696c,	0x81196fea,	0xa90cd44b,
+0x05728610,	0x8873057c,	0x83035ccc,	0x24e56003,
+0x863ee7bf,	0xb4b92f27,	0x328f2941,	0x8ace163b,
+0x94f39234,	0x39f2eb7f,	0xa10f03e2,	0xbd9ae083,
+0x325e4950,	0x99241d8d,	0xa07f585f,	0xf2ed61ff,
+0x3341f541,	0x68372f11,	0xa01b5b7f,	0xcc5d571c,
+0x7ac343af,	0xa4a1568a,	0x142d7f47,	0x8f0b9477,
+0x720e7fff,	0xf9214071,	0x84fa4a07,	0x5463cfab,
+0xffa780fc,	0xb8fbd2fb,	0x84a2fdb4,	0xef1c1b2e,
+0x7e4ce78b,	0x8a5e9464,	0x60bbad48,	0x463ffc56,
+0x0d9ac7e7,	0x545e8378,	0x595db59f,	0x04edbae3,
+0x5e4540e3,	0x489aaeb4,	0x94b5b57c,	0xbe693e7a,
+0xcc870854,	0x7f6caa27,	0x0a85aa9d,	0xf678f31c,
+0xc0a00529,	0x350ee2b8,	0x163fd3f5,	0x13fc2e76,
+0xd92bb224,	0xdf829dcb,	0x07db061e,	0x2c99066b,
+0xcb0327e8,	0xe3d4e5e8,	0xd7d7da31,	0x643aed9f,
+0x1994a531,	0x73f84914,	0x5f296334,	0x874490b7,
+0x517b63f6,	0xc04b51ef,	0x34d7de4d,	0x478cb112,
+0x66642af0,	0x2f392ef9,	0x1811ec70,	0x943bc492,
+0x70c61209,	0xeec40884,	0x47bb5b01,	0x255afce3,
+0x393fcd34,	0x1cca4e00,	0x3d2ac97e,	0x314450fa,
+0x838ba96f,	0x4f0239d3,	0xf295395e,	0xb3c38631,
+0x7ea7a143,	0x157a4e43,	0x46f8173f,	0xfbc18d4a,
+0xc401e17a,	0xc4620358,	0xd2ab5437,	0xa01db06f,
+0x58ce91fc,	0x850de1a3,	0x9b542dba,	0xee77f038,
+0xddd3ced6,	0xc225d2ce,	0x63a3f765,	0x3342a06c,
+0x6a780c2f,	0xfaa925b2,	0x366ebeec,	0xbcc9abea,
+0xc7b3fa4e,	0xf4f1123d,	0x5198702c,	0x3e3458b7,
+0x0b1ce9a1,	0x51b1bd7f,	0x711e791e,	0x927d8bed,
+0x91dbaea9,	0x7eefbda9,	0x7a19edd9,	0xdf7b8dce,
+0x5bb40613,	0x0b0c1e0f,	0x85b82c98,	0x18da4dc1,
+0xc5fd78ac,	0x57c1e31d,	0x4c4001b5,	0xe31d2643,
+0xa6afbf58,	0xad200e68,	0xf0114ba4,	0xd6a620f2,
+0xc753a720,	0xac9022a0,	0x28a41f01,	0x22a4ba95,
+0xc00b7531,	0x23d42795,	0xcd836a86,	0x90262708,
+0x3292cad0,	0x40022e39,	0xc1581b0a,	0xe5101550,
+0x6538096b,	0x208c549d,	0x3ce2bf88,	0xa71df38e,
+0x3dec3685,	0xca3949f1,	0x79f3ad1b,	0x3ee8b300,
+0x9d305fc6,	0x7a2e5288,	0xbe81a2f2,	0x7ada0c06,
+0x191c7f01,	0x58dfcbd1,	0xc78dee72,	0x72364226,
+0x1866de12,	0x8d22305c,	0x943a0f0e,	0xc81967ff,
+0x4d55fb0f,	0xaf199be1,	0x90bbda61,	0x4e7c234f,
+0x90cfec16,	0x9b4bcf26,	0x21622023,	0x0926f0fa,
+0x1d504377,	0xa58db427,	0x8d93ce2b,	0x90bfe900,
+0x29e67397,	0x2c1261ed,	0x4ace9474,	0xd5c60282,
+0xe53fb300,	0x8a61a0ab,	0xa7aa0918,	0x4389d7c5,
+0xd09d605c,	0x6c5bedb5,	0xd6d54c51,	0x433dea21,
+0x7ad9e677,	0x813bff76,	0x5a162c75,	0x1ee0661f,
+0x9b6c2030,	0x8e8dc989,	0xcd4bc9fc,	0x4454675b,
+0x8d583c9c,	0xe3400094,	0x116ebb83,	0xe847bc9a,
+0x2a4622dd,	0x2a901e6f,	0xd789b1c0,	0x094e2bbb,
+0x056e563f,	0x9f17e606,	0x8bc79b8d,	0xd2c535c1,
+0x06a45a27,	0x9dc56771,	0xa06649e2,	0x5ff25ac8,
+0x6554961e,	0x98e583d9,	0x38ba93da,	0xdee1de18,
+0x037cb9d5,	0x6b17f195,	0x3431faaf,	0x13860a0d,
+0x28bca10d,	0x0a54c011,	0x9957cdb6,	0x3aa1f429,
+0x9d41b7b3,	0x9aea5be2,	0x60c7ce6b,	0x4cd1c10b,
+0x24ddddcd,	0xe28412ba,	0xa03a5466,	0xa1896879,
+0x59edcb87,	0x1b241765,	0x157bf161,	0xf219f950,
+0xe86ff526,	0x262005d9,	0x11769531,	0xbca15d95,
+0x28f5ef17,	0x1f27e725,	0xc32631d2,	0x07249e61,
+0x1ba851e3,	0x4f49b577,	0xe2a1df5e,	0x826fa7ff,
+0xc34e1e2e,	0x7fe26024,	0xbc19800f,	0x0d368dc9,
+0xe03da0c6,	0xadaa4f9c,	0x9ad1e43c,	0x96f84e44,
+0x0b6cd695,	0x1bb46971,	0x942d6e5b,	0x6316170d,
+0x3164509f,	0xc6659450,	0xb2a0370a,	0xabc208e8,
+0x6d479811,	0x3684bc0e,	0x80b7b101,	0xa50b7bb5,
+0x43d21233,	0xb423559d,	0xf41dcd16,	0xdfd3c276,
+0x3e586469,	0xd9b7630a,	0xb88f9e44,	0x0cda6f4d,
+0xe5bf5844,	0x8709f788,	0xdae37da6,	0x1fb41777,
+0x1d903f69,	0x34383b69,	0xd409ae70,	0xd1c99758,
+0xdedfd7a4,	0xa4bdf018,	0xf4058202,	0x8565d66f,
+0x5365aed9,	0xfa69742e,	0x2cfbfbcf,	0x88a00b60,
+0x506c0713,	0x2866475b,	0x3e1df573,	0xb86f7feb,
+0x31d23a7f,	0xc6320e6a,	0x3ebbc2a5,	0x83a1d4ef,
+0x15169f5f,	0x42a61753,	0x893e553e,	0x4ddbc66d,
+0x7449ec1f,	0x76f65d22,	0x0622e13b,	0x32986f89,
+0x21181b4b,	0x99a80c0a,	0xd6fe00b0,	0x282c0e81,
+0x9fc1cf88,	0x919b855d,	0x618257d8,	0x82c448b8,
+0xe22537a1,	0xa90de388,	0xba73b90c,	0xd765eeb0,
+0x62b2727e,	0xa08dfe20,	0x70b3c8c5,	0x3ef04007,
+0x9f73732b,	0x2201edd7,	0xb836219c,	0xf913af7c,
+0xf50f64ca,	0x93ac107a,	0xf509f84a,	0x6f6026f6,
+0xd9bb8eac,	0x4b268cfa,	0xa65a3fa6,	0x9837cb75,
+0x784fb835,	0x2060576d,	0xb1604cae,	0xb9da4116,
+0xab320cf2,	0x60a1b501,	0x0c73fa79,	0x8d5a6f1e,
+0x57688086,	0x218e4005,	0xca054e3d,	0xc1a3c3ec,
Index: src/cpu/intel/model_6bx/microcode-875-MU16b401.h
===================================================================
--- src/cpu/intel/model_6bx/microcode-875-MU16b401.h	(revision 0)
+++ src/cpu/intel/model_6bx/microcode-875-MU16b401.h	(revision 0)
@@ -0,0 +1,163 @@ 
+//+++
+//       Copyright (c) <1995-2009>, Intel Corporation.
+//	All rights reserved.
+//
+//	Redistribution. Redistribution and use in binary form, without modification, are
+//	permitted provided that the following conditions are met:
+//		.Redistributions must reproduce the above copyright notice and the following
+//	disclaimer in the documentation and/or other materials provided with the
+//	distribution.
+//		.Neither the name of Intel Corporation nor the names of its suppliers may be used
+//	to endorse or promote products derived from this software without specific prior
+//	written permission.
+//		.No reverse engineering, decompilation, or disassembly of this software is
+//	permitted.
+//		."Binary form" includes any format commonly used for electronic conveyance
+//	which is a reversible, bit-exact translation of binary representation to ASCII or
+//	ISO text, for example, "uuencode."
+//
+//	DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+//	HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+//	WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+//	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+//	PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+//	OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+//	SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+//	NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+//	LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+//	CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+//	STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+//	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+//	ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+//---
+/*  Sun Sep 27 10:52:54 CST 2009  */
+/*  875-MU16b401.inc  */
+0x00000001,	0x00000001,	0x01102002,	0x000006b4,
+0x58213e6a,	0x00000001,	0x00000010,	0x00000000,
+0x00000000,	0x00000000,	0x00000000,	0x00000000,
+0x1016aa4c,	0xba6d2007,	0x139b094a,	0x8d5cd4f5,
+0xece206e4,	0xfac0aa68,	0x26674533,	0x9464601b,
+0x4b3f7f76,	0x64133194,	0x37c151ed,	0x3ee0e278,
+0x7cffc9c4,	0x562be2dc,	0xd1067021,	0xaf8f1728,
+0xbad0534c,	0xf7a67cca,	0xdd34e969,	0x774bb723,
+0x5635256e,	0xd23cce15,	0x3c7c50ce,	0xa5faaecc,
+0x1c717607,	0xcc1e6f3e,	0x16a4c6a7,	0x58bd5816,
+0x0a2e73b3,	0xd65104e4,	0xb873ec1a,	0xe6cdd62e,
+0xcd278f3c,	0x2e081c41,	0xf43f4439,	0xbcdfa892,
+0xbb20c46f,	0xe0c8f8e1,	0xa619c4cc,	0x48eea22e,
+0xcfdf4bc4,	0xefaf4494,	0xa7cac511,	0x783c367e,
+0x6fc43ebc,	0x67e32786,	0xf0c1fbb1,	0xf93d5b0d,
+0x36e9b7e8,	0xc3b4dc36,	0x4beec4fb,	0x88382c9d,
+0x735dd739,	0xc5e23b67,	0x0d325dd4,	0xfe8bd98b,
+0xa0f294f9,	0x1916bcd9,	0x7b73f066,	0x26758acb,
+0xf10be125,	0x5aee77d0,	0xa005f65a,	0xd4d88c84,
+0x02340625,	0x687da1c4,	0x29906f8c,	0x20ca4e9c,
+0xcad37ebf,	0x15ae02ef,	0x06ac0241,	0x60c210b8,
+0x07bb359b,	0x970ada27,	0xd15463c5,	0xb1df482a,
+0x32c0386e,	0x72719013,	0xbe45b1da,	0xda807e08,
+0xe1340a36,	0x9bbc789b,	0x71ae0eb2,	0xa7b0e639,
+0x12948517,	0x8bd37587,	0x083273be,	0x1a73a3be,
+0x2e0cf9a6,	0x3c401aa6,	0xc74c77f8,	0xe6ee9da6,
+0x3188f408,	0xcdfe98ff,	0x71369d02,	0x032e20b7,
+0xb9083418,	0xe5ef65a8,	0x3a9317d2,	0x23117ad6,
+0x6c303cfc,	0xe6aed513,	0x97b7af1e,	0xe277f5aa,
+0xd1f788a7,	0x72305569,	0x2a241259,	0x7f786fa4,
+0xeba79f99,	0x740b14fa,	0x2a8e8a3c,	0x7824a0f2,
+0xb1b4588e,	0xc775677d,	0xbc2372a6,	0xd485e398,
+0x8a989d5d,	0x960199ba,	0xe5dca6a2,	0x818b5c9c,
+0x655f760d,	0x8a75081a,	0x86a6d67a,	0x05e74583,
+0x160d2e9b,	0xecf3f2b6,	0xb0e5f342,	0x162dcc4b,
+0x95d05b92,	0xec736eb1,	0xad367c81,	0x6b98845e,
+0xaea10969,	0x32a923cc,	0x0e20e511,	0x11f1d80d,
+0xa80bff0c,	0xdee5c142,	0x5618820b,	0x9ab1530f,
+0xeb2e5aad,	0x71986a78,	0x4b9f79ab,	0xdcb38492,
+0x5d1df5ee,	0xa6947ea5,	0x4b81b7aa,	0x4fd1194a,
+0x809256af,	0x2d7d2c85,	0xc3a3d15b,	0x4e4dde55,
+0xa275c268,	0xe584005b,	0xe7975491,	0xed9d3d06,
+0x6aaf4acf,	0xf4e3f967,	0x7c04ded2,	0x9fefbb0c,
+0xff806dc8,	0xbe36d1ce,	0xdc9e4a45,	0xe54a5b71,
+0xea53d6aa,	0xf0e13f21,	0x250f7e77,	0x09429ec2,
+0xb34360be,	0xdf249256,	0x4b6b8d57,	0x6f3b9f7d,
+0x1dd4d988,	0x6a68c719,	0x82d171e5,	0x04de6517,
+0xd2628f0d,	0xfe6fd4e1,	0x8f3cbd0b,	0xd8517c88,
+0x7993bb4f,	0x9487f25f,	0x493ad1f1,	0x781b2745,
+0xd25de9ed,	0x63fe8ffa,	0x83be8468,	0x5955efd3,
+0xd07886cb,	0x3cbbf313,	0x10255dcf,	0x4fe6e5df,
+0x2afbe5ce,	0x2731cea5,	0x3ca3a0b4,	0x9a73e5b3,
+0x7022f776,	0x43f0062b,	0xac060c7c,	0x89c88761,
+0xdf86c5be,	0x0f705bcc,	0x811d31cd,	0x56e72be7,
+0x473becc1,	0x74d511a7,	0x7f44e656,	0xc04d3763,
+0x487e15a7,	0x851f93bd,	0xc0cfdff8,	0x11b62ba1,
+0x45ebf606,	0x5ae10f89,	0xcfd063cf,	0x25b52d80,
+0x03b35a1a,	0x7e5be251,	0x643e69b1,	0xe50e0a26,
+0x73a3be25,	0x7bd17fb9,	0x72ac0b0e,	0x2f04ee8b,
+0x8e614214,	0x73fbbb40,	0x6c87f572,	0xc2cca0b1,
+0x3a575557,	0xe38b025c,	0x57d61954,	0x5a77769b,
+0x123d2893,	0xd21f163e,	0xef617597,	0xbfd67b8c,
+0x838ba96f,	0x4f0239d3,	0xf295395e,	0xb3c38631,
+0x7ea7a143,	0x157a4e43,	0x46f8173f,	0xfbc18d4a,
+0xc401e17a,	0xc4620358,	0xd2ab5437,	0xa01db06f,
+0x58ce91fc,	0x850de1a3,	0x9b542dba,	0xee77f038,
+0xddd3ced6,	0xc225d2ce,	0x63a3f765,	0x3342a06c,
+0x6a780c2f,	0xfaa925b2,	0x366ebeec,	0xbcc9abea,
+0xc7b3fa4e,	0xf4f1123d,	0x5198702c,	0x3e3458b7,
+0x0b1ce9a1,	0x51b1bd7f,	0x711e791e,	0x927d8bed,
+0x91dbaea9,	0x7eefbda9,	0x7a19edd9,	0xdf7b8dce,
+0x5bb40613,	0x0b0c1e0f,	0x85b82c98,	0x18da4dc1,
+0xc5fd78ac,	0x57c1e31d,	0x4c4001b5,	0xe31d2643,
+0xa6afbf58,	0xad200e68,	0xf0114ba4,	0xd6a620f2,
+0xc753a720,	0xac9022a0,	0x28a41f01,	0x22a4ba95,
+0xc00b7531,	0x23d42795,	0xcd836a86,	0x90262708,
+0x3292cad0,	0x40022e39,	0xc1581b0a,	0xe5101550,
+0x6538096b,	0x208c549d,	0x3ce2bf88,	0xa71df38e,
+0x3dec3685,	0xca3949f1,	0x79f3ad1b,	0x3ee8b300,
+0x9d305fc6,	0x7a2e5288,	0xbe81a2f2,	0x7ada0c06,
+0x191c7f01,	0x58dfcbd1,	0xc78dee72,	0x72364226,
+0x1866de12,	0x8d22305c,	0x943a0f0e,	0xc81967ff,
+0x4d55fb0f,	0xaf199be1,	0x90bbda61,	0x4e7c234f,
+0x90cfec16,	0x9b4bcf26,	0x21622023,	0x0926f0fa,
+0x1d504377,	0xa58db427,	0x8d93ce2b,	0x90bfe900,
+0x29e67397,	0x2c1261ed,	0x4ace9474,	0xd5c60282,
+0xe53fb300,	0x8a61a0ab,	0xa7aa0918,	0x4389d7c5,
+0xd09d605c,	0x6c5bedb5,	0xd6d54c51,	0x433dea21,
+0x7ad9e677,	0x813bff76,	0x5a162c75,	0x1ee0661f,
+0x9b6c2030,	0x8e8dc989,	0xcd4bc9fc,	0x4454675b,
+0x8d583c9c,	0xe3400094,	0x116ebb83,	0xe847bc9a,
+0x2a4622dd,	0x2a901e6f,	0xd789b1c0,	0x094e2bbb,
+0x056e563f,	0x9f17e606,	0x8bc79b8d,	0xd2c535c1,
+0x06a45a27,	0x9dc56771,	0xa06649e2,	0x5ff25ac8,
+0x6554961e,	0x98e583d9,	0x38ba93da,	0xdee1de18,
+0x037cb9d5,	0x6b17f195,	0x3431faaf,	0x13860a0d,
+0x28bca10d,	0x0a54c011,	0x9957cdb6,	0x3aa1f429,
+0x9d41b7b3,	0x9aea5be2,	0x60c7ce6b,	0x4cd1c10b,
+0x24ddddcd,	0xe28412ba,	0xa03a5466,	0xa1896879,
+0x59edcb87,	0x1b241765,	0x157bf161,	0xf219f950,
+0xe86ff526,	0x262005d9,	0x11769531,	0xbca15d95,
+0x28f5ef17,	0x1f27e725,	0xc32631d2,	0x07249e61,
+0x1ba851e3,	0x4f49b577,	0xe2a1df5e,	0x826fa7ff,
+0xc34e1e2e,	0x7fe26024,	0xbc19800f,	0x0d368dc9,
+0xe03da0c6,	0xadaa4f9c,	0x9ad1e43c,	0x96f84e44,
+0x0b6cd695,	0x1bb46971,	0x942d6e5b,	0x6316170d,
+0x3164509f,	0xc6659450,	0xb2a0370a,	0xabc208e8,
+0x6d479811,	0x3684bc0e,	0x80b7b101,	0xa50b7bb5,
+0x43d21233,	0xb423559d,	0xf41dcd16,	0xdfd3c276,
+0x3e586469,	0xd9b7630a,	0xb88f9e44,	0x0cda6f4d,
+0xe5bf5844,	0x8709f788,	0xdae37da6,	0x1fb41777,
+0x1d903f69,	0x34383b69,	0xd409ae70,	0xd1c99758,
+0xdedfd7a4,	0xa4bdf018,	0xf4058202,	0x8565d66f,
+0x5365aed9,	0xfa69742e,	0x2cfbfbcf,	0x88a00b60,
+0x506c0713,	0x2866475b,	0x3e1df573,	0xb86f7feb,
+0x31d23a7f,	0xc6320e6a,	0x3ebbc2a5,	0x83a1d4ef,
+0x15169f5f,	0x42a61753,	0x893e553e,	0x4ddbc66d,
+0x7449ec1f,	0x76f65d22,	0x0622e13b,	0x32986f89,
+0x21181b4b,	0x99a80c0a,	0xd6fe00b0,	0x282c0e81,
+0x9fc1cf88,	0x919b855d,	0x618257d8,	0x82c448b8,
+0xe22537a1,	0xa90de388,	0xba73b90c,	0xd765eeb0,
+0x62b2727e,	0xa08dfe20,	0x70b3c8c5,	0x3ef04007,
+0x9f73732b,	0x2201edd7,	0xb836219c,	0xf913af7c,
+0xf50f64ca,	0x93ac107a,	0xf509f84a,	0x6f6026f6,
+0xd9bb8eac,	0x4b268cfa,	0xa65a3fa6,	0x9837cb75,
+0x784fb835,	0x2060576d,	0xb1604cae,	0xb9da4116,
+0xab320cf2,	0x60a1b501,	0x0c73fa79,	0x8d5a6f1e,
+0x57688086,	0x218e4005,	0xca054e3d,	0xc1a3c3ec,
Index: src/cpu/intel/model_6bx/cache_as_ram_disable.c
===================================================================
--- src/cpu/intel/model_6bx/cache_as_ram_disable.c	(revision 0)
+++ src/cpu/intel/model_6bx/cache_as_ram_disable.c	(revision 0)
@@ -0,0 +1,89 @@ 
+/*
+ * This file is part of the coreboot project.
+ * 
+ * Copyright (C) 2007-2009 coresystems GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include "cpu/x86/car/copy_and_run.c"
+
+/* called from assembler code */
+void stage1_main(unsigned long bist);
+
+/* from romstage.c */
+void real_main(unsigned long bist);
+
+void stage1_main(unsigned long bist)
+{
+	unsigned int cpu_reset = 0;
+
+	real_main(bist);
+
+	/* No servicable parts below this line .. */
+#ifdef CAR_DEBUG
+        /* Check value of esp to verify if we have enough rom for stack in Cache as RAM */
+	unsigned v_esp;
+	__asm__ volatile (
+        	"movl   %%esp, %0\n"
+		: "=a" (v_esp)
+	);
+	printk(BIOS_SPEW, "v_esp=%08x\n", v_esp);
+#endif
+
+        printk(BIOS_SPEW, "cpu_reset = %08x\n", cpu_reset);
+	printk(BIOS_SPEW, "No cache as ram now - ");
+
+	/* store cpu_reset to ebx */
+        __asm__ volatile (
+                "movl %0, %%ebx\n\t"
+                ::"a" (cpu_reset)
+        );
+
+#undef CLEAR_FIRST_1M_RAM 
+#include "cpu/x86/car/cache_as_ram_post.c"
+
+	/* For now: use rambase + 1MB - 64K (counting downwards) as stack. This
+	 * makes sure that we stay completely within the 1M of memory we
+	 * preserve with the memcpy above.
+	 */
+
+#ifndef HIGH_MEMORY_SAVE
+#define HIGH_MEMORY_SAVE ( (1024 - 64) * 1024 )
+#endif
+
+	__asm__ volatile (
+		"movl %0, %%ebp\n"
+		"movl %0, %%esp\n"
+		:: "a" (CONFIG_RAMBASE + HIGH_MEMORY_SAVE)
+	);
+
+	{
+		unsigned new_cpu_reset;
+
+		/* get back cpu_reset from ebx */
+		__asm__ volatile (
+			"movl %%ebx, %0\n"
+			:"=a" (new_cpu_reset)
+		);
+
+		/* Copy and execute coreboot_ram */
+		copy_and_run(new_cpu_reset);
+	}
+
+	/* We will not return */
+	printk(BIOS_DEBUG, "sorry. parachute did not open.\n");
+}
Index: src/cpu/intel/model_6bx/microcode-885-MU16b402.h
===================================================================
--- src/cpu/intel/model_6bx/microcode-885-MU16b402.h	(revision 0)
+++ src/cpu/intel/model_6bx/microcode-885-MU16b402.h	(revision 0)
@@ -0,0 +1,163 @@ 
+//+++
+//       Copyright (c) <1995-2009>, Intel Corporation.
+//	All rights reserved.
+//
+//	Redistribution. Redistribution and use in binary form, without modification, are
+//	permitted provided that the following conditions are met:
+//		.Redistributions must reproduce the above copyright notice and the following
+//	disclaimer in the documentation and/or other materials provided with the
+//	distribution.
+//		.Neither the name of Intel Corporation nor the names of its suppliers may be used
+//	to endorse or promote products derived from this software without specific prior
+//	written permission.
+//		.No reverse engineering, decompilation, or disassembly of this software is
+//	permitted.
+//		."Binary form" includes any format commonly used for electronic conveyance
+//	which is a reversible, bit-exact translation of binary representation to ASCII or
+//	ISO text, for example, "uuencode."
+//
+//	DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+//	HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+//	WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+//	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+//	PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+//	OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+//	SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+//	NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+//	LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+//	CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+//	STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+//	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+//	ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+//---
+/*  Sun Sep 27 10:52:54 CST 2009  */
+/*  885-MU16b402.inc  */
+0x00000001,	0x00000002,	0x01112002,	0x000006b4,
+0xf512ec8f,	0x00000001,	0x00000020,	0x00000000,
+0x00000000,	0x00000000,	0x00000000,	0x00000000,
+0x8d14e438,	0x725bfb67,	0x2d37e08c,	0xe7b19dfb,
+0x4c8d3c95,	0xffc6f57a,	0xfccb06b2,	0xc6e24fdf,
+0x1a3c7f2b,	0xa4b0a3ca,	0x09db4042,	0x61f7da54,
+0xf3aa8795,	0x7b8f1487,	0xecd5a1b8,	0xdc8c213d,
+0xcca7e859,	0xea53a869,	0x6029671d,	0xa2aa975e,
+0x5ad10a3c,	0x61dcc9e8,	0x6949a4d4,	0x114d569b,
+0xf3373941,	0x1c1838fd,	0xb175a480,	0x4f01d669,
+0xe91ced35,	0xe1d0c798,	0xc51cb3ea,	0xb1ca685f,
+0xa6d307d8,	0x4abbe7b0,	0xd37e4089,	0x43f218ca,
+0x2c775ea9,	0x3e312577,	0x948e06b0,	0x09cc6398,
+0x0f717e24,	0xac27b46c,	0xbeb41e37,	0xb6f8bcfb,
+0xe357533b,	0xe99f4a97,	0xb20b928d,	0xa3239533,
+0xd483e1ee,	0xbe688435,	0x11ce1bc2,	0xef04a8b7,
+0x10c9a575,	0xd74f47ec,	0x7e1caa09,	0xbdf4f1b4,
+0xbf14445b,	0x21b2f2a2,	0x63f32e79,	0x49df792a,
+0xd81e7458,	0x8d1996f9,	0x0ccd33e5,	0x907d96dc,
+0xd5b4ae37,	0xd743e460,	0x8d1eeb27,	0xbefe322f,
+0x84edfa2e,	0x94a23dcb,	0x5519aa65,	0x60fb77a8,
+0xfb3b499d,	0x5accc8df,	0x7e4fa2ae,	0xee70a051,
+0xa00e5234,	0x7411fac7,	0x9e3bd4ac,	0x8870b19a,
+0x0bf8210d,	0xa13413ee,	0xb18ccc76,	0x72217b46,
+0xbac79caa,	0x3c196591,	0x975b9d8e,	0x8750facc,
+0x4f4ba92a,	0x54a1c0e8,	0x2c30a8bc,	0xcb228a22,
+0x8a1a76a9,	0x20f0b73c,	0xcbf6d97d,	0x2c3d632f,
+0x487e9718,	0xdb39229d,	0x9dec941c,	0x857c67ac,
+0x3fcb6bed,	0x24b8a438,	0x19802922,	0x6e2ef495,
+0x2363800c,	0x8ed26f96,	0xe833a8b4,	0xf0f90321,
+0xeee74569,	0x6fe1b339,	0xb571118c,	0x96faaa1f,
+0xc0a5b115,	0xe0103aa4,	0x09679bc9,	0xe6c7ecc3,
+0xddd7fab7,	0x169d9eab,	0x46de7a6b,	0x8e62dc8d,
+0x0352127f,	0x9bbec1b4,	0xb4a22510,	0x06f94e5f,
+0xd7cc03d6,	0xb2e2c178,	0x8d8a48ea,	0xa089e856,
+0x6f2e29a3,	0xa6de73c0,	0x099bb823,	0xd642a2b6,
+0xd222edee,	0x4d618164,	0x8028d02a,	0xe7462bd9,
+0x993d5b65,	0x0d76b5b0,	0x20166d1b,	0x5000520b,
+0x2d1b6fc8,	0x417d7251,	0x7c13ac74,	0x1aac7da6,
+0xe3843e3d,	0xb76299a0,	0x9fb249c1,	0x4864d56e,
+0xe12eab25,	0x38ce3d26,	0xc0d5b8a5,	0xd4910b5c,
+0xbd428d74,	0x58ff0ae3,	0x78669ee4,	0x10471ff9,
+0x534e002a,	0xe1d8feeb,	0xf4feee35,	0x76f222b0,
+0x68c0270c,	0x0030d599,	0xd4241546,	0x8cfda1d1,
+0x3852f115,	0xd7fb3466,	0x58fe4578,	0x57038162,
+0xdb6dc364,	0x88baec17,	0xaf062790,	0xb70f6e83,
+0x73fd4542,	0x010debbc,	0xdd02bcda,	0xd7b44398,
+0xb2856418,	0x76aa8ecb,	0x72043c88,	0x00ba511e,
+0x58df48d2,	0x8a10f33c,	0x684fd7a5,	0x47f15765,
+0xe38065bf,	0x584d4eed,	0xa434b261,	0xc9254576,
+0xe10ff696,	0x9882bde6,	0xb0967eda,	0x8b12dd5b,
+0x1155b6a9,	0x679e8f2d,	0xe522ca3c,	0xff4432e0,
+0xf1172213,	0x540032ff,	0xeaa78315,	0x003217dc,
+0x96a5e987,	0x02d92ea1,	0x176db865,	0xbff26fc8,
+0xa1ed85cc,	0x8d1e3673,	0xaf598c4d,	0xbb472150,
+0xa522b7dc,	0x755194c6,	0x2cdafab3,	0x8ebd657c,
+0x6197fa59,	0x2ef39c18,	0x8f63f7e8,	0xf1cf5923,
+0x55e21350,	0xd44e22d0,	0xe134e739,	0xbd670fe0,
+0xe2685063,	0x6dae2e19,	0xfbce6e8d,	0x3d4fdea6,
+0xa7f23d9c,	0x1c7fe950,	0x2a23ef65,	0xf3f3a2f6,
+0xa3c1fa25,	0xc5b98bc7,	0xc2f482b2,	0xc7745101,
+0xfcf64472,	0x3f22aecb,	0x92018d3c,	0x24818346,
+0x838ba96f,	0x4f0239d3,	0xf295395e,	0xb3c38631,
+0x7ea7a143,	0x157a4e43,	0x46f8173f,	0xfbc18d4a,
+0xc401e17a,	0xc4620358,	0xd2ab5437,	0xa01db06f,
+0x58ce91fc,	0x850de1a3,	0x9b542dba,	0xee77f038,
+0xddd3ced6,	0xc225d2ce,	0x63a3f765,	0x3342a06c,
+0x6a780c2f,	0xfaa925b2,	0x366ebeec,	0xbcc9abea,
+0xc7b3fa4e,	0xf4f1123d,	0x5198702c,	0x3e3458b7,
+0x0b1ce9a1,	0x51b1bd7f,	0x711e791e,	0x927d8bed,
+0x91dbaea9,	0x7eefbda9,	0x7a19edd9,	0xdf7b8dce,
+0x5bb40613,	0x0b0c1e0f,	0x85b82c98,	0x18da4dc1,
+0xc5fd78ac,	0x57c1e31d,	0x4c4001b5,	0xe31d2643,
+0xa6afbf58,	0xad200e68,	0xf0114ba4,	0xd6a620f2,
+0xc753a720,	0xac9022a0,	0x28a41f01,	0x22a4ba95,
+0xc00b7531,	0x23d42795,	0xcd836a86,	0x90262708,
+0x3292cad0,	0x40022e39,	0xc1581b0a,	0xe5101550,
+0x6538096b,	0x208c549d,	0x3ce2bf88,	0xa71df38e,
+0x3dec3685,	0xca3949f1,	0x79f3ad1b,	0x3ee8b300,
+0x9d305fc6,	0x7a2e5288,	0xbe81a2f2,	0x7ada0c06,
+0x191c7f01,	0x58dfcbd1,	0xc78dee72,	0x72364226,
+0x1866de12,	0x8d22305c,	0x943a0f0e,	0xc81967ff,
+0x4d55fb0f,	0xaf199be1,	0x90bbda61,	0x4e7c234f,
+0x90cfec16,	0x9b4bcf26,	0x21622023,	0x0926f0fa,
+0x1d504377,	0xa58db427,	0x8d93ce2b,	0x90bfe900,
+0x29e67397,	0x2c1261ed,	0x4ace9474,	0xd5c60282,
+0xe53fb300,	0x8a61a0ab,	0xa7aa0918,	0x4389d7c5,
+0xd09d605c,	0x6c5bedb5,	0xd6d54c51,	0x433dea21,
+0x7ad9e677,	0x813bff76,	0x5a162c75,	0x1ee0661f,
+0x9b6c2030,	0x8e8dc989,	0xcd4bc9fc,	0x4454675b,
+0x8d583c9c,	0xe3400094,	0x116ebb83,	0xe847bc9a,
+0x2a4622dd,	0x2a901e6f,	0xd789b1c0,	0x094e2bbb,
+0x056e563f,	0x9f17e606,	0x8bc79b8d,	0xd2c535c1,
+0x06a45a27,	0x9dc56771,	0xa06649e2,	0x5ff25ac8,
+0x6554961e,	0x98e583d9,	0x38ba93da,	0xdee1de18,
+0x037cb9d5,	0x6b17f195,	0x3431faaf,	0x13860a0d,
+0x28bca10d,	0x0a54c011,	0x9957cdb6,	0x3aa1f429,
+0x9d41b7b3,	0x9aea5be2,	0x60c7ce6b,	0x4cd1c10b,
+0x24ddddcd,	0xe28412ba,	0xa03a5466,	0xa1896879,
+0x59edcb87,	0x1b241765,	0x157bf161,	0xf219f950,
+0xe86ff526,	0x262005d9,	0x11769531,	0xbca15d95,
+0x28f5ef17,	0x1f27e725,	0xc32631d2,	0x07249e61,
+0x1ba851e3,	0x4f49b577,	0xe2a1df5e,	0x826fa7ff,
+0xc34e1e2e,	0x7fe26024,	0xbc19800f,	0x0d368dc9,
+0xe03da0c6,	0xadaa4f9c,	0x9ad1e43c,	0x96f84e44,
+0x0b6cd695,	0x1bb46971,	0x942d6e5b,	0x6316170d,
+0x3164509f,	0xc6659450,	0xb2a0370a,	0xabc208e8,
+0x6d479811,	0x3684bc0e,	0x80b7b101,	0xa50b7bb5,
+0x43d21233,	0xb423559d,	0xf41dcd16,	0xdfd3c276,
+0x3e586469,	0xd9b7630a,	0xb88f9e44,	0x0cda6f4d,
+0xe5bf5844,	0x8709f788,	0xdae37da6,	0x1fb41777,
+0x1d903f69,	0x34383b69,	0xd409ae70,	0xd1c99758,
+0xdedfd7a4,	0xa4bdf018,	0xf4058202,	0x8565d66f,
+0x5365aed9,	0xfa69742e,	0x2cfbfbcf,	0x88a00b60,
+0x506c0713,	0x2866475b,	0x3e1df573,	0xb86f7feb,
+0x31d23a7f,	0xc6320e6a,	0x3ebbc2a5,	0x83a1d4ef,
+0x15169f5f,	0x42a61753,	0x893e553e,	0x4ddbc66d,
+0x7449ec1f,	0x76f65d22,	0x0622e13b,	0x32986f89,
+0x21181b4b,	0x99a80c0a,	0xd6fe00b0,	0x282c0e81,
+0x9fc1cf88,	0x919b855d,	0x618257d8,	0x82c448b8,
+0xe22537a1,	0xa90de388,	0xba73b90c,	0xd765eeb0,
+0x62b2727e,	0xa08dfe20,	0x70b3c8c5,	0x3ef04007,
+0x9f73732b,	0x2201edd7,	0xb836219c,	0xf913af7c,
+0xf50f64ca,	0x93ac107a,	0xf509f84a,	0x6f6026f6,
+0xd9bb8eac,	0x4b268cfa,	0xa65a3fa6,	0x9837cb75,
+0x784fb835,	0x2060576d,	0xb1604cae,	0xb9da4116,
+0xab320cf2,	0x60a1b501,	0x0c73fa79,	0x8d5a6f1e,
+0x57688086,	0x218e4005,	0xca054e3d,	0xc1a3c3ec,
Index: src/cpu/intel/socket_mfcbga479/Kconfig
===================================================================
--- src/cpu/intel/socket_mfcbga479/Kconfig	(revision 0)
+++ src/cpu/intel/socket_mfcbga479/Kconfig	(revision 0)
@@ -0,0 +1,5 @@ 
+config CPU_INTEL_SOCKET_MFCBGA479
+	bool
+	select CPU_INTEL_MODEL_6BX
+	select MMX
+	select SSE
Index: src/cpu/intel/socket_mfcbga479/Makefile.inc
===================================================================
--- src/cpu/intel/socket_mfcbga479/Makefile.inc	(revision 0)
+++ src/cpu/intel/socket_mfcbga479/Makefile.inc	(revision 0)
@@ -0,0 +1,8 @@ 
+obj-y += socket_mfcbga479.o
+subdirs-y += ../model_6bx
+subdirs-y += ../../x86/tsc
+subdirs-y += ../../x86/mtrr
+subdirs-y += ../../x86/lapic
+subdirs-y += ../../x86/cache
+subdirs-y += ../../x86/smm
+subdirs-y += ../microcode
Index: src/cpu/intel/socket_mfcbga479/chip.h
===================================================================
--- src/cpu/intel/socket_mfcbga479/chip.h	(revision 0)
+++ src/cpu/intel/socket_mfcbga479/chip.h	(revision 0)
@@ -0,0 +1,4 @@ 
+extern struct chip_operations cpu_intel_socket_mfcbga479_ops;
+
+struct cpu_intel_socket_mfcbga479_config {
+};
Index: src/cpu/intel/socket_mfcbga479/socket_mfcbga479.c
===================================================================
--- src/cpu/intel/socket_mfcbga479/socket_mfcbga479.c	(revision 0)
+++ src/cpu/intel/socket_mfcbga479/socket_mfcbga479.c	(revision 0)
@@ -0,0 +1,7 @@ 
+#include <device/device.h>
+#include "chip.h"
+
+
+struct chip_operations cpu_intel_socket_mfcbga479_ops = {
+	CHIP_NAME("Micro-FCBGA Socket 479 CPU")
+};
Index: src/mainboard/thomson/ip1000/Kconfig
===================================================================
--- src/mainboard/thomson/ip1000/Kconfig	(revision 5372)
+++ src/mainboard/thomson/ip1000/Kconfig	(working copy)
@@ -1,18 +1,20 @@ 
 config BOARD_THOMSON_IP1000
 	bool "IP1000"
 	select ARCH_X86
-	select CPU_INTEL_SOCKET_PGA370
+	select CPU_INTEL_SOCKET_MFCBGA479
 	select NORTHBRIDGE_INTEL_I82830
 	select SOUTHBRIDGE_INTEL_I82801DX
 	select SUPERIO_SMSC_SMSCSUPERIO
-	select ROMCC
 	select HAVE_PIRQ_TABLE
 	select UDELAY_TSC
 	select BOARD_ROMSIZE_KB_512
 	select HAVE_HARD_RESET
 	select HAVE_MAINBOARD_RESOURCES
+	select USE_PRINTK_IN_CAR
 	select HAVE_SMI_HANDLER
 	select GFXUMA
+	select USE_DCACHE_RAM
+	select TINY_BOOTBLOCK
 
 config MAINBOARD_DIR
 	string
@@ -29,6 +31,16 @@ 
 	default n
 	depends on BOARD_THOMSON_IP1000
 
+config DCACHE_RAM_BASE
+	hex
+	default 0xffdf8000
+	depends on BOARD_THOMSON_IP1000
+
+config DCACHE_RAM_SIZE
+	hex
+	default 0x8000
+	depends on BOARD_THOMSON_IP1000
+
 config IRQ_SLOT_COUNT
 	int
 	default 7
Index: src/mainboard/thomson/ip1000/devicetree.cb
===================================================================
--- src/mainboard/thomson/ip1000/devicetree.cb	(revision 5372)
+++ src/mainboard/thomson/ip1000/devicetree.cb	(working copy)
@@ -1,6 +1,6 @@ 
 chip northbridge/intel/i82830		# Northbridge
   device apic_cluster 0 on		# APIC cluster
-    chip cpu/intel/socket_PGA370	# Low Voltage PIII Micro-FCBGA Socket 479
+    chip cpu/intel/socket_mfcbga479	# Low Voltage PIII Micro-FCBGA Socket 479
       device apic 0 on end		# APIC
     end
   end
Index: src/mainboard/thomson/ip1000/romstage.c
===================================================================
--- src/mainboard/thomson/ip1000/romstage.c	(revision 5372)
+++ src/mainboard/thomson/ip1000/romstage.c	(working copy)
@@ -97,10 +97,11 @@ 
 	pci_write_config8(PCI_DEV(0, 0x1f, 0), ACPI_CNTL, 0x10);
 }
 
-static void main(unsigned long bist)
+#include "cpu/intel/model_6bx/cache_as_ram_disable.c"
+
+void real_main(unsigned long bist)
 {
 	if (bist == 0) {
-		early_mtrr_init();
 		if (memory_initialized()) {
 			hard_reset();
 		}
Index: src/mainboard/thomson/ip1000/Makefile.inc
===================================================================
--- src/mainboard/thomson/ip1000/Makefile.inc	(revision 5372)
+++ src/mainboard/thomson/ip1000/Makefile.inc	(working copy)
@@ -1,4 +1,2 @@ 
-ROMCCFLAGS=-mcpu=p3 -O
-
 smmobj-$(CONFIG_HAVE_SMI_HANDLER) += mainboard_smi.o
 
Index: src/mainboard/rca/rm4100/Kconfig
===================================================================
--- src/mainboard/rca/rm4100/Kconfig	(revision 5372)
+++ src/mainboard/rca/rm4100/Kconfig	(working copy)
@@ -1,18 +1,20 @@ 
 config BOARD_RCA_RM4100
 	bool "RM4100"
 	select ARCH_X86
-	select CPU_INTEL_SOCKET_PGA370
+	select CPU_INTEL_SOCKET_MFCBGA479
 	select NORTHBRIDGE_INTEL_I82830
 	select SOUTHBRIDGE_INTEL_I82801DX
 	select SUPERIO_SMSC_SMSCSUPERIO
-	select ROMCC
 	select HAVE_PIRQ_TABLE
 	select UDELAY_TSC
- 	select BOARD_ROMSIZE_KB_1024
- 	select HAVE_MAINBOARD_RESOURCES
+	select BOARD_ROMSIZE_KB_1024
 	select HAVE_HARD_RESET
+	select HAVE_MAINBOARD_RESOURCES
+	select USE_PRINTK_IN_CAR
 	select HAVE_SMI_HANDLER
- 	select GFXUMA
+	select GFXUMA
+	select USE_DCACHE_RAM
+	select TINY_BOOTBLOCK
 
 config MAINBOARD_DIR
 	string
@@ -29,6 +31,16 @@ 
 	default n
 	depends on BOARD_RCA_RM4100
 
+config DCACHE_RAM_BASE
+	hex
+	default 0xffdf8000
+	depends on BOARD_RCA_RM4100
+
+config DCACHE_RAM_SIZE
+	hex
+	default 0x8000
+	depends on BOARD_RCA_RM4100
+
 config IRQ_SLOT_COUNT
 	int
 	default 7
Index: src/mainboard/rca/rm4100/devicetree.cb
===================================================================
--- src/mainboard/rca/rm4100/devicetree.cb	(revision 5372)
+++ src/mainboard/rca/rm4100/devicetree.cb	(working copy)
@@ -1,6 +1,6 @@ 
 chip northbridge/intel/i82830		# Northbridge
   device apic_cluster 0 on		# APIC cluster
-    chip cpu/intel/socket_PGA370	# Mobile Celeron Micro-FCBGA Socket 479
+    chip cpu/intel/socket_mfcbga479	# Mobile Celeron Micro-FCBGA Socket 479
       device apic 0 on end		# APIC
     end
   end
Index: src/mainboard/rca/rm4100/romstage.c
===================================================================
--- src/mainboard/rca/rm4100/romstage.c	(revision 5372)
+++ src/mainboard/rca/rm4100/romstage.c	(working copy)
@@ -98,10 +98,11 @@ 
 	pci_write_config8(PCI_DEV(0, 0x1f, 0), ACPI_CNTL, 0x10);
 }
 
-static void main(unsigned long bist)
+#include "cpu/intel/model_6bx/cache_as_ram_disable.c"
+
+void real_main(unsigned long bist)
 {
 	if (bist == 0) {
-		early_mtrr_init();
 		if (memory_initialized()) {
 			hard_reset();
 		}
Index: src/mainboard/rca/rm4100/Makefile.inc
===================================================================
--- src/mainboard/rca/rm4100/Makefile.inc	(revision 5372)
+++ src/mainboard/rca/rm4100/Makefile.inc	(working copy)
@@ -1,4 +1,2 @@ 
-ROMCCFLAGS=-mcpu=p3 -O
-
 smmobj-$(CONFIG_HAVE_SMI_HANDLER) += mainboard_smi.o
 
Index: src/arch/i386/Makefile.inc
===================================================================
--- src/arch/i386/Makefile.inc	(revision 5372)
+++ src/arch/i386/Makefile.inc	(working copy)
@@ -165,6 +165,9 @@ 
 ifeq ($(CONFIG_CPU_INTEL_SOCKET_BGA956),y)
 crt0s += $(src)/cpu/intel/model_6ex/cache_as_ram.inc
 endif
+ifeq ($(CONFIG_CPU_INTEL_SOCKET_MFCBGA479),y)
+crt0s += $(src)/cpu/x86/car/cache_as_ram.inc
+endif
 # should be CONFIG_CPU_VIA_C7, but bcom/winnetp680, jetway/j7f24, via/epia-cn, via/pc2500e don't use CAR yet
 ifeq ($(CONFIG_BOARD_VIA_VT8454C),y)
 crt0s += $(src)/cpu/via/car/cache_as_ram.inc