qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH RFC 0/3] seabios: move acpi table formatting out of bios
@ 2013-04-25  9:02 Michael S. Tsirkin
  2013-04-25  9:02 ` [Qemu-devel] [PATCH RFC 1/3] linker: utility to patch in-memory ROM files Michael S. Tsirkin
                   ` (4 more replies)
  0 siblings, 5 replies; 24+ messages in thread
From: Michael S. Tsirkin @ 2013-04-25  9:02 UTC (permalink / raw)
  To: seabios; +Cc: qemu-devel

Untested yet, but I thought I'd share the
BIOS bits so we can agree on direction.

In particular check out ROM sizes:
- Before patchset with DSDT enabled
    Total size: 127880  Fixed: 59060  Free: 3192 (used 97.6% of 128KiB rom)
- Before patchset with DSDT disabled
    Total size: 122844  Fixed: 58884  Free: 8228 (used 93.7% of 128KiB rom)
- After patchset:
    Total size: 128776  Fixed: 59100  Free: 2296 (used 98.2% of 128KiB rom)
- Legacy disabled at build time:
    Total size: 119836  Fixed: 58996  Free: 11236 (used 91.4% of 128KiB rom)

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.

This patchset adds an option to move all code for formatting acpi tables
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.

BIOS still has limited ability to parse the tables,
for the following purposes:
	- locate resume vector
	- allocate RSDP in FSEG
	- allocate FACS at an aligned address

-- 
MST


Michael S. Tsirkin (3):
  linker: utility to patch in-memory ROM files
  acpi: load and link tables from /etc/acpi/
  acpi: add an option to disable builtin tables

 Makefile     |  2 +-
 src/Kconfig  | 12 +++++++-
 src/acpi.c   | 67 +++++++++++++++++++++++++++++++++++++++++++-
 src/linker.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/linker.h | 50 +++++++++++++++++++++++++++++++++
 src/util.h   |  1 +
 6 files changed, 219 insertions(+), 3 deletions(-)
 create mode 100644 src/linker.c
 create mode 100644 src/linker.h

-- 
MST

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2013-05-09  5:43 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-25  9:02 [Qemu-devel] [PATCH RFC 0/3] seabios: move acpi table formatting out of bios Michael S. Tsirkin
2013-04-25  9:02 ` [Qemu-devel] [PATCH RFC 1/3] linker: utility to patch in-memory ROM files Michael S. Tsirkin
2013-04-25  9:02 ` [Qemu-devel] [PATCH RFC 2/3] acpi: load and link tables from /etc/acpi/ Michael S. Tsirkin
2013-04-29 11:41   ` Laszlo Ersek
2013-04-29 13:25     ` Michael S. Tsirkin
2013-04-25  9:02 ` [Qemu-devel] [PATCH RFC 3/3] acpi: add an option to disable builtin tables Michael S. Tsirkin
2013-04-25 18:19 ` [Qemu-devel] [SeaBIOS] [PATCH RFC 0/3] seabios: move acpi table formatting out of bios Fred .
2013-04-25 21:11   ` Michael S. Tsirkin
2013-04-25 22:39     ` Kevin O'Connor
2013-05-07 18:00 ` [Qemu-devel] " Michael S. Tsirkin
2013-05-07 23:01   ` Kevin O'Connor
2013-05-08  9:31     ` Gleb Natapov
2013-05-08 10:29       ` Michael S. Tsirkin
2013-05-08 10:34         ` Gleb Natapov
2013-05-08 10:43           ` Michael S. Tsirkin
2013-05-08 10:59             ` Gleb Natapov
2013-05-08 11:07               ` Michael S. Tsirkin
2013-05-08 11:35                 ` Gleb Natapov
2013-05-08 12:35                   ` Michael S. Tsirkin
2013-05-08 12:41                     ` Gleb Natapov
2013-05-08 22:55                     ` Kevin O'Connor
2013-05-09  5:42                       ` Gleb Natapov
2013-05-08 18:15     ` Michael S. Tsirkin
2013-05-09  5:24       ` Gleb Natapov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).