Commit Graph

337 Commits

Author SHA1 Message Date
Gerd Hoffmann
01afdadc92 update seabios to latest master
Upstream seabios commit 5a023065388287e261ae9212452ff541f9fa9cd3

Major changes since 1.7.0:
 - Usual share of bugfixes and cleanups ;)
 - Support for 64bit PCI bars and mapping those above 4G.
 - Stack switching for real mode irq handlers to reduce
   seabios stack footprint.
 - Support for booting from lsi scsi hba.
 - Support for booting from usb attached scsi.
 - Support for non-linear apic ids.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-08-07 17:11:12 +02:00
Gerd Hoffmann
b456677607 Add vgabios build rules to roms/Makefile
This patch adds some glue to roms/Makefile to build vgabios binaries for
qemu.  It covers both the lgpl'ed vgabios implementation used by qemu
traditionally and the new seabios implementation.

The purpose of this patch is to (a) document the vgabios build process
and (b) simplify seavgabios testing for those who want to play with it.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-07-12 15:25:54 +02:00
Blue Swirl
6f12926142 pc-bios: Update OpenBIOS images
Update OpenBIOS images to r1060 built from submodule.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-05-30 17:04:41 +00:00
Gerd Hoffmann
6b034aa138 seabios: update to 1.7.0
Update roms/seabios and pc-bios/bios.bin to the 1.7.0 release.
Most noticable new feature is virtio-scsi support.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-04-17 10:51:41 +02:00
Anthony Liguori
b8b3e75609 Merge remote-tracking branch 'qemu-kvm/memory/urgent' into staging
* qemu-kvm/memory/urgent: (42 commits)
  memory: check for watchpoints when getting code ram_addr
  exec: fix write tlb entry misused as iotlb
  Sparc: avoid AREG0 wrappers for memory access helpers
  Sparc: avoid AREG0 for memory access helpers
  TCG: add 5 arg helpers to def-helper.h
  softmmu templates: optionally pass CPUState to memory access functions
  i386: Remove REGPARM
  sparc64: implement PCI and ISA irqs
  sparc: reset CPU state on reset
  apb: use normal PCI device header for PBM device
  w64: Fix data type of next_tb and tcg_qemu_tb_exec
  softfloat: fix for C99
  vmstate: fix varrays with uint32_t indexes
  Fix large memory chunks allocation with tcg_malloc.
  hw/pxa2xx.c: Fix handling of pxa2xx_i2c variable offset within region
  hw/pxa2xx_lcd.c: drop target_phys_addr_t usage in device state
  hw/pxa2xx_dma.c: drop target_phys_addr_t usage in device state
  ARM: Remove unnecessary subpage workarounds
  malta: Fix display for LED array
  malta: Use symbolic hardware addresses
  ...
2012-03-19 08:51:50 -05:00
David Gibson
53f649e863 pseries: Update SLOF firmware image
This patch updates the SLOF firmware image used on the pseries
machine.  The new version adds support for Cirrus VGA and virtfs, as
well as including a number of bugfixes.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-03-15 13:12:11 +01:00
Gerd Hoffmann
2ae2bce744 Update seabios to 1.6.3.2
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-03-12 14:01:07 +01:00
Gerd Hoffmann
b1c0d031c4 Add seabios build scripts to roms/
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-03-12 13:56:58 +01:00
Benjamin Herrenschmidt
4d8d5467cd pseries: SLOF PCI flag day
Currently on the pseries machine the SLOF firmware is used normally,
but we bypass it when -kernel is specified.  Having these two

different boot paths can cause some confusion.

In particular at present we need to "probe" the (emulated) PCI bus and
produce device tree nodes for the PCI devices in qemu, for the -kernel
case.  In the SLOF case, it takes the device tree from qemu adds some
stuff to it then passes it on to the kernel.

It's been decided that a better approach is to always boot through
SLOF, even when using -kernel.  WIth this approach we can leave PCI
probing and device node creation to SLOF in all cases which removes a
bunch of code in qemu, and avoids iterating the PCI devices from the
machine specific init code which we're not supposed to do.

This patch changes qemu to always boot through SLOF, and not to create
PCI nodes.  Simultaneously it updates the included version of SLOF
(submodule and binary image) to one which supports (and requires) the
new approach.

