v3 loads and runs on an alix1c.
So far, the only payload that works is a RET. Even a simple OUTB followed by a RET fails.
Any ideas on this? I'm flummoxed. Could it be the stack location? Stack is at 0x8fxxx.
Also, I have to run at < 1 MB, the memory above 1 MB reads back as all ffffffff.
that's all for today. First payload is a good day. fixing disable_car is even better :-) we're getting there.
ron
On 05.01.2008 02:36, ron minnich wrote:
v3 loads and runs on an alix1c.
So far, the only payload that works is a RET. Even a simple OUTB followed by a RET fails.
outb and ret in asm? If not, we may have problems with the state of the registers the called program expects. It would be interesting to see if the asm outb is successful.
Any ideas on this? I'm flummoxed. Could it be the stack location? Stack is at 0x8fxxx.
Also, I have to run at < 1 MB, the memory above 1 MB reads back as all ffffffff.
We'll get there. The progress has been impressive, and executing a payload is really a sign that the code is good enough for everything before the payload.
Regards, Carl-Daniel
On 05.01.2008 02:36, ron minnich wrote:
v3 loads and runs on an alix1c. [...] Also, I have to run at < 1 MB, the memory above 1 MB reads back as all ffffffff.
arch/x86/geodelx/stage1.c has two very interesting comments:
/* Setup access to cache under 1MB. */ [...] /* Setup access to memory under 1MB. Note: VGA hole at 0xA0000-0xBFFFF */
Regards, Carl-Daniel
ron minnich wrote:
v3 loads and runs on an alix1c.
So far, the only payload that works is a RET. Even a simple OUTB followed by a RET fails.
Any ideas on this? I'm flummoxed. Could it be the stack location? Stack is at 0x8fxxx.
Also, I have to run at < 1 MB, the memory above 1 MB reads back as all ffffffff.
that's all for today. First payload is a good day. fixing disable_car is even better :-) we're getting there.
ron
This is good news.
Is it an _asm outb? The stack was working up to that point so I would assume it is good. Seems like a different problem. In your payload can you do a push/pop test?
As for 1MB and above, it sounds like GLIUInit() isn't running correctly. Can you dump RCONF and GLIU MSRs? Something like v2 print_conf() in the norwich\mainboard.c.
Marc
On Jan 7, 2008 2:45 PM, Marc Jones marc.jones@amd.com wrote:
As for 1MB and above, it sounds like GLIUInit() isn't running correctly. Can you dump RCONF and GLIU MSRs? Something like v2 print_conf() in the norwich\mainboard.c.
I'm bringing that code forward but some MSRs got renamed, so give me a bit. I will get you a dump tonight. Off to my day job :-)
ron