mainboard/asus/kgpe-d16: Enable romstage microcode spinlocks

Change-Id: I93687efc5405359286d3197f0e59ec3b118c5100
Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
Reviewed-on: https://review.coreboot.org/12809
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
Timothy Pearson 2015-12-24 13:26:18 -06:00 committed by Martin Roth
parent c764c7488b
commit 6dc53b485a
2 changed files with 15 additions and 1 deletions

View File

@ -16,6 +16,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select PARALLEL_CPU_INIT select PARALLEL_CPU_INIT
select HAVE_ROMSTAGE_CONSOLE_SPINLOCK select HAVE_ROMSTAGE_CONSOLE_SPINLOCK
select HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK select HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK
select HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK
select HAVE_HARD_RESET select HAVE_HARD_RESET
select HAVE_OPTION_TABLE select HAVE_OPTION_TABLE
select HAVE_CMOS_DEFAULT select HAVE_CMOS_DEFAULT

View File

@ -336,6 +336,18 @@ void initialize_romstage_nvram_cbfs_lock(void)
car_get_var(nvram_cbfs_spinlock) = SPIN_LOCK_UNLOCKED; car_get_var(nvram_cbfs_spinlock) = SPIN_LOCK_UNLOCKED;
} }
static spinlock_t microcode_cbfs_spinlock CAR_GLOBAL;
spinlock_t* romstage_microcode_cbfs_lock(void)
{
return car_get_var_ptr(&microcode_cbfs_spinlock);
}
void initialize_romstage_microcode_cbfs_lock(void)
{
car_get_var(microcode_cbfs_spinlock) = SPIN_LOCK_UNLOCKED;
}
void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx) void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
{ {
uint32_t esp; uint32_t esp;
@ -362,9 +374,10 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
timestamp_init(timestamp_get()); timestamp_init(timestamp_get());
timestamp_add_now(TS_START_ROMSTAGE); timestamp_add_now(TS_START_ROMSTAGE);
/* Initialize the printk and nvram CBFS spinlocks */ /* Initialize the printk, nvram CBFS, and microcode CBFS spinlocks */
initialize_romstage_console_lock(); initialize_romstage_console_lock();
initialize_romstage_nvram_cbfs_lock(); initialize_romstage_nvram_cbfs_lock();
initialize_romstage_microcode_cbfs_lock();
/* Nothing special needs to be done to find bus 0 */ /* Nothing special needs to be done to find bus 0 */
/* Allow the HT devices to be found */ /* Allow the HT devices to be found */