The new SLOF version also includes a number of unrelated enhancements:
support for booting from virtio-pci devices and e1000, greatly
improved FCode support and many bugfixes.  It also makes SLOF ready to
be used even when specifying a kernel on the qemu command line.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-01-21 05:17:02 +01:00
Jan Kiszka
41bd360325 seabios: Update to release 1.6.3.1
User visible changes in seabios:
 - Probe HPET existence (fix for -no-hpet)
 - Probe PCI existence (fix for -machine isapc)
 - usb: fix boot paths

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2012-01-15 17:54:23 +01:00
Paolo Bonzini
6329866f81 add sgabios blob and submodule
The rom was not added together with the sgabios device and is
not installed.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-07 10:57:36 -06:00
David Gibson
d20dfdd4d2 pseries: Update SLOF firmware image
This patch is a general update to the SLOF firmware image used on the
pseries machine.  This doesn't contain updates for specific features but
contains a number of bugfixes and enhancements in the main SLOF tree from
Thomas Huth.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2011-10-30 17:11:54 +01:00
David Gibson
bdcf9d6cd4 pseries: Update SLOF firmware image
This patch updates the SLOF submodule and precompiled image.  The new
SLOF versions contains two changes of note:

 * The previous SLOF has a bug in SCSI condition handling that was
   exposed by recent updates to qemu's SCSI emulation.  This update
   fixes the bug.

 * The previous SLOF has a bug in its addressing of SCSI devices,
   which can be exposed under certain conditions.  The new SLOF also
   fixes this.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2011-10-30 17:11:53 +01:00
Richard Henderson
753d11f223 target-alpha: Add custom PALcode image for CLIPPER emulation.
Signed-off-by: Richard Henderson <rth@twiddle.net>
2011-10-08 08:46:03 -07:00
Blue Swirl
0bce98df26 Add OpenBIOS as a submodule
Update OpenBIOS images to r1047 built from submodule.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-09-28 20:39:34 +00:00
Gerd Hoffmann
d67c3f2cd9 seabios: update to master
commit 8e301472e324b6d6496d8b4ffc66863e99d7a505

user visible changes in seabios:
  * ahci is enabled by default (and thus in this build).
  * bootorder support for ahci.
  * two-pass pci allocator (orders bars by size for better packing).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2011-08-10 17:34:13 +02:00
Alex Williamson
31a44434f7 Add ipxe submodule
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2011-04-08 13:03:34 -06:00
David Gibson
a9f8ad8f2a Add SLOF-based partition firmware for pSeries machine, allowing more boot options
Currently, the emulated pSeries machine requires the use of the
-kernel parameter in order to explicitly load a guest kernel.  This
means booting from the virtual disk, cdrom or network is not possible.

This patch addresses this limitation by inserting a within-partition
firmware image (derived from the "SLOF" free Open Firmware project).
If -kernel is not specified, qemu will now load the SLOF image, which
has access to the qemu boot device list through the device tree, and
can boot from any of the usual virtual devices.

In order to support the new firmware, an extension to the emulated
machine/hypervisor is necessary.  Unlike Linux, which expects
multi-CPU entry to be handled kexec() style, the SLOF firmware expects
only one CPU to be active at entry, and to use a hypervisor RTAS
method to enable the other CPUs one by one.

