intel/model_6ex: Prepare for dynamic CONFIG_RAMTOP

Change-Id: I9bfaa53f8d09962d36df1e86a0edcf100bb08403
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/15229
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Kyösti Mälkki 2016-06-17 10:00:28 +03:00 committed by Martin Roth
parent 4c3de9c3ed
commit 15fa992cc8
18 changed files with 37 additions and 27 deletions

View file

@ -132,7 +132,12 @@ clear_mtrrs:
post_code(0x23)
/* Call romstage.c main function. */
call main
call romstage_main
/* Save return value from romstage_main. It contains the stack to use
* after cache-as-ram is torn down. It also contains the information
* for setting up MTRRs. */
movl %eax, %ebx
post_code(0x2f)
@ -219,7 +224,8 @@ __main:
post_code(POST_PREPARE_RAMSTAGE)
cld /* Clear direction flag. */
movl $CONFIG_RAMTOP, %esp
/* Setup stack as indicated by return value from romstage_main(). */
movl %ebx, %esp
movl %esp, %ebp
call copy_and_run

View file

@ -10,3 +10,4 @@ subdirs-y += ../speedstep
# Use Intel Core (not Core 2) code for CAR init, any CPU might be used.
cpu_incs-y += $(src)/cpu/intel/model_6ex/cache_as_ram.inc
romstage-y += ../car/romstage.c

View file

@ -9,3 +9,4 @@ subdirs-y += ../microcode
subdirs-y += ../hyperthreading
cpu_incs-y += $(src)/cpu/intel/model_6ex/cache_as_ram.inc
romstage-y += ../car/romstage.c

View file

@ -16,3 +16,4 @@ subdirs-y += ../speedstep
cpu_incs-y += $(src)/cpu/intel/car/cache_as_ram_ht.inc
romstage-y += ../car/romstage.c
romstage-y += ../car/romstage.c

View file

@ -12,3 +12,4 @@ subdirs-y += ../hyperthreading
subdirs-y += ../speedstep
cpu_incs-y += $(src)/cpu/intel/model_6ex/cache_as_ram.inc
romstage-y += ../car/romstage.c

View file

@ -278,7 +278,7 @@ static void early_ich7_init(void)
RCBA32(0x2034) = reg32;
}
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
int s3resume = 0;
const u8 spd_addrmap[2 * DIMM_SOCKETS] = { 0x50, 0x51, 0x52, 0x53 };

View file

@ -24,6 +24,7 @@
#include <lib.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
#include <cpu/intel/romstage.h>
#include <superio/winbond/common/winbond.h>
#include <superio/winbond/w83627hf/w83627hf.h>
#include <northbridge/intel/i5000/raminit.h>
@ -105,8 +106,7 @@ int mainboard_set_fbd_clock(int speed)
}
}
#include <cpu/intel/romstage.h>
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
if (bist == 0)
enable_lapic();

View file

@ -26,6 +26,7 @@
#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
#include <cpu/intel/romstage.h>
#include <halt.h>
#include <northbridge/intel/i945/i945.h>
#include <northbridge/intel/i945/raminit.h>
@ -259,8 +260,7 @@ static void early_ich7_init(void)
RCBA32(0x2034) = reg32;
}
#include <cpu/intel/romstage.h>
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
int s3resume = 0;

View file

@ -29,6 +29,7 @@
#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
#include <cpu/intel/romstage.h>
#include <halt.h>
#include <northbridge/intel/i945/i945.h>
#include <northbridge/intel/i945/raminit.h>
@ -217,8 +218,7 @@ static void early_ich7_init(void)
RCBA32(0x2034) = reg32;
}
#include <cpu/intel/romstage.h>
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
int s3resume = 0;

View file

@ -26,6 +26,7 @@
#include <console/console.h>
#include <delay.h>
#include <cpu/x86/bist.h>
#include <cpu/intel/romstage.h>
#include <cpu/intel/speedstep.h>
#include "southbridge/intel/i3100/early_smbus.c"
#include "southbridge/intel/i3100/early_lpc.c"
@ -117,8 +118,7 @@ static void early_config(void)
pci_write_config8(PCI_DEV(0, 0x1F, 2), SATA_MAP, (SATA_MODE_AHCI << 6) | (0 << 0));
}
#include <cpu/intel/romstage.h>
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
/* int boot_mode = 0; */

View file

