On Wed, Dec 24, 2008 at 12:13 AM, Corey Osgood corey.osgood@gmail.comwrote:
On Tue, Dec 23, 2008 at 11:59 PM, ron minnich rminnich@gmail.com wrote:
On Tue, Dec 23, 2008 at 8:40 PM, Corey Osgood corey.osgood@gmail.com wrote:
John Kollasch just pointed out to me that it looks like the reason the
cn700
is booting so slowly (>15min) could be that it's running out of flash.
I've
also noticed this:
LAR: Attempting to open 'normal/stage2/segment0'. LAR: Start 0xfff00000 len 0x100000 LAR: seen member normal/option_table@0xfff00000, size 932 LAR: seen member normal/initram/segment0@0xfff00400, size 6216 LAR: seen member normal/stage2/segment0@0xfff01ca0, size 1
With a 1MB flash part, so 0xfff00000 is the ROM. Is this how it's
supposed
to work, and if not, how do we fix it?
I think the problem is you are not caching flash or anything else for that matter.
What should I be doing where? I can enable, disable, or make the shadow ram dance like a monkey (yeah, Via hardware's got some odd features), but it makes no real difference in the boot speed.
Sorry if this came off as rude, it was supposed to be a joke. I'm still confused on caching though, where/how it should be done, I'm trying to find how it's done on geode and coming up empty handed.
I wonder if moving mtrr out of stage0 was the right move?
The only other option AFAIK is to go back to ROMCC, CAR uses those MTRRs and enabling them breaks CAR.
initram has to run from flash. It is execute in place. Stage2 is copied to dram.
Is the whole flash copied to dram once, or are the segments copied as their needed? LAR is saying it's opening the segments directly from flash (0xfff00000).
Nevermind that question, I just (finally) found the code that handles that, and that is how it works, the segment is loaded from the ROM right before it's run. Is there any advantage/disadvantage to doing it that way instead of copying the whole LARball once and walking on RAM?
Thanks, Corey