On Mon, Nov 14, 2011 at 02:03:38AM +0000, Julian Pidancet wrote:
On Mon, Nov 14, 2011 at 1:11 AM, Kevin O'Connor kevin@koconnor.net wrote:
That wont work reliably - SeaBIOS (and option roms) can grow the EBDA. It's not realistic to put a whole in the middle of the first 640k.
When you say "grow" do you mean grow downwards ? Because if not, the ACPI info structure lives in 9F000, so there shouldn't be any problem reporting the 0-9F000 range as the memory size in the BDA.
Yes - the EBDA grows down. Both SeaBIOS itself can grow the EBDA (see pmm.c:zonelow_expand) and option roms can grow the EBDA.
As above, this doesn't look right - SeaBIOS will still locate the EBDA at 9fc00 and nothing will stop it from growing it over the 9f000 area.
The EBDA is a standard bios structure, can't we safely assume that it's size will hardly change ? If not, would you suggest that this ACPI info structure should be placed at a different location ? The problem with this is that it has to be in a location with a fixed address, and preferably in a location which is accessible by any AML interpreter.
Why does it have to be at a fixed location? What structure is actually placed at this address?
The AML interpreter should be able to see all of ram, so that doesn't seem like an issue.
-Kevin