On Tue, Dec 22, 2009 at 02:30:21PM -0700, Myles Watson wrote:
On Fri, Dec 18, 2009 at 11:38:46AM -0700, Myles Watson wrote:
I would check the early startup code for the remote nodes. It looks
like
you hang right where it gets garbled for Knut.
Hmm, yeah. So I tried enabling just one core by setting
default CONFIG_MAX_PHYSICAL_CPUS=1 default CONFIG_MAX_CPUS=1 * CONFIG_MAX_PHYSICAL_CPUS default CONFIG_LOGICAL_CPUS=1
I think you need to set CONFIG_LOGICAL_CPUS=0 to disable the siblings. I got it to compile by moving the nb_ function it can't find into the #endif above it.
- AP 02 didn't start timeout:00000001
- AP 03 didn't start timeout:00000001
Begin FIDVID MSR 0xc0010071 0x30ae00a3 0x40034c40 FIDVID on BSP, APIC_id: 00 BSP fid = 10600 Wait for AP stage 1: ap_apicid = 1 fidvid_bsp_stage1: time out while reading from ap 01 Wait for AP stage 1: ap_apicid = 2 fidvid_bsp_stage1: time out while reading from ap 02 Wait for AP stage 1: ap_apicid = 3
It's still trying to start the APs.
Right. Setting CONFIG_LOGICAL_CPUS to zero and making sure that conditional on CONFIG_LOGICAL_CPUS at the top of northbridge.c does not apply fixed that.
Should this go into the tree?
--- northbridge/amd/amdfam10/northbridge.c (revision 4978) +++ northbridge/amd/amdfam10/northbridge.c (working copy) @@ -31,10 +31,10 @@
#include <cpu/x86/lapic.h>
-#if CONFIG_LOGICAL_CPUS==1 #include <cpu/amd/quadcore.h> #include <pc80/mc146818rtc.h> -#endif
#include "chip.h" #include "root_complex/chip.h"
and by adding a return at the very beginning of start_other_cores in
cpu/amd/quadcore/quadcore.c
which gets me a bit further, but not much. It hangs in the mcp55_early_pcie_setup function in
southbridge/nvidia/mcp55/mcp55_early_setup_car.c
Log attached. Anything else I should try?
If inl and outl are hanging, I would dump the routing registers and read the device's IDs to see what's going wrong. I'm not very familiar with how the fam10 code works, but dumping the routing registers should be mostly cut and paste from the k8/util.c code.
Right. I've done that - log attached. I'm dumping with
showallroutes(BIOS_DEBUG, PCI_DEV(0, 0x18, 1));
I'm not sure what to make of the dump though (attached).
Thanks, Ward.