@ -28,6 +28,7 @@
#include "option_table.h"
#include <console/console.h>
#include <cpu/x86/bist.h>
#include <cpu/intel/romstage.h>
#include <halt.h>
#include <superio/winbond/w83627thg/w83627thg.h>
#include <northbridge/intel/i945/i945.h>
@ -323,8 +324,7 @@ static void early_ich7_init(void)
RCBA32(0x2034) = reg32;
}
#include <cpu/intel/romstage.h>
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
int s3resume = 0;

View file

@ -23,13 +23,13 @@
#include <cpu/x86/lapic.h>
#include <cpu/x86/msr.h>
#include <cpu/x86/tsc.h>
#include <cpu/intel/romstage.h>
#include <cbmem.h>
#include <lib.h>
#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <southbridge/intel/i82801ix/i82801ix.h>
#include <northbridge/intel/gm45/gm45.h>
#include <cpu/intel/romstage.h>
#define LPC_DEV PCI_DEV(0, 0x1f, 0)
#define MCH_DEV PCI_DEV(0, 0, 0)
@ -67,7 +67,7 @@ static void early_lpc_setup(void)
pci_write_config32(LPC_DEV, D31F0_GEN3_DEC, 0x1c1681);
}
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
sysinfo_t sysinfo;
int s3resume = 0;

View file

@ -30,6 +30,7 @@
#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
#include <cpu/intel/romstage.h>
#include <halt.h>
#include <northbridge/intel/i945/i945.h>
#include <northbridge/intel/i945/raminit.h>
@ -199,8 +200,7 @@ static void early_ich7_init(void)
RCBA32(0x2034) = reg32;
}
#include <cpu/intel/romstage.h>
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
int s3resume = 0;
int dock_err;

View file

@ -23,13 +23,13 @@
#include <cpu/x86/lapic.h>
#include <cpu/x86/msr.h>
#include <cpu/x86/tsc.h>
#include <cpu/intel/romstage.h>
#include <cbmem.h>
#include <lib.h>
#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <southbridge/intel/i82801ix/i82801ix.h>
#include <northbridge/intel/gm45/gm45.h>
#include <cpu/intel/romstage.h>
#define LPC_DEV PCI_DEV(0, 0x1f, 0)
#define MCH_DEV PCI_DEV(0, 0, 0)
@ -67,7 +67,7 @@ static void early_lpc_setup(void)
pci_write_config32(LPC_DEV, D31F0_GEN3_DEC, 0x1c1681);
}
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
sysinfo_t sysinfo;
int s3resume = 0;

View file

@ -30,6 +30,7 @@
#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
#include <cpu/intel/romstage.h>
#include <halt.h>
#include <northbridge/intel/i945/i945.h>
#include <northbridge/intel/i945/raminit.h>
@ -206,8 +207,7 @@ static void early_ich7_init(void)
RCBA32(0x2034) = reg32;
}
#include <cpu/intel/romstage.h>
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
int s3resume = 0;
const u8 spd_addrmap[2 * DIMM_SOCKETS] = { 0x50, 0x52, 0x51, 0x53 };

View file

@ -28,6 +28,7 @@
#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
#include <cpu/intel/romstage.h>
#include <halt.h>
#include <northbridge/intel/i945/i945.h>
#include <northbridge/intel/i945/raminit.h>
@ -244,8 +245,7 @@ static void init_artec_dongle(void)
outb(0xf4, 0x88);
}
#include <cpu/intel/romstage.h>
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
int s3resume = 0;

View file

@ -22,6 +22,7 @@
#include <cpu/x86/lapic.h>
#include <cpu/x86/msr.h>
#include <cpu/x86/tsc.h>
#include <cpu/intel/romstage.h>
#include <arch/acpi.h>
#include <cbmem.h>
#include <lib.h>
@ -115,8 +116,7 @@ static void default_superio_gpio_setup(void)
outb(0x10, 0x600 + 0xb + 4); /* GP40 - GP47 */
}
#include <cpu/intel/romstage.h>
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
sysinfo_t sysinfo;
int s3resume = 0;

View file

@ -24,6 +24,7 @@
#include <lib.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
#include <cpu/intel/romstage.h>
#include <superio/winbond/common/winbond.h>
#include <superio/winbond/w83627hf/w83627hf.h>
#include <northbridge/intel/i5000/raminit.h>
@ -106,8 +107,7 @@ int mainboard_set_fbd_clock(int speed)
}
}
#include <cpu/intel/romstage.h>
void main(unsigned long bist)
void mainboard_romstage_entry(unsigned long bist)
{
if (bist == 0)
enable_lapic();