This patch also implements this 'start-cpu' method, so that SLOF can
start the secondary CPUs and marshal them into the kexec() holding
pattern ready for entry into the guest OS.  Linux should, and in the
future might directly use the start-cpu method to enable initially
disabled CPUs, but for now it does require kexec() entry.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
2011-04-01 18:34:57 +02:00
Anthony Liguori
8b06c62ae4 seabios: update to latest git
- cc97564 Add config option to permit running option roms with bad checksums.
 - 424f217 Add config option to disable MTRR initialization.
 - fb2f10d Prep version for next release.
 - f18b09b Update version to 0.6.2
 - 20fcf9b lets pretend that RTC can be used to wakeup from S4
 - 1efb10b Expand user configurable parameters in Kconfig.
 - 3dba4c2 Support non-local build directory - allow "make OUT=abc/" to work.
 - 42d9771 The vgabios build must depend on autoconf.h.
 - 32aa9f3 fix parallel compilation of SeaBIOS
 - 713be89 Start using Kconfig to configure SeaBIOS settings.
 - b623e7c Change kconfig to emit disabled symbols in autoconf.h.
 - 0da7bfd Build changes for Linux kconfig code to work in seabios dir structure.
 - a4c5daf Initial commit of Kconfig build tool.
 - 4d0c592 Minor boot fixes.
 - 812478e Minor comment / code layout improvement to romlayout.S.
 - 6fc7cf1 Fix to prevent infinite loop in build_pci_path().
 - f5154e2 support T13 EDD3.0 spec
 - d08eb9c Add ability to track PCI paths and add to build_pci_path().
 - 89a1efd Move the CBFS payload setup to later in the boot.
 - 9e881a3 Extract space trimming code from ATA and use in USB and bootorder code.
 - 3c241ed seabios: acpi: add _RMV control method for PCI devices
 - c2002a1 Add support for finding the boot priority of USB drives.
 - a5f2b91 Extend 'usb_pipe' to track the controller and ports of each device.
 - 8bf5503 Add functions for boot device path parsing.
 - c4bd3b9 Use bootprio_find_named_rom() for ramdisk and cbfs payload priorities.
 - ca2bc1c Remove drive->desc field.
 - f13a180 Minor reorganization of some of the boot_xxx code in boot.c.
 - 3da2c1c Move IPL.fw_bootorder to static variables in boot.c.
 - 7bb1584 Move IPL.bev to static variables in boot.c
 - baaadb6 Move IPL.checkfloppysig to a global (CheckFloppySig) in boot.c.
 - a0842f8 Remove Drives global struct in favor of independent global variables.
 - ecbcf77 Don't access drive_g->desc from boot_cdrom().
 - 551caa2 Simplify keyboard reading code in the interactive boot menu.
 - 697e63c Call setup_translation() from map_hd_drive().
 - 3c5e0e1 Rename add_ordered_drive() to add_drive() and use in map_hd_drive().
 - 031ef55 Add stubs to permit devices to specify their boot priority.
 - 72eee3e Simplify boot ordering by building an inclusive boot list.
 - ce24be5 Populate drive_g->desc prior to calling add_bcv_internal().
 - 74fd942 pciinit: fix off-by-one
 - 311f887 Minor build fixes.
 - bca3a87 Track the source of each optionrom deployed.
 - c6629e0 Support qemu based romfile wrappers called out of order.
 - d1a1746 Breakup boot_setup() bootorder code into its own function.
 - f9b0930 Add romfile_loadfile() helper function.
 - b9a7591 Read bootorder file into memory.
 - 2e109a6 Add strchr() function.
 - 1703ea2 Add romfile_name() function.
 - b674152 Add BAID for ahci cdrom.
 - f77e179 Provide full EDD 3.0 info for virtio disk
 - 67863be Enhance layoutrom.py to work around a binutils quirk.
 - 4c90a20 Create separate IPL entry for each CD/DVD
 - 0e6f636 ahci: set controller id
 - 1e924bb ahci: fix off-by-one in port count
 - 7eb0222 ahci: enable io/mem/dma
 - c19fc71 ahci: set dma feature flag
 - 80c2b6e Check if capability enabled in XXX_cmd_data functions.
 - f3fe3aa Require a "_cfuncXX_" symbol prefix for inter-mode c function references.
 - d52fdf6 add ahci support
 - 54fa8ec ata: make helpers available
 - 0a80608 util: add memset_fl()
 - f1f18eb pci: add helper functions for mmio bar access from real mode.
 - af9629b Enhance call32() to pass a parameter to called function.
 - 4057f98 Don't pass return address to transition(32,16,16big) on stack.
 - e2623fc pciinit: use pci_region functions.
 - 58a38e8 pci: introduce pci_region to manage pci io/memory/prefmemory regions.
 - 6d5a217 mark irq9 active high in DSDT
 - 9433098 Report meaningful error if pyserial not present in tools/readserial.py
 - 94dc9c4 Show size of non-relocatable runtime code during build.
 - 4d96edc Cleanup - it's no longer necessary to manually reset global variables.
 - a899945 Allow rom to grow to 256K.
 - 4a446d7 Fix typo preventing relocated space from being used for option roms.
 - 0f67397 fix virtio-blk failure after reboot
 - d4bded4 Add a debug method to AML code.
 - 2f96800 Warn that ohci bulk is not supported.
 - e826465 Enable optionroms to use freed space due to CONFIG_RELOCATE_INIT.
 - 7f55fd3 Move the 32bit init code to high memory at runtime.
 - 025cabd Move init code from _start() to post().
 - 12fa24a Add memalign_tmp() helper function.
 - 244caf8 Try to hard-reboot on rerun of post even on emulators.
 - 5bd01de Don't do shadow copying of optionroms when CONFIG_OPTIONROMS_DEPLOYED.
 - adaf373 Try to hard-reboot processor on rerun of post under coreboot.
 - 402fd9c Enhance build to emit relocation information.
 - d1b4f96 Separate out init code from the rest of the 32bit flat code.
 - 1a4885e Modify tools/layoutrom.py to use classes instead of tuples.
 - 6c2e781 Use str.startswith() in python scripts.
 - d9c916e Prep version for next release.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-03-21 17:41:52 -05:00
