On Fri, Feb 08, 2013 at 11:25:39PM +0000, David Woodhouse wrote:
On Fri, 2013-02-08 at 18:02 -0500, Kevin O'Connor wrote:
I'm not sure it would even work for CSM, because it would probably be too big.
As an aside, is there a way to pass in the "init" sections to ovmf such that they don't prevent option roms from using the space? Also, I briefly tried not padding bios.bin to a power of 2, but ovmf doesn't seem to like that.
I've already proposed the UmbStart and UmbEnd fields which the CSM can use to mark the memory it needs to be writeable, and I've hard-coded that to 0xe0000-0xf0000 for the SeaBIOS CSM build. That 0xe0000 should actually be datalow_start, shouldn't it?
I think you'd want datalow_base. Ideally SeaBIOS would update the setting dynamically.
We could happily declare that OVMF can place option ROMs up to UmbStart (== datalow_start) so when SeaBIOS relocates its own init code, the extra memory (below the memory it uses for its own purposes) can be reclaimed.
In fact I think my OVMF patch for the UmbStart,UmbEnd support already did that, didn't it?
That would work for SeaBIOS. I missed that in your proposal.
-Kevin