On Wed, Mar 21, 2012 at 10:50:17PM +0100, Nils wrote: > Op zaterdag 10-03-2012 om 14:05 uur [tijdzone -0500], schreef Kevin > O'Connor: > > It looks pretty clear that the controller doesn't like 9-segment nor > > e-segment addresses. You could try "malloc_low() - 0x50000" to see > > how the controller likes 4-segment address, but basically the only > > hope of getting this to work is to see if you can fix the controller. > I studied the datasheets and tried different things but had no result. > > Then i tried "malloc_low() - 0x100" and the controller seems to work. > > Could it be that some SeaBIOS parts overlap at LOWRAM_END ? > ( ohci controller and (E)BDA ?)
The logs pretty clearly indicate that the ram is in the 9-segment and not the a-segment. It may be a hardware bug that confuses addresses that are close. > Do you have any suggestions ? > > Attached log from latest git + debugging patch and log from same code > but with "malloc_low() - 0x100" . If it's just a 256 byte offset, you can add a "malloc_low(256)" to the top of usb.c:usb_setup() to reserve the troublesome addresses. Note though, the e-segment values we tested before seem to be also impacted. I have a vague plan to change SeaBIOS in the future to use e-segment addresses instead of 9-segment addresses. -Kevin _______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
