[coreboot] alix1c and v3

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Tue Jan 29 00:48:56 CET 2008


On 28.01.2008 21:57, Marc Jones wrote:
> ron minnich wrote:
>   
>> coreboot seems to by dying in VSM on some config access as well.
>>
>> Carl-Daniel pointed out to me:
>> "IIRC there is also a VSM stack which is located in a place differing
>> from the one clobbered between 0x1000 and 0x2000.
>>
>> Notice how it blows up exactly at the time where the first virtual PCI
>> access happens. That means it blows up inside VSM."
>>
>> So we need to get a complete idea of the needs of VSA/VSM for memory and stack.
>>     
>
> VSA needs a real mode stack for init. As Tom pointed out that is setup 
> in real_mode_switch_call_vsm in src/cpu/amd/model_lx/vsmsetup.c. I don't 
> think that the location matters. It could move instead ov moving stage2.
>   

We place that stack at 0x1000, however Ron saw during VSA init that
memory directly above 0x1000 was clobbered as well. Since the stack is
growing down, that suggests that the VSA writes to memory outside the
VSA init stack.
IIRC the VSA also has a runtime stack to save registers when called via
SMI. The Geode GX VSA2 programmer's guide is not completely clear on
that or I skipped over the wrong pages.
MSR_SMM_HDR is the location of the runtime stack, or rather the SMM
header in which at least some part of the SMM runtime stack is stored.
Do we set that anywhere?

Ron, can you provide us with logs of the last revision before VSA
support went in and of your current local codebase? I hope to pinpoint
the location of the explosion better.


Regards,
Carl-Daniel




More information about the coreboot mailing list