Ühel kenal päeval, E, 2008-05-26 kell 12:51, kirjutas llandre:
However it does not work: a) white LED on dongle is still off
See http://coreboot.org/viewvc?view=rev&root=coreboot-v3&revision=660 and do it in a similar place
Ok, thank you for your suggestion. I'll try it.
This particular spot enables 4MB mode in mainboard stage1, which I'd think would be early enough, as it's right after the enabling of serial output (and the 4MB mode LED should be lighting up). Then again, I'd think that your previous spot should have been early enough as well, so not sure what the issue is.
Also when the post code logger is enabled (jumper 7-8 shorted), we see on the USB virtual serial port these strings only: "x00" . So we suspect dongle is not getting the the I/O write operations at all. Any idea?
Nope, works for me. If post code logger isn't enabled, do you see other codes than 00 on the post code segments on the dongle?
b) coreboot prints:
Before VSA:
... option ROM_SIZE=4*1024*1024-36*1024
Is this correct?
Two questions about this:
- Why do you need a 4MB ROM? Do you have linux as a payload or what?
Yes. I need to boot a linux kernel. At the moment I don't see any other ways to do that.
The commit message of the commit that I pointed you at explains a way to do that on the dongle with FILO payload and a 256KB or so ROM (that includes coreboot, VSA, VGA ROM and filo). You can address the dongle memory in FILO when 4MB mode is turned on, and you don't have to then deal with the mess that is dealing with over 1MB at firmware stage.
- Don't you have VGA ROM added to the ROM? Your ROM_SIZE seems to
indicate there is no room for that, and the log seems to indicate it's trying to do graphics init, which my ignorancy makes me now believe it's trying to init the VGA ROM and doesn't find it. Maybe you don't have VGA ROM included, but using a VSA that does the VGA init stuff which might need a VGA ROM to pass? I'm not sure about these specifics, but I do have to use a different VSA on coreboot-v2 and coreboot-v3, with my v2 code having a VGA ROM too, and v3 not - this might very well be just codebase and coreboot VSA init differences, but could also be related to VGA - hopefully someone who knows will chime in, I've been wondering about the differences in the VSA versions for a while.
I suspect VGA ROM is not found by coreboot because it can't access whole 4MB window.
you aren't reserving any space to fit a VGA ROM in 4MB. You have option ROM_SIZE=4*1024*1024-36*1024 but for example upstream artecgroup/dbe61 has the following comment (in the code we use we have the commented out version that has 32KB for VGA ROM reserved too):
## ROM_SIZE is the total number of bytes allocated for coreboot use ## (normal AND fallback images and payloads). ## leave 36k for vsa and 32K for video ROM #option ROM_SIZE = 1024*256 - 36*1024 - 32 * 1024
#No VGA for now option ROM_SIZE = 1024*512 - 36*1024
There's no 32KB reserved for VGA ROM in your case either, hence why I don't believe you are adding a VGA ROM to the end result. That might be what you want (the VGA ROM is proprietary and has not had code released due to that, while the VSA code without VGA ROM init bits is), but just make sure you are using an appropriate VSA. Note that you won't be able to see any VGA picture without the VGA ROM unless you use libpayload's geode graphics support (coreinfo payload with libpayload configured with geode gfx support is a great way to test if things work) or until you reach lxfb module loading in linux kernel or native Xorg driver, which talk to the hardware directly instead of relying on the BIOS interrupt handlers that the VGA ROM blob provides.
Regards, Mart Raudsepp Artec Design LLC