From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41382) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UVTS6-0001bY-H2 for qemu-devel@nongnu.org; Thu, 25 Apr 2013 17:11:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UVTS3-0000SH-J7 for qemu-devel@nongnu.org; Thu, 25 Apr 2013 17:11:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:12475) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UVTS3-0000SD-BE for qemu-devel@nongnu.org; Thu, 25 Apr 2013 17:11:35 -0400 Date: Fri, 26 Apr 2013 00:11:24 +0300 From: "Michael S. Tsirkin" Message-ID: <20130425211124.GD2908@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [SeaBIOS] [PATCH RFC 0/3] seabios: move acpi table formatting out of bios List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Fred ." Cc: seabios , "qemu-devel@nongnu.org" On Thu, Apr 25, 2013 at 08:19:48PM +0200, Fred . wrote: > With ACPI moved out of SeaBIOS to QEMU, how will ACPI work when using S= eaBIOS > without QEMU? >=20 > Like if using SeaBIOS with Boch, KVM or Coreboot? KVM merged with QEMU, so it will use romfiles too. Others will have two options: - keep using that tables in seabios. With time we will be able to drop qemu-specific stuff in the tables which should make life easier for Bochs/coreboot. - add ACPI through romfiles like QEMU will do. Which one will be chosen will be up to relevant projects, but note how they benefit in any case. >=20 > On Thu, Apr 25, 2013 at 11:02 AM, Michael S. Tsirkin w= rote: >=20 > Untested yet, but I thought I'd share the > BIOS bits so we can agree on direction. >=20 > In particular check out ROM sizes: > - Before patchset with DSDT enabled > =A0 =A0 Total size: 127880 =A0Fixed: 59060 =A0Free: 3192 (used 97.6= % of 128KiB rom) > - Before patchset with DSDT disabled > =A0 =A0 Total size: 122844 =A0Fixed: 58884 =A0Free: 8228 (used 93.7= % of 128KiB rom) > - After patchset: > =A0 =A0 Total size: 128776 =A0Fixed: 59100 =A0Free: 2296 (used 98.2= % of 128KiB rom) > - Legacy disabled at build time: > =A0 =A0 Total size: 119836 =A0Fixed: 58996 =A0Free: 11236 (used 91.= 4% of 128KiB > rom) >=20 > As can be seen from this, most size savings come > from dropping DSDT, but we do save a bit by removing > other tables. Of course the real reason to move tables to QEMU > is so that ACPI can better match hardware. >=20 > This patchset adds an option to move all code for formatting acpi t= ables > out of BIOS. With this, QEMU has full control over the table layout. > All tables are loaded from the new "/etc/acpi/" directory. > Any entries in this directory cause BIOS to disable > ACPI table generation completely. > A generic linker script, controlled by QEMU, is > loaded from "/etc/linker-script". It is used to > patch in table pointers and checksums. >=20 > BIOS still has limited ability to parse the tables, > for the following purposes: > =A0 =A0 =A0 =A0 - locate resume vector > =A0 =A0 =A0 =A0 - allocate RSDP in FSEG > =A0 =A0 =A0 =A0 - allocate FACS at an aligned address >=20 > -- > MST >=20 >=20 > Michael S. Tsirkin (3): > =A0 linker: utility to patch in-memory ROM files > =A0 acpi: load and link tables from /etc/acpi/ > =A0 acpi: add an option to disable builtin tables >=20 > =A0Makefile =A0 =A0 | =A02 +- > =A0src/Kconfig =A0| 12 +++++++- > =A0src/acpi.c =A0 | 67 +++++++++++++++++++++++++++++++++++++++++++- > =A0src/linker.c | 90 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > =A0src/linker.h | 50 +++++++++++++++++++++++++++++++++ > =A0src/util.h =A0 | =A01 + > =A06 files changed, 219 insertions(+), 3 deletions(-) > =A0create mode 100644 src/linker.c > =A0create mode 100644 src/linker.h > =20 > -- > MST >=20 > _______________________________________________ > SeaBIOS mailing list > SeaBIOS@seabios.org > http://www.seabios.org/mailman/listinfo/seabios >=20 >=20