Re: [SeaBIOS] placement of emulated flash [was: seabios Improved multi-platform support]
(dropping Attilio he has left Citrix). On Wed, 2013-02-20 at 23:50 +0100, Laszlo Ersek wrote: > On 02/20/13 18:18, Ian Campbell wrote: > > On Wed, 2013-02-20 at 17:55 +0100, Laszlo Ersek wrote: > >> However in OVMF the RESERVED_MEMBASE range is not parsed from this > >> Xen-exported table, it is added manually in InitializeXen() > >> [OvmfPkg/PlatformPei/Xen.c]: > >> > >> // > >> // Reserve away HVMLOADER reserved memory [0xFC00,0xFD00). > >> // This needs to match HVMLOADER RESERVED_MEMBASE/RESERVED_MEMSIZE. > >> // > >> AddReservedMemoryBaseSizeHob (0xFC00, 0x100); > > > > ICK, it would be far preferable for OVMF to do what SeaBIOS does and > > actually "communicate" with hvmloader IMHO. > > The table with "XenHVMSeaBIOS" signature is not created for OVMF I > think; comparing the "bios_config" structure of function pointers > between "seabios.c" and "ovmf.c" in tools/firmware/hvmloader/, the > ovmf_config.bios_info_setup field is NULL. Yes. I think this should be changed then to provide a proper way for hvmloader to communicate to OVMF. It would seem sensible to follow a similar mechanism to SeaBIOS, or if possible just reuse the exact same thing (perhaps with a different signature). > However there seem to be at least two "info" tables. Referring back, > "seabios_info" at BIOS_INFO_PHYSICAL_ADDRESS (0x1000) is for SeaBIOS > only, but "hvm_info" just below the end of conventional memory (at > HVM_INFO_PADDR, 0x9F800) looks guest firmware independent. hvm_info is used by the toolstack to pass parameters to hvmloader itself when it starts, it is not intended to pass options from hvmloader to the bios. It is not a stable ABI struct (since hvmloader and the toolstack are a matched pair it doesn't have to be) and we hope to eventually get rid of it. Possibly hvmloader should scrub it before calling the BIOS to discourage its use. > > I guess the quoted range would be available from > "hvm_info.reserved_mem_pgstart"? OvmfPkg/PlatformPei/Xen.c has a comment > in XenConnect() saying > > /* TBD: Locate hvm_info and reserve it away. */ > mXenInfo.HvmInfo = NULL; Oh dear. > Is the generic approach "see if you can find all what you need in > hvm_info, ask for the rest in a dedicated table"? (Out of pure curiosity.) As I hope is clear from the above, Nope ;-) Ian. -- Ian Campbell "Everyone is entitled to an *informed* opinion." -- Harlan Ellison ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [coreboot] [RESEND] Some questions about SeaBIOS's native VGA drivers.
Hi, On Thu, Feb 21, 2013 at 02:01:34PM +0100, Denis 'GNUtoo' Carikli wrote: > I've created stub in SeaBIOS(there is an attached patch for that) for > the i915 driver(it will be filled in later), however I don't know how to > run the code: > * I guess it creates an option rom that is in out/vgabios.bin and that > I've to include it trough one of the various ways(let seabios pick > it, run it in coreboot, run it in coreboot trough YABEL for > debugging etc...)? right? romheaders seem to think that the option > rom is valid(more on it later). I guess YABEL also thinks it's valid. > I guess SeaBIOS out/bios.bin.elf doesn't link that option rom inside > SeaBIOS... All correct. > * it doesn't print a thing, I've CONFIG_DEBUG_LEVEL=2 and there is the > following in the driver stub: > dprintf(1, "i915vga_setup: VGA init...\n"); Did you select CONFIG_COREBOOT and CONFIG_SERIAL_DEBUG in SeaBIOS Kconfig? The code you sent calls stdvga_setup() - that touches a bunch of legacy VGA IO ports - are you sure the i915 has those ports? -Kevin ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
[SeaBIOS] [RESEND] Some questions about SeaBIOS's native VGA drivers.
Hi, I'd like to replace the lenovo x60(supported by coreboot) non-free VGA option rom: I don't use it right now but that has serious drawbacks: * No graphics at all until the i915 kernel module is loaded (really user unfriendly), my main motivation to replace it... * No backlight control * nvramtool doesn't work anymore without using the -y option (not really important). I've created stub in SeaBIOS(there is an attached patch for that) for the i915 driver(it will be filled in later), however I don't know how to run the code: * I guess it creates an option rom that is in out/vgabios.bin and that I've to include it trough one of the various ways(let seabios pick it, run it in coreboot, run it in coreboot trough YABEL for debugging etc...)? right? romheaders seem to think that the option rom is valid(more on it later). I guess YABEL also thinks it's valid. I guess SeaBIOS out/bios.bin.elf doesn't link that option rom inside SeaBIOS... * it doesn't print a thing, I've CONFIG_DEBUG_LEVEL=2 and there is the following in the driver stub: dprintf(1, "i915vga_setup: VGA init...\n"); So I've tried the YABEL way with debugging enabled and here's the result: [...] Normal boot. PCI: 00:02.0 init CBFS: Looking for 'pci8086,27a2.rom' starting from 0x0. CBFS: (unmatched file @0x0: cmos_layout.bin) CBFS: (unmatched file @0x640: fallback/romstage) CBFS: (unmatched file @0xb500: fallback/coreboot_ram) CBFS: (unmatched file @0x2d200: fallback/payload) CBFS: (unmatched file @0x39a80: config) CBFS: (unmatched file @0x3a9c0: ) CBFS: (unmatched file @0x3ff80: normal/romstage) CBFS: (unmatched file @0x4ae80: normal/coreboot_ram) CBFS: (unmatched file @0x6cb80: normal/payload) CBFS: Found file (offset=0x79af8, len=33280). In CBFS, ROM address for PCI: 00:02.0 = ffe79af8 PCI expansion ROM, signature 0xaa55, INIT size 0x8200, data ptr 0x4930 PCI ROM image, vendor ID 8086, device ID 27a2, PCI ROM image, Class Code 03, Code Type 00 Copying VGA ROM Image from ffe79af8 to 0xc, 0x8200 bytes [long wait] PCI: 00:02.1 init CBFS: Looking for 'cmos_layout.bin' starting from 0x0. CBFS: Found file (offset=0x28, len=1560). PCI: 00:1b.0 init [...] It doesn't seem to print a thing...and YABEL is pretty silent and should really not be that silent according to the YABEL debug options: CONFIG_X86EMU_DEBUG=y CONFIG_X86EMU_DEBUG_JMP=y # CONFIG_X86EMU_DEBUG_TRACE is not set CONFIG_X86EMU_DEBUG_PNP=y CONFIG_X86EMU_DEBUG_DISK=y CONFIG_X86EMU_DEBUG_PMM=y CONFIG_X86EMU_DEBUG_VBE=y CONFIG_X86EMU_DEBUG_INT10=y CONFIG_X86EMU_DEBUG_INTERRUPTS=y CONFIG_X86EMU_DEBUG_CHECK_VMEM_ACCESS=y CONFIG_X86EMU_DEBUG_MEM=y CONFIG_X86EMU_DEBUG_IO=y Denis.>From 6b60197d2fe62391a722f6fd23ff753cd2c37717 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Sat, 16 Feb 2013 17:34:09 +0100 Subject: [PATCH] Add i915 VGA Stub. Signed-off-by: Denis 'GNUtoo' Carikli --- Makefile | 2 +- vgasrc/Kconfig | 4 vgasrc/i915vga.c | 36 vgasrc/vgahw.h | 2 ++ 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 vgasrc/i915vga.c diff --git a/Makefile b/Makefile index fb0c89b..3438492 100644 --- a/Makefile +++ b/Makefile @@ -177,7 +177,7 @@ $(OUT)bios.bin.elf $(OUT)bios.bin: $(OUT)rom.o tools/checkrom.py SRCVGA=src/output.c src/util.c src/pci.c \ vgasrc/vgabios.c vgasrc/vgafb.c vgasrc/vgafonts.c vgasrc/vbe.c \ vgasrc/stdvga.c vgasrc/stdvgamodes.c vgasrc/stdvgaio.c \ -vgasrc/clext.c vgasrc/bochsvga.c vgasrc/geodevga.c +vgasrc/clext.c vgasrc/bochsvga.c vgasrc/geodevga.c vgasrc/i915vga.c CFLAGS16VGA = $(CFLAGS16INC) -Isrc diff --git a/vgasrc/Kconfig b/vgasrc/Kconfig index 0901c04..24eacc7 100644 --- a/vgasrc/Kconfig +++ b/vgasrc/Kconfig @@ -41,6 +41,10 @@ menu "VGA ROM" bool "GeodeLX" help Build support for Geode LX vga. +config VGA_I915 +bool "I915" +help +Build support for Intel i915 vga. endchoice choice diff --git a/vgasrc/i915vga.c b/vgasrc/i915vga.c new file mode 100644 index 000..bbf2d22 --- /dev/null +++ b/vgasrc/i915vga.c @@ -0,0 +1,36 @@ +// Intel i915 VGA functions +// +// Copyright (C) 2013 Denis 'GNUtoo' Carikli +// +// This file may be distributed under the terms of the GNU LGPLv3 license. + +#include "farptr.h" // SET_FARVAR +#include "biosvar.h" // GET_BDA +#include "vgabios.h" // VGAREG_* +#include "util.h" // memset +#include "stdvga.h" // stdvga_crtc_write +#include "pci.h" // pci_config_readl +#include "pci_regs.h" // PCI_BASE_ADDRESS_0 + + +/ + * Helper functions + / + +/ +* Init Functions +/ + +int i915vga_setup(void) +{ +int ret = stdvga_setup(); +if (ret) +
[SeaBIOS] [PATCH] seabios: Add a dummy PCI slot to irq mapping function
This should never get called, but if we somehow get a new chipset that fails to implement their own pci_slot_get_irq function, fail gracefully and add a debug log message. Signed-off-by: Alex Williamson --- src/pciinit.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/pciinit.c b/src/pciinit.c index 70e4c07..a495742 100644 --- a/src/pciinit.c +++ b/src/pciinit.c @@ -91,7 +91,15 @@ const u8 pci_irqs[4] = { 10, 10, 11, 11 }; -static int (*pci_slot_get_irq)(struct pci_device *pci, int pin); +static int dummy_pci_slot_get_irq(struct pci_device *pci, int pin) +{ +dprintf(1, "pci_slot_get_irq called with unknown routing\n"); + +return 0xff; /* PCI defined "unknown" or "no connection" for x86 */ +} + +static int (*pci_slot_get_irq)(struct pci_device *pci, int pin) = +dummy_pci_slot_get_irq; // Return the global irq number corresponding to a host bus device irq pin. static int piix_pci_slot_get_irq(struct pci_device *pci, int pin) ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
[SeaBIOS] Some questions about SeaBIOS's native VGA drivers.
Hi, I'd like to replace the lenovo x60(supported by coreboot) non-free VGA option rom: I don't use it right now but that has serious drawbacks: * No graphics at all until the i915 kernel module is loaded (really user unfriendly), my main motivation to replace it... * No backlight control * nvramtool doesn't work anymore without using the -y option (not really important). I've created stub in SeaBIOS(there is an attached patch for that) for the i915 driver(it will be filled in later), however I don't know how to run the code: * I guess it creates an option rom that is in out/vgabios.bin and that I've to include it trough one of the various ways(let seabios pick it, run it in coreboot, run it in coreboot trough YABEL for debugging etc...)? right? romheaders seem to think that the option rom is valid(more on it later). I guess YABEL also thinks it's valid. I guess SeaBIOS out/bios.bin.elf doesn't link that option rom inside SeaBIOS... * it doesn't print a thing, I've CONFIG_DEBUG_LEVEL=2 and there is the following in the driver stub: dprintf(1, "i915vga_setup: VGA init...\n"); So I've tried the YABEL way with debugging enabled and here's the result: [...] Normal boot. PCI: 00:02.0 init CBFS: Looking for 'pci8086,27a2.rom' starting from 0x0. CBFS: (unmatched file @0x0: cmos_layout.bin) CBFS: (unmatched file @0x640: fallback/romstage) CBFS: (unmatched file @0xb500: fallback/coreboot_ram) CBFS: (unmatched file @0x2d200: fallback/payload) CBFS: (unmatched file @0x39a80: config) CBFS: (unmatched file @0x3a9c0: ) CBFS: (unmatched file @0x3ff80: normal/romstage) CBFS: (unmatched file @0x4ae80: normal/coreboot_ram) CBFS: (unmatched file @0x6cb80: normal/payload) CBFS: Found file (offset=0x79af8, len=33280). In CBFS, ROM address for PCI: 00:02.0 = ffe79af8 PCI expansion ROM, signature 0xaa55, INIT size 0x8200, data ptr 0x4930 PCI ROM image, vendor ID 8086, device ID 27a2, PCI ROM image, Class Code 03, Code Type 00 Copying VGA ROM Image from ffe79af8 to 0xc, 0x8200 bytes [long wait] PCI: 00:02.1 init CBFS: Looking for 'cmos_layout.bin' starting from 0x0. CBFS: Found file (offset=0x28, len=1560). PCI: 00:1b.0 init [...] It doesn't seem to print a thing...and YABEL is pretty silent and should really not be that silent according to the YABEL debug options: CONFIG_X86EMU_DEBUG=y CONFIG_X86EMU_DEBUG_JMP=y # CONFIG_X86EMU_DEBUG_TRACE is not set CONFIG_X86EMU_DEBUG_PNP=y CONFIG_X86EMU_DEBUG_DISK=y CONFIG_X86EMU_DEBUG_PMM=y CONFIG_X86EMU_DEBUG_VBE=y CONFIG_X86EMU_DEBUG_INT10=y CONFIG_X86EMU_DEBUG_INTERRUPTS=y CONFIG_X86EMU_DEBUG_CHECK_VMEM_ACCESS=y CONFIG_X86EMU_DEBUG_MEM=y CONFIG_X86EMU_DEBUG_IO=y Denis.>From 6b60197d2fe62391a722f6fd23ff753cd2c37717 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Sat, 16 Feb 2013 17:34:09 +0100 Subject: [PATCH] Add i915 VGA Stub. Signed-off-by: Denis 'GNUtoo' Carikli --- Makefile | 2 +- vgasrc/Kconfig | 4 vgasrc/i915vga.c | 36 vgasrc/vgahw.h | 2 ++ 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 vgasrc/i915vga.c diff --git a/Makefile b/Makefile index fb0c89b..3438492 100644 --- a/Makefile +++ b/Makefile @@ -177,7 +177,7 @@ $(OUT)bios.bin.elf $(OUT)bios.bin: $(OUT)rom.o tools/checkrom.py SRCVGA=src/output.c src/util.c src/pci.c \ vgasrc/vgabios.c vgasrc/vgafb.c vgasrc/vgafonts.c vgasrc/vbe.c \ vgasrc/stdvga.c vgasrc/stdvgamodes.c vgasrc/stdvgaio.c \ -vgasrc/clext.c vgasrc/bochsvga.c vgasrc/geodevga.c +vgasrc/clext.c vgasrc/bochsvga.c vgasrc/geodevga.c vgasrc/i915vga.c CFLAGS16VGA = $(CFLAGS16INC) -Isrc diff --git a/vgasrc/Kconfig b/vgasrc/Kconfig index 0901c04..24eacc7 100644 --- a/vgasrc/Kconfig +++ b/vgasrc/Kconfig @@ -41,6 +41,10 @@ menu "VGA ROM" bool "GeodeLX" help Build support for Geode LX vga. +config VGA_I915 +bool "I915" +help +Build support for Intel i915 vga. endchoice choice diff --git a/vgasrc/i915vga.c b/vgasrc/i915vga.c new file mode 100644 index 000..bbf2d22 --- /dev/null +++ b/vgasrc/i915vga.c @@ -0,0 +1,36 @@ +// Intel i915 VGA functions +// +// Copyright (C) 2013 Denis 'GNUtoo' Carikli +// +// This file may be distributed under the terms of the GNU LGPLv3 license. + +#include "farptr.h" // SET_FARVAR +#include "biosvar.h" // GET_BDA +#include "vgabios.h" // VGAREG_* +#include "util.h" // memset +#include "stdvga.h" // stdvga_crtc_write +#include "pci.h" // pci_config_readl +#include "pci_regs.h" // PCI_BASE_ADDRESS_0 + + +/ + * Helper functions + / + +/ +* Init Functions +/ + +int i915vga_setup(void) +{ +int ret = stdvga_setup(); +if (ret) +
Re: [SeaBIOS] [coreboot] [RESEND] Some questions about SeaBIOS's native VGA drivers.
On Thu, 21 Feb 2013 08:49:23 -0500 Kevin O'Connor wrote: > Hi, Hi, > > I've created stub in SeaBIOS(there is an attached patch for that) > > for the i915 driver(it will be filled in later), however I don't > > know how to run the code: > > * I guess it creates an option rom that is in out/vgabios.bin and > > that I've to include it trough one of the various ways(let seabios > > pick it, run it in coreboot, run it in coreboot trough YABEL for > > debugging etc...)? right? romheaders seem to think that the option > > rom is valid(more on it later). I guess YABEL also thinks it's > > valid. I guess SeaBIOS out/bios.bin.elf doesn't link that option > > rom inside SeaBIOS... > > All correct. Thanks a lot > > * it doesn't print a thing, I've CONFIG_DEBUG_LEVEL=2 and there is > > the following in the driver stub: > > dprintf(1, "i915vga_setup: VGA init...\n"); I've corrected the code... it lacked a header... > Did you select CONFIG_COREBOOT and CONFIG_SERIAL_DEBUG in SeaBIOS > Kconfig? Yes > The code you sent calls stdvga_setup() - that touches a bunch of > legacy VGA IO ports - are you sure the i915 has those ports? I'm not sure, I'm just getting started I've made my option rom loaded by seabios instead of coreboot(which is safer because I use a fallback mecanism in coreboot) and it printed on Serial: $ tail -f seriallog-20130221_153155.log | grep i915 00.485: i915vga_setup: VGA init... Thanks a lot for the pointers... Denis. ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [Qemu-devel] [RFC PATCH v4 00/30] ACPI memory hotplug
On Tue, Dec 18, 2012 at 10:41 AM, Vasilis Liaskovitis < vasilis.liaskovi...@profitbricks.com> wrote: > This is v4 of the ACPI memory hotplug functionality. Only x86_64 target is > supported (both i440fx and q35). There are still several issues, but it's > been a while since v3 and I wanted to get some more feedback on the current > state of the patchseries. > > We are working in memory hotplug functionality on pSeries machine. I'm wondering whether and how we can better integrate things. Do you think the DIMM abstraction is generic enough to be used in other machine types? > Overview: > > Dimm device layout is modeled with a normal qemu device: > > "-device dimm,id=name,size=sz,node=pxm,populated=on|off,bus=membus.0" > > How does this will handle the no-hotplugable memory for example the memory passed in '-m' parameter? > The starting physical address for all dimms is calculated from top of > memory, > during memory controller init, skipping the pci hole at [PCI_HOLE_START, > 4G). > e.g. > "-device dimm,id=dimm0,size=512M,node=0,populated=off,bus=membus.0" > will define a 512M memory dimm belonging to numa node 0, on bus membus.0. > > Because dimm layout needs to be configured on machine-boot, all dimm > devices > need to be specified on startup command line (either with populated=on or > with > populated=off). The dimm information is stored in dimm configuration > structures. > > After machine startup, dimms are hot-added or removed with normal > device_add > and device_del operations e.g.: > Hot-add syntax: "device_add dimm,id=mydimm0,bus=membus.0" > Hot-remove syntax: "device_del dimm,id=mydimm0" > > Changes v3->v4 > > - Dimms added with normal -device argument (extra -dimm arg dropped). > - multiple memory buses can be registered. Memory buses of the real > hw/chipset > or a paravirtual memory bus can be added. > - acpi implementation uses memory API instead of old ioports. > - Support for q35/ich9 added (still buggy, see patch 12/31). > - piix4/i440fx initialization code has been refactored to resemble q35. > This > will allow memory map initialization at chipset qdev init time for both > machines, as well as more similar code. > - Hot-remove functionality has been moved to separate patches. Hot-remove > no > longer frees memory but unmaps the dimm/qdev device from the guest's view. > Freeing the memory should happen when the last user unrefs/unmaps the > memory, > see also (work in progress): > https://lists.gnu.org/archive/html/qemu-devel/2012-11/msg00728.html > https://lists.gnu.org/archive/html/qemu-devel/2012-11/msg02697.html > - new qmp/hmp command for the state of each dimm (on/off) > > Changes v2->v3 > > - qdev integration. Dimms are attached to a dimmbus. The dimmbus is a child > of i440fx device in the pc machine. Hot-add and remove are done with > normal > device_add / device_del operations on the dimmbus. New commands > "dimm_add" and > "dimm_del" are obsolete. > - Add _PS3 method to allow OSPM-induced hot operations. > - pci-window calculation in Seabios takes dimms into account(for both > 32-bit and > 64-bit windows) > - rename new qmp commands: query-memory-total and query-memory-hotplug > - balloon driver can see the hotplugged memory > > Changes v1->v2 > > - memory map is automatically calculated for hotplug dimms. Dimms are > added from > top-of-memory skipping the pci hole at [PCI_HOLE_START, 4G). > - Renamed from "-memslot" to "-dimm". Commands changed to "dimm_add", > "dimm_del" > - Seabios ejection array reduced to a byte. Use extraction macros for dimm > ssdt. > - additional SRAT paravirt info does not break previous SRAT fw_cfg layout. > - Documentation of new acpi_piix4 registers and paravirt data. > - add ACPI _OST support for _OST enabled guests. This allows qemu to > receive > notification for success / failure of memory hot-add and hot-remove > operations. > Guest needs to support _OST (https://lkml.org/lkml/2012/6/25/321) > - add monitor info command to report total guest memory (initial + > hot-added) > > Issues: > > - hot-remove needs to only unmap the dimm device from guest's view. > Freeing the > memory should happen when the last user of the device (e.g. virtio-blk) > unrefs > the device. A testcase is needed for this. > > - Live Migration: Ramblocks are migrated before qdev VMStates are > migrated. So > the DimmDevice is handled diferrently than other devices. Should this be > reworked ?( DimmDevice structure currently does not define a > VMStateDescription) > Live migration works as long as the dimm layout (command line args) are > identical at the source and destination qemu command line, and destination > takes > into account hot-operations that have occured on source. (v3 patch 10/19 > created the DimmDevice that corresponds to an unknown incoming ramblock, > e.g. > for a dimm that was hot-added on source. but has been dropped for the > moment). > > - A main blocker issue is windows guest functionality. The patchset does > not > work for windows
Re: [SeaBIOS] [PATCH] seabios: Add a dummy PCI slot to irq mapping function
On Thu, Feb 21, 2013 at 09:12:23AM -0700, Alex Williamson wrote: > This should never get called, but if we somehow get a new chipset > that fails to implement their own pci_slot_get_irq function, fail > gracefully and add a debug log message. Thanks. I pushed this and the second part of your previous patch series. -Kevin ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
[SeaBIOS] [RFC] SeaBIOS v1.7.2.1 stable release
There's been requests for a stable release. Here's a list of patches that have been requested / that I think would be useful: 616fb27f - Update tools/acpi_extract.py to handle iasl 20130117 release. 7cac600a - USB-EHCI: Fix null pointer assignment 4c405cbf - Fix Makefile - don't reference "out/" directly, instead use "$(OUT)". 23219122 - build: Don't require $(OUT) to be a sub-directory of the main directory. bb0808a2 - Verify CC is valid during build tests. 555a2136 - seabios q35: Enable all PIRQn IRQs at startup b9490408 - seabios q35: Add new PCI slot to irq routing function dbb7a66f - seabios: Add a dummy PCI slot to irq mapping function Comments? -Kevin ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios