|
From: | Sebastian Herbszt |
Subject: | [Qemu-devel] Re: [Bochs-developers] [PATCH 2/6] Add S3 state to DSDT. Handleresumeevent in the BIOS. |
Date: | Mon, 3 Nov 2008 00:28:08 +0100 |
Kevin O'Connor wrote:
On Thu, Oct 30, 2008 at 11:41:28PM +0100, Sebastian Herbszt wrote:Gleb Natapov wrote: > + if (bios_table_cur_addr == 0) > + return 0; BX_USE_EBDA_TABLES case[...]> + if (find_bios_table_area() < 0) > + return; It should not return if BX_USE_EBDA_TABLES is defined.BX_USE_EBDA_TABLES is broken. I think we'd be better off removing it instead of adding more to it.
Can you define "broken"? ebda_cur_addr points to EBDA_SEG + 0x38 = 0x9FF8. Since the BBS code got added it unfortunatelly overlaps since IPL_SEG is 0x9FF0. Last element of the IPL data is at offset 0x84 and the total size is 134 bytes. There are 256 bytes reserved for the IPL data, so we still got some space left. Currently the MP table size is 0x10 and the RSDP is 0x24, so we need a total of 0x34 bytes. The new SMBIOS tables need 0x110 bytes. This is a total of 0x144 bytes and does exceed the spare EBDA space. This can be fixed by extending the EBDA to 2KB or keep using 1KB and not support SMBIOS tables with BX_USE_EBDA_TABLES. - Sebastian
[Prev in Thread] | Current Thread | [Next in Thread] |