Anthony Liguori
f487d6278f Update SeaBIOS to 0.6.1.2
- 06d0bdd Minor build fixes.
 - 33abfc0 Update version to 0.6.1.2.
 - 484dd56 fix virtio-blk failure after reboot
 - dd9c0d3 Update version to 0.6.1.1.
 - 50ecfa8 mark irq9 active high in DSDT

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-02-01 16:57:00 -06:00
Gerd Hoffmann
3b3d448e01 Add new vgabios binaries to blobs list.
aliguori: update VGA BIOS

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-11-16 08:39:52 -06:00
Anthony Liguori
758c309f0a seabios: Update to 0.6.1
- 0ff9051 Update version to 0.6.1
 - 9c000e6 Support Samsung SE-S084 USB DVD drive (and probably many others)
 - eebe949 pciinit: remove unused variable, old_addr, in pci_set_io_region_addr().
 - 06644f4 Minor - indentation change to jpeg.c.
 - 2dcd9fa Enhance tools/readserial.py to support reading from a pipe.
 - 7ce09ae Make tools/transdump.py more resilient to unknown input.
 - 6039fc5 Update qemu_cfg_read to use "rep insb".
 - 9a01a9c Only show bootsplash during boot menu.
 - 5feb83c add write support to virtio-blk
 - 22f6378 Don't try to talk to APIC on 486
 - e2074bf Add ACPI SSDT/DSDT support for CPU hotplug.
 - eb6dc78 Add additional debug status messages to bootsplash code.
 - c8e4e88 Allow qemu to use bootsplash code via fwcfg interface.
 - 597040d Add tools/trandump.py tool for converting hexdump() output.
 - 48f5f8b Default bootsplash on (for coreboot users).
 - 8d85eb1 Autodetect video mode based on bootsplash jpeg dimensions.
 - b2b9d4a Rename "decdata" to "jpeg" in bootsplash - to be consistent with jpeg.c.
 - bbc4722 Breakup jpeg_decode into parsing and displaying phases.
 - 2976dd4 Avoid using BSS variables in jpeg.c.
 - cc9e1bf Add FUNC16() helper macro for converting a 16bit func to a segoff_s.
 - b4525a0 Handle unaligned sizes in iomemcpy().
 - 0e27e19 Cleanup bootsplash vesa signature detection.
 - cadaf0e Be sure to disable bootsplash on all BIOS boot cases.
 - 2641186 Add call16_int10 helper to bootsplash.c.
 - 6dc76f4 Don't do "double buffering" in bootsplash code.
 - 227dc3e Check that malloc succeeds in bootsplash code.
 - a576c9c Bootsplash fixes and cleanups.
 - 9fd4851 Minor - clarify bit logic in mptable.c.
 - abf31d3 Fix integer truncating bug in calc_future_timer().
 - 1d5c333 seabios: pciinit: fix 64bit bar initilization.
 - ae6924d Minor - introduce GDT_GRANLIMIT macro.
 - 0f78889 Avoid code addresses >64K in big real mode.
 - aec19c9 seabios: smm: move out piix4 specific smram logic to dev-i440fx.c
 - 08328e7 seabios: shadow: make device finding more generic.
 - 4c67f90 seabios: acpi: clean up of finding pm device.
 - fe54a53 seabios: acpi: split out piix4 pm logic.
 - d06afb4 seabios: acpi: move acpi definitions to acpi.h from acpi.c
 - 2f54bb4 seabios: acpi: move out endian conversion helper function.
 - 23173ac seabios: pci: introduce helper function to find device from table and initialize it.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-10-25 16:43:41 -05:00
Anthony Liguori
8c929e1e41 Update SeaBIOS
- 17d3e46 smbios: Allow all fields to be set via qemu_cfg_smbios_load_field()
 - 0d6b8d5 seabios: pciinit: use pci device initializer helper function.
 - 968d3a8 seabios: pci: introduce helper function to initialize a given device.
 - 4e0daae virtio: Clear interrupt status register in virtio-blk
 - af0963d seabios: pciinit: initialize pci bridge filtering registers.
 - f441666 seabios: pciinit: pci bridge bus initialization.
 - 5d0de15 seabios: pciinit: make bar offset calculation pci bridge aware.
 - a65821d seabios: pciinit: factor out bar offset calculation.
 - 0a8eada seabios: pciinit: make pci bar assigner preferchable memory aware.
 - dfd94fa seabios: pciinit: make pci memory space assignment 64bit aware.
 - b9e4721 seabios: pciinit: factor out pci bar region allocation logic.
 - edd9911 seabios: pci: introduce foreachpci_in_bus() helper macro.
 - f79a462 Add romfile_size() wrapper for accessing cbfs/qemu_cfg files.
 - afbed1b Initial bootsplash support.
 - 83d6ed6 Update TODO
 - 1d7d893 Fix bvprintf() to respect padding for hex printing.
 - e230426 Unify optionrom cbfs/qemu_cfg rom pulling code.
 - 8cb8ba5 SeaBIOS VGA hooks
 - 203f6f3 SeaBIOS CD/DVD abbreviations
 - 12cbb43 seabios: remove iasl output file when error.
 - d5d02b6 Allocate cdemu buffer in low mem instead of ebda.
 - 8f59aa3 Introduce memcpy_fl - a memcpy on "flat" pointers.
 - 42a1d4c Rework malloc to use a "first fit" algorithm.
 - 34e9cc5 Minor mptable changes.
 - 0f3783b virtio: clean up memory barrier usage
 - bfe4d60 virtio: remove NO_NOTIFY optimization
 - bb68591 Don't use RTC to time boot menu delay.
 - b5cc2ca Generalize timer based delay code.
 - 144817b Rename check_time() to check_tsc().
 - 9c447c3 Allow wait_irq to be called in 32bit code.
 - 49cc72b Improve optionrom debugging statements.
 - c65a4a6 Minor - compile out usb-msc code if CONFIG_USB_MSC not set.
 - 456479e Minor ata cleanups.
 - 2515a72 Make sure virtio-blk is fully compiled out if not wanted.
 - c4fe135 Minor - split up virtio_blk_setup().
 - 4030db0 fix two issues with virtio-blk
 - ea8ac63 Minor improvements to virtio (allow irqs, allocate page aligned).

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-07-13 08:55:04 -05:00
Anthony Liguori
14ac15d3ac Update SeaBIOS
- 7d09d0e Fix virtio compile errors on various gcc versions.
 - 89acfa3 Support for booting from virtio disks
 - 6d66316 smbios: avoid counting io hole as ram
 - e5cd945 Fix error causing USB HID "boot" protocol to not be enabled.
 - 0e88576 Add support for USB mice.
 - dd5a8a6 When USB keyboard active, don't send keyboard commands to ps2 port.
 - 5718d56 Document usb-hid.c functions.
 - e438b0c Further parallelize init when using CONFIG_THREAD_OPTIONROMS.
 - f59b5ac Handle unknown function addresses in tools/checkstack.py.
 - 9ba1dea Simplify build by manually resolving external symbols in layoutrom.py.
 - 698d3f9 USB EHCI should yield() whil waiting for controller to ack reset.
 - f9a774c Add __attribute__((__malloc__)) declaration to internal malloc funcs.
 - b7045ce Minor - remove redundant check from ata_try_dma.
 - 67f6d37 Fix possible unitialized variable issue in usb msc.
 - a7eb8fc Some improvements to optionrom preemption support.
 - d28b0fe Refactor USB hub code.
 - ba28541 Prep version for next release.
 - 12bffd5 Update version to 0.6.0.
 - 87ab2fb Improve USB EHCI timing.
 - d705e5a Disable inlining on old compilers.
 - bca0736 Force use of indirect function calls in inline assembler.
 - d7eb27e Don't move EBDA while an optionrom is running (CONFIG_THREAD_OPTIONROMS).
 - 7415270 Call to int1552 (from int1346) should set regs->dl.
 - 9dc243e Adjust debug levels of device discovery.
 - d9c9361 Default CONFIG_COREBOOT_FLASH on; make depend on CONFIG_COREBOOT.
 - c35e1e5 Restore segment limits in handle_1589 code.
 - 11cc662 Extend time for rtc to be ready.
 - 4ed378a Backup and restore registers when calling out to user funcs.
 - 68c5139 Enable irqs in kbd/clock calls that caller might "spin" on.
 - f628244 Process event on ps2 keyboard irq even if event already read.
 - a5d8458 Revert "Unify ps2 port data processing."
 - b9ed5e2 Handle variable length return of ps2 port GETID command.
 - 67a9eec Prevent ps2 irqs from messing up ps2 init.
 - 6704cf9 Revert "Rework disabling of ps2 port irqs."
 - 808939c Fix smp cpu detect on gcc 4.5.
 - a979c1c Improvements to tools/checkstack.py.
 - 190cc62 Add USB EHCI controller support.
 - 0770d67 Some USB UHCI and OHCI fixes and cleanups.
 - bfe7ca7 Minor - USB OHCI interrupt queue should be one larger.
 - 09e2f7c Reduce size of USB 'struct uhci_td'.
 - 406fad6 Dynamically allocate USB controller structures.
 - 4547eb9 Replace USB encoded 'u32 endp' scheme with explicit struct fields.
 - 8ebcac0 Further parallelize USB init by launching a thread per usb port.
 - e908665 Introduce simple "mutex" locking code.
 - 3b79f8b Only compile usb-hub.c and paravirt.c with 32bit code.
 - 357bdfa Prefer passing a USB "pipe" structure over a USB endp encoding.
 - 7fb8ba8 Add a generic "internal error" warning function.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-05-14 10:55:58 -05:00
Anthony Liguori
a0acb46c72 Update to latest SeaBIOS
- 8f469b9 Dynamically allocate ata_channel info; introduce custom atadrive_s struct.
 - 575ffc8 Cleanup - build drive description in temp memory during init.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-05 21:45:16 -06:00
Anthony Liguori
e1c247d26c pc-bios: update to latest Seabios
- 0360e8e Seabios e820 reservation portion v3
 - 7149fc8 Initial support for booting from USB drives.
 - 3c160dd Introduce helper functions for finding USB end-points.
 - 9571439 USB UHCI cleanups.
 - a4bd919 Minor - arrange struct drive_s to clarify field roles.
 - dac46b1 Fix off by one error in strtcpy.
 - d2d1de0 Don't require a valid physical cylinders/heads/spt for logical mapping.
 - 76977b2 Move common "command data block" functions to new file blockcmd.c.
 - d7e998f Dynamically allocate each drive_g with malloc_fseg().
 - 525be69 Add *.pyc to .gitignore.
 - 7d70025 Add common "block command" definitions and update cdrom code.
 - 68caaa7 Optimize ntohl() code.
 - 42157c8 Minor - sort ATA CMD definitions.
 - 54671c1 Initial support for USB hubs.
 - 7852331 Minor - increase debug level of some USB debug statements.
 - ba94a68 Don't leave USB UHCI ports disabled for extended time during reset.
 - 49a0aa6 Don't parallelize USB OHCI root port reset.
 - cfdc13f Introduce standard warnings for allocation failures and timeouts.
 - 8bbc79c Add symbolic definitions for USB delays.
 - 991eaff Support USB interrupt schedules on OHCI and UHCI.
 - 59c7574 Add some ASSERT32FLAT() to help compiler eliminate dead code.
 - e1920be seabios: acpi: fix memory leak in build_srat().
 - 84a4d4b Support USB keyboard auto-repeat.
 - bf7f1f3 mptable: Pull cpuid_signature/features setting out of loop.
 - 6f702dd Rework disabling of ps2 port irqs.
 - 2d3f0f5 Go back to using 0xf0000000 for PCI memory start.
 - 41c0957 Read APIC version from APIC instead of using a hard-coded value.
 - 7a98fd0 Work around bochs floppy issue with wait_irq().
 - 4d07902 Add CONFIG_ATA_DMA option; default to off for now.
 - 3012af1 Fix PkgLength calculation for the SSDT.
 - 92a5742 Add explicit Program Headers to linker scripts.
 - 6fc91b2 Prep version for next release.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-23 13:35:12 -06:00
Anthony Liguori
9da92c4944 seabios: use correct submodule hash
Commit 392ecf543d introduced an accidental change
to the roms/seabios submodule.  This commit partially reverts that commit to
ensure the seabios module points to the right commit.

