Revert "cpu/amd: Use `get_option()`"
This reverts commit 6fffd70435
.
Doing more tests on the Asus KGPE-D16, it seems to cause a reboot loop
quite often. Therefore, revert the commit.
The problem might be caused by the spinlocks used by `get_option()`, and
which are not used by `read_option()`.
Change-Id: Ic25129aa71c8e8e40a65bb2658de78005766fea8
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reviewed-on: https://review.coreboot.org/c/30830
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
parent
da8c12b54f
commit
e0368b434e
|
@ -147,9 +147,6 @@ static void for_each_ap(uint32_t bsp_apicid, uint32_t core_range, int8_t node,
|
||||||
// here assume the OS don't change our apicid
|
// here assume the OS don't change our apicid
|
||||||
u32 ap_apicid;
|
u32 ap_apicid;
|
||||||
|
|
||||||
u8 nvram;
|
|
||||||
bool multicore;
|
|
||||||
|
|
||||||
u32 nodes;
|
u32 nodes;
|
||||||
u32 disable_siblings;
|
u32 disable_siblings;
|
||||||
u32 cores_found;
|
u32 cores_found;
|
||||||
|
@ -158,13 +155,12 @@ static void for_each_ap(uint32_t bsp_apicid, uint32_t core_range, int8_t node,
|
||||||
/* get_nodes define in ht_wrapper.c */
|
/* get_nodes define in ht_wrapper.c */
|
||||||
nodes = get_nodes();
|
nodes = get_nodes();
|
||||||
|
|
||||||
multicore = true;
|
if (!IS_ENABLED(CONFIG_LOGICAL_CPUS) ||
|
||||||
if (get_option(&nvram, "multi_core") == CB_SUCCESS)
|
read_option(multi_core, 0) != 0) { // 0 means multi core
|
||||||
multicore = !!nvram;
|
|
||||||
|
|
||||||
disable_siblings = 0;
|
|
||||||
if (!IS_ENABLED(CONFIG_LOGICAL_CPUS) || !multicore)
|
|
||||||
disable_siblings = 1;
|
disable_siblings = 1;
|
||||||
|
} else {
|
||||||
|
disable_siblings = 0;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < nodes; i++) {
|
for (i = 0; i < nodes; i++) {
|
||||||
if ((node >= 0) && (i != node))
|
if ((node >= 0) && (i != node))
|
||||||
|
@ -639,17 +635,11 @@ static void setup_remote_node(u8 node)
|
||||||
//it is running on core0 of node0
|
//it is running on core0 of node0
|
||||||
void start_other_cores(uint32_t bsp_apicid)
|
void start_other_cores(uint32_t bsp_apicid)
|
||||||
{
|
{
|
||||||
u8 nvram;
|
|
||||||
u32 nodes;
|
u32 nodes;
|
||||||
u32 nodeid;
|
u32 nodeid;
|
||||||
bool multicore;
|
|
||||||
|
|
||||||
// disable multi_core
|
// disable multi_core
|
||||||
multicore = true;
|
if (read_option(multi_core, 0) != 0) {
|
||||||
if (get_option(&nvram, "multi_core") == CB_SUCCESS)
|
|
||||||
multicore = !!nvram;
|
|
||||||
|
|
||||||
if (!multicore) {
|
|
||||||
printk(BIOS_DEBUG, "Skip additional core init\n");
|
printk(BIOS_DEBUG, "Skip additional core init\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue