arch/non-x86: Use ENV_ROMSTAGE_OR_BEFORE

Change-Id: I9dbf0fc14516f766fd164c7308906456f2865e89
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/34982
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Kyösti Mälkki 2019-08-18 14:56:21 +03:00
parent 21160a72eb
commit 16248e89ec
3 changed files with 17 additions and 13 deletions

View File

@ -20,7 +20,7 @@
#define STACK(addr, size) REGION(stack, addr, size, 4096)
#if defined(__PRE_RAM__)
#if ENV_ROMSTAGE_OR_BEFORE
#define CAR_STACK(addr, size) \
REGION(car_stack, addr, size, 4K) \
ALIAS_REGION(car_stack, stack)

View File

@ -35,12 +35,14 @@
* should contain all available stages/payloads/etc. It is loaded when this
* function is called a second time at the end of the romstage, and copied to
* the romstage/ramstage CBFS cache in DRAM. It will reside there for the
* rest of the firmware's lifetime and all subsequent stages (which will not
* have __PRE_RAM__ defined) can just directly reference it there.
* rest of the firmware's lifetime and all subsequent stages can just directly
* reference it there.
*/
static int usb_cbfs_open(void)
{
#ifdef __PRE_RAM__
if (!ENV_ROMSTAGE_OR_BEFORE)
return 0;
static int first_run = 1;
int (*irom_load_usb)(void) = *irom_load_image_from_usb_ptr;
@ -61,7 +63,6 @@ static int usb_cbfs_open(void)
printk(BIOS_DEBUG, "USB A-A transfer successful, CBFS image should now"
" be at %p\n", _cbfs_cache);
first_run = 0;
#endif
return 0;
}
@ -75,7 +76,9 @@ static int usb_cbfs_open(void)
*/
static int sdmmc_cbfs_open(void)
{
#ifdef __PRE_RAM__
if (!ENV_ROMSTAGE_OR_BEFORE)
return 0;
/*
* In the bootblock, we just copy the small part that fits in the buffer
* and hope that it's enough (since the romstage is currently always the
@ -100,7 +103,6 @@ static int sdmmc_cbfs_open(void)
printk(BIOS_DEBUG, "SDMMC read successful, CBFS image should now be"
" at %p\n", _cbfs_cache);
first_run = 0;
#endif
return 0;
}

View File

@ -36,12 +36,14 @@
* should contain all available stages/payloads/etc. It is loaded when this
* function is called a second time at the end of the romstage, and copied to
* the romstage/ramstage CBFS cache in DRAM. It will reside there for the
* rest of the firmware's lifetime and all subsequent stages (which will not
* have __PRE_RAM__ defined) can just directly reference it there.
* rest of the firmware's lifetime and all subsequent stages can just directly
* reference it there.
*/
static int usb_cbfs_open(void)
{
#ifdef __PRE_RAM__
if (!ENV_ROMSTAGE_OR_BEFORE)
return 0;
static int first_run = 1;
int (*irom_load_usb)(void) = *irom_load_image_from_usb_ptr;
@ -65,7 +67,6 @@ static int usb_cbfs_open(void)
printk(BIOS_DEBUG, "USB A-A transfer successful, CBFS image should now"
" be at %p\n", _cbfs_cache);
first_run = 0;
#endif
return 0;
}
@ -79,7 +80,9 @@ static int usb_cbfs_open(void)
*/
static int sdmmc_cbfs_open(void)
{
#ifdef __PRE_RAM__
if (!ENV_ROMSTAGE_OR_BEFORE)
return 0;
/*
* In the bootblock, we just copy the small part that fits in the buffer
* and hope that it's enough (since the romstage is currently always the
@ -107,7 +110,6 @@ static int sdmmc_cbfs_open(void)
printk(BIOS_DEBUG, "SDMMC read successful, CBFS image should now be"
" at %p\n", _cbfs_cache);
first_run = 0;
#endif
return 0;
}