Reported-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-03 12:36:25 -06:00
Amit Shah
392ecf543d virtio-console: Automatically use virtio-serial-bus for the older -virtioconsole invocation
These hunks got dropped off mysteriously during the rebasing of my
virtio-serial series. Thanks go to Markus for noticing it.

Without these fixes, -virtioconsole doesn't actually have any effect.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Reported-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-01-26 15:42:02 -06:00
Anthony Liguori
c3863f2544 Update to SeaBIOS 0.5.1
5da6833 Update version to 0.5.1
  669c991 Fix sign error preventing incorrect memory over 4gig calculation.
  7e6bd3e Minor - better indent assembler in int1587.
  48cf232 Add comment explaining why mptable is in low memory.
  643062f Add int1589 support.
  085debd Set FDPT in irq table even for small drives.
  7c1b186 Reduce #ifs by weeding out some cross-chunk function definitions.
  f9b25d3 Fix vgahook sign issue; add warning to build to catch future cases.
  3862b2d vgabios: Fix compile error due to fixed prototypes.
  1ca05b0 Be sure to add "void" to all function prototypes that take no args.
  b5bb9db mptable: Reset pinmask on new bus or device.
  8918989 Detect latest FC12 gcc -combine breakage.
  c9d3c2d Minor vga binary cleanups.
  9a8609f Make MTRR region 0xc0000-0x100000 be cached.
  fdca418 Force a link error if a function is used from the wrong code chunk.
  dad41d9 Add __noreturn define for __attribute__((noreturn)).
  c003148 Implement native 32bit APM support.
  5c99b6c Commit compiled dsdt file; misc comment updates.
  29f4b91 prevent acpi from rerouting SCI interrupt
  4c94b7e enumerate all PCI buses in mptable
  871e0a0 Add support for 32bit PCI BIOS entry.
  eda2c83 Only add "addr32" to memory accesses that require them.
  52a300f Introduce MODESEGMENT define; rename VISIBLE32 to VISIBLE32FLAT.
  fe2c3ee Allocate smbios in temp space and copy into final location.
  b164d2c Clear user reserved interrupts (0x60-0x66).
  d9104ff Remove pci_bios_bigmem_addr; set pci_bios_mem_addr=0xe0000000
  14021f2 Add initial support for ATA DMA.
  8362699 Allocate mptable in temp space and copy into final location.
  979862e Also report memory over 4G during init.
  928d4df provide correct pci routing information in mptable
  afc02da Add symbolic definitions for MTRR code.
  fb214dc Fix yield() so it works from boot code.
  2ceeec9 Fix potential build failure due to text16 section being too large.
  a2195e4 Increase version in preparation for next release.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-01-11 13:41:00 -06:00
Anthony Liguori
4303f6d800 Update to SeaBIOS 0.5.0
The only change is updating the makefile but that way we're carrying an official
release.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-12-19 08:26:03 -06:00
Anthony Liguori
2dc3f77c86 Update SeaBIOS to include PCI based option rom loading
Also remove pcbios from the tree.  It will no longer work.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-12-18 11:26:34 -06:00
Anthony Liguori
b0293e54af Update SeaBIOS
This includes the following changes:

  42bc394 Make sure to reenable ata interrupts even on error.
  494dfc6 Move SeaBIOS post/boot stack to avoid conflict with gPXE.
  3133e38 Test for broken gcc -combine on FC12.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-11-23 12:53:22 -06:00
Anthony Liguori
1945120112 Update SeaBIOS to latest
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-11-17 08:49:40 -06:00
Anthony Liguori
fd64612241 Switch pc bios from pc-bios to seabios
SeaBIOS is a port of pc-bios to GCC.  Besides using a more modern tool chain,
SeaBIOS introduces a number of new features including PMM support, better
BEV and BCV support, and better PnP support.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-30 09:42:36 -05:00
Anthony Liguori
65e59a08f6 Update SeaBIOS to latest upstream
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-30 09:42:35 -05:00
Gerd Hoffmann
1ac7105e68 update pcbios submodule to current master
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-05 09:32:47 -05:00
Anthony Liguori
c34ebfdc87 Bring pcbios, seabios, and vgabios into the tree as git submodules. Right now,
they aren't integrated into the build but we can do that incrementally.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-09-04 10:13:29 -05:00