Op woensdag 07-03-2012 om 21:38 uur [tijdzone -0500], schreef Kevin O'Connor:
Oh - it definitely wont work with it changed to malloc_high. The test is just to see if the controller continues to freeze with it that way. It looks like the timeouts went away, which would indicate that your USB chip has some problems DMAing to low memory. Definitely sounds like a chip bug. Best way to confirm that would be to repost the log with the malloc_high change on top of the debugging patch I last sent.
See seriallog-20120308_173529.log
Another test you could do would be to change the allocations back to "malloc_low()" but as "malloc_low() + 0x50000" to see if moving the allocations from the 9-segment to the e-segment makes the controller happy.
See seriallog-20120308_183255.log
On Wed, Mar 7, 2012 at 7:38 PM, Kevin O'Connor kevin@koconnor.net wrote:
I haven't looked at this stuff in years, but it sounds like geodelink isn't setup to allow memory access into shadow ram. You may need to setup additional geodelink routing.
Thanks for the hint. You could be right that the shadowram isn't setup right. But if i'm not mistaken the original malloc_low range (the "9-segment") is below shadow ram in conventional memory?
In the past years i looked several times at those geodelink msr range setups, it's quite complicatedand and there were several problems. Also there are lots of different memory regions (with different cache setup?) in coreboot and SeaBIOS and i would have liked a table with memory range prerequisites but i couldn't find one. I'l look at it some more in the next days.
Thanks, Nils.