cpu/intel/slot_1: Move to C_ENVIRONMENT_BOOTBLOCK

Console is not yet enabled in bootblock. This will be done in
a different CL.

Change-Id: Ic751d42a1969fb79fb50366f766d8796846a0bc4
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36774
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
Arthur Heymans 2019-11-12 12:05:38 +01:00 committed by Patrick Georgi
parent df0c731e68
commit 1fa240a3c5
7 changed files with 21 additions and 12 deletions

View File

@ -18,14 +18,10 @@
#define CACHE_AS_RAM_SIZE CONFIG_DCACHE_RAM_SIZE
#define CACHE_AS_RAM_BASE CONFIG_DCACHE_RAM_BASE
#if !CONFIG(ROMCC_BOOTBLOCK)
#if ((CONFIG_C_ENV_BOOTBLOCK_SIZE & (CONFIG_C_ENV_BOOTBLOCK_SIZE - 1)) != 0)
#error "CONFIG_C_ENV_BOOTBLOCK_SIZE must be a power of 2!"
#endif
#define XIP_ROM_SIZE CONFIG_C_ENV_BOOTBLOCK_SIZE
#else
#define XIP_ROM_SIZE CONFIG_XIP_ROM_SIZE
#endif
.global bootblock_pre_c_entry

View File

@ -27,7 +27,6 @@ config SLOT_SPECIFIC_OPTIONS # dummy
select UDELAY_TSC
select TSC_MONOTONIC_TIMER
select UNKNOWN_TSC_RATE
select ROMCC_BOOTBLOCK
config DCACHE_RAM_BASE
hex
@ -37,4 +36,12 @@ config DCACHE_RAM_SIZE
hex
default 0x02000
config DCACHE_BSP_STACK_SIZE
hex
default 0x1000
config C_ENV_BOOTBLOCK_SIZE
hex
default 0x2000
endif

View File

@ -26,6 +26,7 @@ subdirs-y += ../../x86/cache
subdirs-y += ../../x86/smm
subdirs-y += ../microcode
cpu_incs-y += $(src)/cpu/intel/car/p3/cache_as_ram.S
bootblock-y += ../car/p3/cache_as_ram.S
bootblock-y += ../car/bootblock.c
postcar-y += ../car/p4-netburst/exit_car.S
romstage-y += ../car/romstage.c

View File

@ -17,6 +17,7 @@ config NORTHBRIDGE_INTEL_I440BX
bool
select NO_MMCONF_SUPPORT
select HAVE_DEBUG_RAM_SETUP
select NO_BOOTBLOCK_CONSOLE
config SDRAMPWR_4DIMM
bool

View File

@ -4,8 +4,3 @@ config SOUTHBRIDGE_INTEL_I82371EB
select SOUTHBRIDGE_INTEL_COMMON_RTC
select SOUTHBRIDGE_INTEL_COMMON_RESET
bool
config BOOTBLOCK_SOUTHBRIDGE_INIT
string
default "southbridge/intel/i82371eb/bootblock.c"
depends on SOUTHBRIDGE_INTEL_I82371EB

View File

@ -16,6 +16,8 @@
ifeq ($(CONFIG_SOUTHBRIDGE_INTEL_I82371EB),y)
bootblock-y += bootblock.c
ramstage-y += i82371eb.c
ramstage-y += isa.c
ramstage-y += ide.c

View File

@ -18,6 +18,7 @@
#include <device/pci_ops.h>
#include <device/pci_ids.h>
#include <device/pci_type.h>
#include <cpu/intel/car/bootblock.h>
#include "i82371eb.h"
#define PCI_ID(VENDOR_ID, DEVICE_ID) \
@ -34,7 +35,13 @@ static pci_devfn_t pci_locate_device(unsigned int pci_id, pci_devfn_t dev)
return PCI_DEV_INVALID;
}
static void bootblock_southbridge_init(void)
/* TODO: Does not need to happen before console init. */
/* The whole rom is not accessible before this so limit
the bootblock size. */
#if CONFIG_C_ENV_BOOTBLOCK_SIZE > 0x10000
#error "CONFIG_C_ENV_BOOTBLOCK_SIZE needs to be below 64KiB"
#endif
void bootblock_early_southbridge_init(void)
{
u16 reg16;
pci_devfn_t dev;