On Tue, May 5, 2009 at 8:34 AM, Myles Watson mylesgw@gmail.com wrote:
How hard would that be? I'd be happy to test on SimNOW and a Tyan board.
We would need to link normal such that its addressing is based on some fixed address (let's just pick one: 80000000). Then, at runtime, we copy the GDT to CAR data area, and parse the 'stage' header for normal and produce a GDT with an extra code segment entry for normal that maps that physical normal code (the code location in ROM) to its virtual address (stage->loadaddress).
That should work. It's a bit more complexity than simple XIP, but it's very flexitble for future work.
ron