Commit Graph

81 Commits

Author SHA1 Message Date
Gerd Hoffmann
fee5b753ff seabios: update to 1.9.1 stable release
git shortlog rel-1.9.0..rel-1.9.1
=================================

Cole Robinson (1):
      biostables: Support SMBIOS 2.6+ UUID format

Kevin O'Connor (7):
      xhci: Check for device disconnects during USB2 reset polling
      xhci: Wait for port enable even for USB3 devices
      sdcard: Only enable error_irq_enable for bits defined in SDHCI v1 spec
      sdcard: fix typo causing 32bit write to 16bit block_size field
      nmi: Don't try to switch onto extra stack in NMI handler
      scsi: Do not call printf() from scsi_is_ready()
      coreboot: Check for unaligned cbfs header

Marcel Apfelbaum (1):
      fw/pci: do not automatically allocate IO region for PCIe bridges

Roger Pau Monne (1):
      build: fix typo in buildversion.py

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-03-01 09:37:07 +01:00
Gerd Hoffmann
4b9294c00e seabios: update binaries to release 1.9.0
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-05 13:04:15 +01:00
Gerd Hoffmann
f3bcd42683 update seabios and vgabios binaries
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2015-06-17 09:28:03 +02:00
Gerd Hoffmann
93f7c4f09f seabios: update to 1.8.1 stable release
Carries two bugfixes and support for multiple pci root buses.

git shortlog rel-1.8.0..rel-1.8.1
=================================

Ameya Palande (1):
      x86: add barrier to read{b,w,l} and write{b,w,l} functions

Kevin O'Connor (1):
      smp: Fix smp race introduced in 0673b787

Marcel Apfelbaum (2):
      fw/pci: scan all buses if extraroots romfile is present
      fw/pci: map memory and IO regions for multiple pci root buses

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2015-03-16 09:07:15 +01:00
Gerd Hoffmann
21f5826a04 seabios: update to 1.8.0 release
'git shortlog 8936dbb2..4c59f5d8' for seabios repo:

David Woodhouse (4):
      Update EFI_COMPATIBILITY16_TABLE to match 0.98 spec update
      build: use -m16 where available instead of asm(".code16gcc")
      romlayout: Use .code16 not .code16gcc
      vgabios: Use .code16 not .code16gcc

Gerd Hoffmann (2):
      add scripts/tarball.sh
      build: set LC_ALL=C

Hannes Reinecke (1):
      megasas: read addional PCI I/O bar

Ian Campbell (1):
      romlayout: Use "rep ; nop" not "rep nop".

Kevin O'Connor (139):
      vgabios: Return from handle_1011() if handler found.
      edd: Move EDD get drive parameters (int 1348) logic from disk.c to block.c.
      edd: Use sectors==-1 to detect removable media.
      edd: Separate out ATA and virtio specific parts of fill_edd().
      cdemu: store internal cdemu fields in standard "el-torito" spec format.
      Move cdemu call interface and disk_ret helper code to disk.c.
      smm: Replace SMI assembler code with C code.
      smm: Use a C struct to define the layout of the SMM area.
      smp: Replace QEMU SMP init assembler code with C; run only in 32bit mode.
      Don't enable thread preemption during S3 resume vga option rom execution.
      Remove old Bochs bios fixed address string at 0xfff00.
      Move most of the VAR16FIXED() defs to misc.c.
      build: Avoid absolute paths during "whole-program" compiling.
      Make sure handle_smi() and handle_smp() are compiled out if not enabled.
      Remove the TODO file.
      Abstract reset call (and possible 16bit mode switch) into reset() function.
      build: Remove unused function getSectionsStart() from layoutrom.py.
      build: Extract section visiting logic in layoutrom.py.
      build: Refactor layoutrom.py gc() function.
      build: Use customized entry point for each type of build.
      build: Refactor findInit() function.
      build: Rework getRelocs() to use a hash instead of categories in layoutrom.py
      build: Keep segmented sections separate until final link step.
      build: Use fileid instead of category to write sections in layoutrom.py.
      build: Only export needed fields in LayoutInfo in layoutrom.py.
      build: Get fixed address variables from 32bit compile pass (not 16bit)
      build: Minor - fix comments referring to old tools/ directory.
      xhci: Update the times for usb command timeouts.
      ehci: Update usb command timeouts to use usb_xfer_time()
      uhci: Update usb command timeouts to use usb_xfer_time()
      ohci: Update usb command timeouts to use usb_xfer_time()
      vgabios: Fix broken build resulting from e5749978.
      boot: Change ":rom%d" boot order rom instance to ":rom%x"
      Minor - remove stray tab from src/fw/smm.c.
      build: Update kconfig to version in Linux 3.16.
      usb: Fix usb_xfer_time() to work when called in 16bit mode.
      xhci: Call usb_desc2pipe() on xhci_update_pipe().
      xhci: Remove 16bit code wrappers.
      xhci: Use high memory instead of low memory for internal storage.
      xhci: Move root hub and setup code to top of file.
      xhci: Add xhci_check_ports() and xhci_free_pipes() functions.
      ehci: Move port power up from ehci_hub_detect() to check_ehci_ports().
      usb-hub: Enable power to all ports prior to calling usb_enumerate().
      xhci: Change xhci_hub_detect() to use connect status instead of link state.
      uhci: Repeatedly poll for device detect for 100ms.
      ohci: Repeatedly poll for device detect for 100ms.
      ehci: Stall uhci/ohci init only until default port routing is done.
      usb: Perform device detect polling on all usb controllers.
      ehci: Fix bug in hub port assignment
      Revert "Use the extra stack for 16bit USB and PS2 keyboard/mouse commands."
      pmm: Fix entry point to support non-zero %ss
      Move stack hop code below call32/call16 code in stacks.c
      Add need_hop_back() call that determines if stack_hop_back is needed
      Update invoke_mouse_handler() to use need_hop_back()
      Update stack_hop_back() to jump to 16bit mode if called in 32bit mode.
      Track when entering via call32() and use the same mode for stack_hop_back()
      Simplify farcall16 code
      Update reset() to use call16_back()
      build: Support declaring 32bit C functions that must reside in the f-segment
      Move call16() functions from romlayout.S to inline assembler in stacks.c
      Break up call32() into call32() and call32_sloppy()
      Fully restore 16bit state during call16_sloppy()
      Implement call32 mechanism using SMIs.
      Move a20 code from system.c and ps2port.h to x86.h
      Backup and restore a20 on call32_sloppy()
      usb: Rename ?hci_control() to ?hci_send_control()
      usb: Rename usb_getFrameExp() to usb_get_period()
      usb: Rename findEndPointDesc() to usb_find_desc()
      usb: Rename send_default_control() to usb_send_default_control()
      usb: Rename free_pipe() to usb_free_pipe()
      usb: Clarify usb freelist manipulations
      xhci: Change xhci_update_pipe() to xhci_realloc_pipe() and use for alloc too
      uhci: Export uhci_realloc_pipe() instead of uhci_alloc_pipe()
      ohci: Export ohci_realloc_pipe() instead of ohci_alloc_pipe()
      ehci: Export ehci_realloc_pipe() instead of ehci_alloc_pipe()
      usb: Use usb_realloc_pipe for pipe alloc, update, and free.
      Use 32bit memcpy in int1587 when applicable
      Don't clobber %ax on ENTRY_INTO32 macro
      Create assembler macros for saving and restoring 'struct bregs'
      Do full BREGS backup/restore for pmm, pnp, and irqentry_extrastack
      Remove unused macro ENTRY_ST
      vgabios: Don't declare custom internal BDA storage in std/bda.h
      vgabios: Cache a pointer to the current mode struct in the BDA
      vgabios: Don't pass vmode_g to vgafb_move_chars() / vgafb_clear_chars()
      vgabios: Rename vbe_flags to flags
      vgabios: Set cursor shape fixes
      vgabios: Refactor get/set_cursor_shape() code
      vgabios: Only init BDA device details in init_bios_area()
      vgabios: Only set the dcc_index=8 if stdvga ports are available
      vgabios: Move standard table definitions to std/vga.h
      vgabios: Fill in available legacy modes in video_func_static at runtime
      vgabios: Add support for reading framebuffer in "direct" mode
      Fix PNP regression introduced in 99cb8f3e due to missed conversion
      Minor - move PORT_PS2_CTRLB from hw/ps2port.h to hw/timer.c
      vgabios: Support emulating text mode attributes while in graphics mode
      vgabios: Add software cursor capability
      Use an aligned stack offset when entering on the extra stack
      Minor - comment updates in romlayout.S
      Fix build issue on gcc34
      pciinit: Fix build warning in mch_pci_slot_get_irq()
      floppy: Make sure to yield() during floppy PIO
      Minor - be consistent in placement of .code16/32 in romlayout.S
      Use macros for .code16/32 mode switches in inline asm in stacks.c
      Eliminate FUNCFSEG - only force portions of inline asm to f-segment
      usb: Update USB hub code to support super speed hubs
      Simplify README files - point to online documentation instead
      sdcard: Initial support for SD cards on PCI SDHCI controllers on QEMU
      Add wiki documentation to repository
      docs: Don't point to repo README files
      docs: Add info on MODE16/MODESEGMENT compile time flags
      docs: Add page describing SeaBIOS final object linking
      scsi: Move cdb_* functions above scsi_* functions
      scsi: Move process_scsi_op() to hw/blockcmd.c and rename
      cdrom: call scsi_process_op() instead of cdb_read()
      scsi: Don't export cdb_* functions
      cdrom: Break up very large read requests into smaller requests
      block: Check for read/write requests over 64K
      usb: Add support for OHCI bulk transfers
      readserial: Enhance pipe support
      docs: Add documentation on using readserial.py script
      uhci: Enable "depth" tree traversal for bulk transfers
      uhci: Increase bulk transfer STACKTDS to 16
      vgabios: Support emulated text in gfx_read_char()
      ehci: No need to support td array wrapping
      ehci: Simplify fillTDbuffer() and rename
      ehci: Merge ehci_send_control with ehci_send_bulk
      ohci: Merge ohci_send_control with ohci_send_bulk
      uhci: Merge uhci_send_control with uhci_send_bulk
      xhci: Merge xhci_send_control with xhci_send_bulk
      usb: Use usb_send_pipe() now that all drivers have x_send_pipe()
      xhci: Move xhci_xfer_x() functions together
      xhci: Merge some xhci_xfer_x() functions into xhci_send_pipe()
      usb: Control transfers always have an 8 byte command size
      usb: Minor - properly free memory on get_device_config() error path
      checkstack: Handle callw instruction
      docs: Document why v1.6.3 release came after v0.6.2
      docs: Update release history with dates of stable releases
      docs: There is only one VAR16 flag now
      docs: Note v1.8.0 release

Marcel Apfelbaum (1):
      hw/pci: reserve IO and mem for pci express downstream ports with no devices attached

Markus Armbruster (1):
      boot: Fix boot order for SCSI target, lun > 9

Paolo Bonzini (5):
      piix: add and use dev-piix.h
      smm: complete SMM setup
      smm: unify SMM handlers
      vgabios: fix graphics operation with Bochs VGA in non-DISPI modes
      vgabios: implement read char in graphics mode

zhanghailiang (1):
      acpi: use specified macro instead of magic-number

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2015-02-19 09:33:03 +01:00
Gerd Hoffmann
953ea14d66 update seabios to 1.7.5.1 stable release
git shortlog since 1.7.5:

Hannes Reinecke (1):
      megasas: read addional PCI I/O bar

Kevin O'Connor (5):
      boot: Change ":rom%d" boot order rom instance to ":rom%x"
      vgabios: Return from handle_1011() if handler found.
      Don't enable thread preemption during S3 resume vga option rom execution.
      build: Avoid absolute paths during "whole-program" compiling.
      ehci: Fix bug in hub port assignment

Marcel Apfelbaum (1):
      hw/pci: reserve IO and mem for pci express downstream ports with no devices attached

Markus Armbruster (1):
      boot: Fix boot order for SCSI target, lun > 9

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-11-13 11:59:46 +01:00
Gerd Hoffmann
3257fc8383 seabios: update to 1.7.5 final
git shortlog since -rc1:

Gerd Hoffmann (2):
      acpi: remove PORT_ACPI_PM_BASE constant
      Allow using full io region on q35.

Kevin O'Connor (2):
      vgabios: Add debug message if x86emu leal check triggers.
      python3 fixes for vgabios and csm builds.

Paolo Bonzini (1):
      smm: remove code to handle ACPI disable/enable

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-06-02 16:49:00 +02:00
Gerd Hoffmann
db76ec6291 seabios: update to 1.7.5-rc1
Code grew a bit, had to disable CONFIG_USB_UAS to make the
bios for the old machine types continue top fit into 128k.

git shortlog since 1.7.4:

Eric Northup (2):
      init_virtio_blk, init_virtio_scsi: reset HBA on error
      vp_init_simple: enable PCI bus-mastering before relying on DMA.

Gabriel L. Somlo (1):
      SMBIOS: Check for aggregate tables & entry point in fw_cfg

Gerd Hoffmann (4):
      smbios: catch zero-length strings
      pci: improve io address space allocation
      xhci: allocate scratch pad buffers
      vga: rework bar detection, add virtio-vga

Johannes Krampf (5):
      build: Remove unneccesary semicolons from acpi_extract scripts.
      build: Make print statements in scripts python3 compatible.
      build: Be explicit that we want integers when dividing for python3 compat.
      build: Avoid sort() on unordered classes for python3 compatibility.
      build: Be careful with unicode and byte strings for python3 compatibility.

Kevin O'Connor (79):
      build: Don't trash the .config file when src/Kconfig changes.
      Remove the pmm handle argument from _malloc().
      Clear the total block transfer count on error.
      Remove unnecesary updates of the disk op->count field.
      Always perform thread cleanup on MainThread stack.
      pvscsi: Don't store reference to struct pci_device.
      pvscsi: Always run entirely in 32bit mode.
      pvscsi: Remove use of LOWFLAT and GLOBALFLAT macros.
      usb: Replace EHCI to UHCI/OHCI synchronization with new scheme.
      Minor - pciinit.c - order header files and use static on local functions.
      Minor - fix misspelling in romfile.c comment.
      ehci: memset the qTD structures in ehci_alloc_intr_pipe
      build: Update kconfig to version in Linux 3.13.
      scripts: Allow encodeint.py to take integers in hex notation.
      coreboot: Support alternative locations for CBFS.
      debug: Add runtime option to not report the debug serial port to the OS.
      debug: Only call serial_debug_preinit() at startup.
      debug: Unify the SeaBIOS debug version banner.
      xhci: Use 64bit writes to ERDP register.
      xhci: Fix incorrect direction setting on status transmissions.
      xhci: Set the interval parameter on interrupt pipes.
      xhci: Verify PAGESIZE register before initializing driver.
      xhci: Allocate and free the xhci inctx structure on each use.
      xhci: Move set_address code from xhci_control to xhci_alloc_pipe.
      xhci: Eliminate 'struct xhci_device'.
      xhci: Support xhci controllers with 64 byte contexts.
      xhci: Allow the XHCI USB controller to be enabled for coreboot.
      xhci: Don't use a dummy endpoint count in configure command.
      xhci: Report the "protocol defined" and PSIC bits of extended capabilities.
      xhci: Support USB hubs on xhci controllers.
      Add call32_params() helper function.
      Add space between DTYPE_* definitions.
      xhci: Run the XHCI driver entirely in 32bit mode.
      Remove pci_writel() and pci_readl() functions.
      xhci: Check if scratch pad allocation fails.
      Increase maximum size of permanent high memory area.
      usb: USB 3 devices encode bMaxPacketSize0 field.
      usb: Move default pipe max packet size code from xhci to main code.
      xhci: Use the same endpoint initialization code in xhci_alloc_pipe()
      xhci: Add copyright notice to usb-xhci.c
      vgabios: Make sure exported structs use PACKED.
      vgabios: Simplify the bios save state area.
      vgabios: Simplify save/restore mechanism.
      vgabios: Attempt to detect old x86emu and force a fault.
      vgabios: Don't interpret TAB character.
      vgabios: Refactor write_teletype and write_chars.
      vgabios: Make sure stdvga_list_modes() doesn't overrun the buffer.
      coreboot: Add support for a "links" file to have aliases in CBFS.
      Enhance nullTrailingSpace() so that it can also skip leading spaces.
      coreboot: Move links file processing to its own function.
      vgabios: Fix PMM allocation request size.
      smbios: Default all values to zero.
      usb: Only disable HID devices if both USB_MOUSE and USB_KEYBOARD are off.
      Minor - fix some typos in comments.
      Replace CONFIG_THREAD_OPTIONROMS with a runtime config setting.
      acpi: Move acpi parsing logic from acpi.c to biostables.c / paravirt.c.
      smbios: Move smbios parsing logic from smbios.c to biostables.c.
      Move PirAddr definition from pirtable.c to biostables.c.
      Use biostables.c for copying bios tables even when generating them.
      Document no new changes to pirtable.c, mptable.c, acpi.c, and smbios.c.
      apm: Remove old Bochs mechanism for shutdown/suspend/standby.
      Minor - remove unused includes from pci.c.
      vgabios: Add option to control use of standard VGA IO ports.
      vgabios: Split vgafb_scroll() into separate move and clear functions.
      vgabios: Rewrite vgafb.c graphics operations to set of 4 standard operators.
      vgabios: Introduce text_address().
      vgabios: Add support for manipulating framebuffers in high memory.
      Set the color attribute when calling vgabios print character.
      vgabios: PMM scan was incorrectly depending on a zero %ds segment.
      coreboot: Make coreboot table searching available to other code.
      vgabios: Initial support for coreboot native vga vgabios.
      Minor - replace some tab characters that slipped into the code.
      Factor out smbios table walking from display_uuid to smbios_next().
      vgabios: Define PlatformRunningOn to make compile happy.
      If an int 1587 call is made from an option rom, stay in bigreal mode.
      xhci: Use msleep() instead of mdelay() for port status delay.
      build: Make sure romlayout.o is recompiled on Kconfig change.
      Fix int 1589 calls when CONFIG_ENTRY_EXTRASTACK is enabled.
      acpi: Fix acpi dsdt compile warning.

Laszlo Ersek (1):
      init_virtio_scsi(): reset the HBA before freeing its virtio ring

Marcel Apfelbaum (3):
      resume: restore piix pm config registers after resume
      hw/pci: reserve IO and mem for pci-2-pci bridges with no devices attached
      hw/pci: check if pci2pci bridges implement optional limit registers

Roger Pau Monne (1):
      ld: don't hardcode "-melf_i386"

Sander Eikelenboom (1):
      Prevent build failure by not splitting line in the middle of arguments to checkrom.py script

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-05-15 14:05:26 +02:00
Gerd Hoffmann
41419b0f11 Update seabios binaries to 1.7.4
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-02-03 15:40:01 +01:00
Gerd Hoffmann
385724e788 roms: update seabios binaries
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-12-06 08:55:42 +01:00
Gerd Hoffmann
1cf9412b3b update seabios from 1.7.2.2 to 1.7.3.2
'git shortlog d4f7d90f..ece025f5' says:

Alex Williamson (4):
      seabios q35: Enable all PIRQn IRQs at startup
      seabios q35: Add new PCI slot to irq routing function
      seabios: Add a dummy PCI slot to irq mapping function
      pciinit: Enable default VGA device

Asias He (2):
      virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
      virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}

Avik Sil (1):
      USB-EHCI: Fix null pointer assignment

Christian Gmeiner (5):
      geodevga: fix errors in geode_fp_* functions
      geodevga: move framebuffer setup
      geodevga: move output setup to own function
      geodevga: add debug to msr functions
      geodevga: fix wrong define name

David Woodhouse (26):
      Add macros for pushing and popping struct bregs
      Clean up #if in pirtable.c. CONFIG_PIRTABLE can't be set if CONFIG_COREBOOT is
      post: Export functions which will be used individually by CSM
      Export callrom() for CSM to use
      Export copy_smbios() from biostables.c
      Import LegacyBios.h from OVMF
      Complete and checksum EFI_COMPATIBILITY16_TABLE at build time
      Add pic_save_mask() and pic_restore_mask() functions
      Add CSM support
      Add README.CSM
      Add find_pmtimer() function
      Enable PMTIMER for CSM build
      Fix rom_reserve()/rom_confirm() for CSM oprom dispatch
      Don't calibrate TSC if PMTIMER is already set up
      Move find_pmtimer() to ACPI table setup where it logically belongs
      Use find_pmtimer() after copying Xen ACPI tables
      Use find_pmtimer() after copying coreboot ACPI tables
      Unify return path for CSM to go via csm_return()
      Make CONFIG_OPTIONROMS_DEPLOYED depend on CONFIG_QEMU
      Implement !CONFIG_OPTIONROMS support for CSM
      Implement !CONFIG_BOOT for CSM
      Enable VGA output when settings bochs-specific mode
      Disable CONFIG_THREAD_OPTIONROMS for CSM build
      Fix return type of le64_to_cpu() and be64_to_cpu()
      Rename find_pmtimer() to find_acpi_features()
      Add acpi_reboot() reset method using RESET_REG

Gerd Hoffmann (6):
      config: allow DEBUG_IO for !QEMU
      coreboot: add qemu detection
      tweak coreboot qemu detection
      apm: fix shutdown
      ahci: add missing check for allocation failure
      fix buildversion.sh

Hu Tao (1):
      Add pvpanic device driver

Kevin O'Connor (101):
      pmm: Use 'struct segoff_s' in pmm header.
      Minor: Update README - variable changes are now reset on soft-reboots.
      Normalize POST initialization function name suffixes.
      POST: Reorganize post init functions for better grouping and reusability.
      Fix rebase error in commit 8a0a972f that broke LOWMEM variables.
      Support calling a function other than maininit() from reloc_preinit().
      Ensure exported symbols are visible in the final link
      POST: Move QEMU specific ramsize and BIOS table setup to paravirt.c.
      POST: Reorganize post entry and "preinit" functions.
      POST: Move cpu caching and dma setup to platform_hardware_setup().
      Undo incorrect assumptions about Xen in commit 6ca0460f.
      Determine century during init and store in VARLOW mem during runtime.
      No need to check both CONFIG_THREADS and CONFIG_THREAD_OPTIONROMS.
      Add runningOnQEMU() and runningOnXen() for runtime platform detection.
      Consistently use CONFIG_COREBOOT, CONFIG_QEMU, and runningOnXen().
      Convert kvm_para_available() to runningOnKVM().
      Minor - move definitions to paravirt.c from paravirt.h.
      Only perform SMP setup on QEMU.
      Start device_hardware_setup in mainint even with CONFIG_THREAD_OPTIONROMS.
      The mathcp setup touches the PIC and thus move to the "setup" phase.
      Update tools/acpi_extract.py to handle iasl 20130117 release.
      Support skipping content when reading from QEMU fw_cfg romfile entries.
      Convert fw_cfg ACPI entries into romfile entries.
      Convert fw_cfg SMBIOS entries into romfile entries.
      Convert basic integer fw_cfg entries into romfile entries.
      Convert fw_cfg NUMA entries into a romfile entry.
      Process fw_cfg e820 entries during the fw_cfg setup stage.
      Integrate qemu_cfg_preinit() into qemu_romfile_init().
      Group QEMU platform setup together and move to paravirt.c.
      vgabios: Bochs/QEMU vgabios support should depend on CONFIG_QEMU.
      Warn on unaligned PCI ROM structure in option roms.
      Fix Makefile - don't reference "out/" directly, instead use "$(OUT)".
      build: Don't require $(OUT) to be a sub-directory of the main directory.
      Rename rom_get_top() to rom_get_max().
      Report on f-segment UMB ram also.
      Clarify build generated "zone low" values.
      Verify CC is valid during build tests.
      Disable handle_post() on CSM builds.
      Remove unnecessary "export" declarations from assembler functions.
      Minor assembler enhancements to __csm_return.
      Introduce VARFSEG for variables that will reside in the f-segment.
      Convert VAR16VISIBLE, VAR16EXPORT, and VAR32VISIBLE to VARFSEG.
      Don't relocate "varlow" variable references at runtime.
      Move malloc's ZoneFSeg and ZoneLow setup to malloc_init.
      Calculate "RamSize" needed by 16bit interface dynamically.
      Eliminate separate BiosTableSpace[] space for f-segment allocations.
      Use CONFIG_ prefix for Kconfig variables; use BUILD_ for others.
      Try to detect an unsuccessful hard-reboot to prevent soft-reboot loops.
      Minor - fix confusing final_sec32low_start name in layoutrom.py.
      Minor - introduce numeric defines for the IVT offset of hw irqs.
      Separate out 16bit PCI-BIOS entry point from regular int 0x1a entry point.
      Support using the "extra stack" for all 16bit irq entry points.
      Minor - improve comments and grouping of handle_08().
      floppy: Introduce 'struct floppy_pio_s' for floppy PIO ops.
      floppy: Cleanup floppy irq wait handling.
      floppy: Clean up Check Interrupt Status code.
      floppy: Move recalibration and results parsing to floppy_cmd().
      floppy: Improve floppy_pio() error checking.
      floppy: Implement media format sensing.
      floppy: Actually do controller reset in floppy_reset().
      Minor - note that passing QEMU config via cmos is deprecated.
      Cache boot-fail-wait to avoid romfile access after POST.
      Rename src/ssdt-susp.dsl to src/ssdt-misc.dsl.
      acpi: Eliminate BDAT parameter passing to DSDT code.
      Add additional dependency checks to Makefile.
      Don't use __FILE__ in virtio-ring.c.
      shadow: Don't use PCIDevices list in make_bios_readonly().
      smm: Don't use PCIDevices list in smm_setup().
      Add VARVERIFY32INIT attribute for variables only available during "init".
      Use VARVERIFY32INIT on global variables that point to "tmp" memory.
      vgabios: Fix stdvga_perform_gray_scale_summing().
      vgabios: Fix cirrus memory clear on mode switch.
      Minor - add missing newline to floppy debug statement.
      Fix bug in NUMA node setup - don't create SRAT if NUMA not present.
      Update README - copy *.aml files for QEMU.
      Add dependencies to vgafixup.py and buildversion.sh scripts.
      Set ZF prior to keyboard read call in check_for_keystroke().
      mptable: Don't describe pci-to-pci bridges.
      mptable: Use same PCI irqs as ACPI code.
      Cleanup QEMU_CFG_NUMA fw_cfg processing - split into two romfile entries.
      Use container_of on romfile entries.
      acpi: Move ACPI table definitions from acpi.c to acpi.h.
      acpi: Remove dead code with descriptions of bit flags.
      acpi: Use cpu_to_leXX() consistently.
      Minor - explicitly close files in buildrom.py.
      Minor - move "tracked memory alloc" code in pmm.c.
      Introduce and convert pmm code to use standard list helpers.
      Minor - relocate code in stacks.c to keep low-level thread code together.
      Introduce helper function have_threads() in stacks.c.
      Convert stacks.c to use standard list manipulation code.
      Convert boot.c to use standard list manipulation code.
      Convert pciinit.c to use standard list manipulation code.
      Convert PCIDevices list to use standard list manipultion code.
      Revert "Convert pciinit.c to use standard list manipulation code."
      Fix error in hlist_for_each_entry_safe macro.
      Convert pciinit.c to use standard list manipulation code.
      make qemu_cfg_init depend on QEMU_HARDWARE instead of QEMU
      Another fix for hlist_for_each_entry_safe.
      Minor - remove debugging dprintf added to pciinit.c.
      Fix USB EHCI detection that was broken in hlist conversion of PCIDevices.
      Fix bug in CBFS file walking with compressed files.

Laszlo Ersek (1):
      Enable VGA output when setting Cirrus-specific mode

Michael S. Tsirkin (2):
      acpi: make default DSDT optional
      acpi: sync FADT flags from PIIX4 to Q35

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30 11:18:02 +02:00
Gerd Hoffmann
41b8280a1c seabios: update to 1.7.3
Changes summary (git shortlog rel-1.7.2.2..rel-1.7.3):

Alex Williamson (4):
      seabios q35: Enable all PIRQn IRQs at startup
      seabios q35: Add new PCI slot to irq routing function
      seabios: Add a dummy PCI slot to irq mapping function
      pciinit: Enable default VGA device

Asias He (2):
      virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
      virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}

Avik Sil (1):
      USB-EHCI: Fix null pointer assignment

Christian Gmeiner (5):
      geodevga: fix errors in geode_fp_* functions
      geodevga: move framebuffer setup
      geodevga: move output setup to own function
      geodevga: add debug to msr functions
      geodevga: fix wrong define name

David Woodhouse (26):
      Add macros for pushing and popping struct bregs
      Clean up #if in pirtable.c. CONFIG_PIRTABLE can't be set if CONFIG_COREBOOT is
      post: Export functions which will be used individually by CSM
      Export callrom() for CSM to use
      Export copy_smbios() from biostables.c
      Import LegacyBios.h from OVMF
      Complete and checksum EFI_COMPATIBILITY16_TABLE at build time
      Add pic_save_mask() and pic_restore_mask() functions
      Add CSM support
      Add README.CSM
      Add find_pmtimer() function
      Enable PMTIMER for CSM build
      Fix rom_reserve()/rom_confirm() for CSM oprom dispatch
      Don't calibrate TSC if PMTIMER is already set up
      Move find_pmtimer() to ACPI table setup where it logically belongs
      Use find_pmtimer() after copying Xen ACPI tables
      Use find_pmtimer() after copying coreboot ACPI tables
      Unify return path for CSM to go via csm_return()
      Make CONFIG_OPTIONROMS_DEPLOYED depend on CONFIG_QEMU
      Implement !CONFIG_OPTIONROMS support for CSM
      Implement !CONFIG_BOOT for CSM
      Enable VGA output when settings bochs-specific mode
      Disable CONFIG_THREAD_OPTIONROMS for CSM build
      Fix return type of le64_to_cpu() and be64_to_cpu()
      Rename find_pmtimer() to find_acpi_features()
      Add acpi_reboot() reset method using RESET_REG

Gerd Hoffmann (3):
      config: allow DEBUG_IO for !QEMU
      coreboot: add qemu detection
      tweak coreboot qemu detection

Hu Tao (1):
      Add pvpanic device driver

Kevin O'Connor (99):
      pmm: Use 'struct segoff_s' in pmm header.
      Minor: Update README - variable changes are now reset on soft-reboots.
      Normalize POST initialization function name suffixes.
      POST: Reorganize post init functions for better grouping and reusability.
      Fix rebase error in commit 8a0a972f that broke LOWMEM variables.
      Support calling a function other than maininit() from reloc_preinit().
      Ensure exported symbols are visible in the final link
      POST: Move QEMU specific ramsize and BIOS table setup to paravirt.c.
      POST: Reorganize post entry and "preinit" functions.
      POST: Move cpu caching and dma setup to platform_hardware_setup().
      Undo incorrect assumptions about Xen in commit 6ca0460f.
      Determine century during init and store in VARLOW mem during runtime.
      No need to check both CONFIG_THREADS and CONFIG_THREAD_OPTIONROMS.
      Add runningOnQEMU() and runningOnXen() for runtime platform detection.
      Consistently use CONFIG_COREBOOT, CONFIG_QEMU, and runningOnXen().
      Convert kvm_para_available() to runningOnKVM().
      Minor - move definitions to paravirt.c from paravirt.h.
      Only perform SMP setup on QEMU.
      Start device_hardware_setup in mainint even with CONFIG_THREAD_OPTIONROMS.
      The mathcp setup touches the PIC and thus move to the "setup" phase.
      Update tools/acpi_extract.py to handle iasl 20130117 release.
      Support skipping content when reading from QEMU fw_cfg romfile entries.
      Convert fw_cfg ACPI entries into romfile entries.
      Convert fw_cfg SMBIOS entries into romfile entries.
      Convert basic integer fw_cfg entries into romfile entries.
      Convert fw_cfg NUMA entries into a romfile entry.
      Process fw_cfg e820 entries during the fw_cfg setup stage.
      Integrate qemu_cfg_preinit() into qemu_romfile_init().
      Group QEMU platform setup together and move to paravirt.c.
      vgabios: Bochs/QEMU vgabios support should depend on CONFIG_QEMU.
      Warn on unaligned PCI ROM structure in option roms.
      Fix Makefile - don't reference "out/" directly, instead use "$(OUT)".
      build: Don't require $(OUT) to be a sub-directory of the main directory.
      Rename rom_get_top() to rom_get_max().
      Report on f-segment UMB ram also.
      Clarify build generated "zone low" values.
      Verify CC is valid during build tests.
      Disable handle_post() on CSM builds.
      Remove unnecessary "export" declarations from assembler functions.
      Minor assembler enhancements to __csm_return.
      Introduce VARFSEG for variables that will reside in the f-segment.
      Convert VAR16VISIBLE, VAR16EXPORT, and VAR32VISIBLE to VARFSEG.
      Don't relocate "varlow" variable references at runtime.
      Move malloc's ZoneFSeg and ZoneLow setup to malloc_init.
      Calculate "RamSize" needed by 16bit interface dynamically.
      Eliminate separate BiosTableSpace[] space for f-segment allocations.
      Use CONFIG_ prefix for Kconfig variables; use BUILD_ for others.
      Try to detect an unsuccessful hard-reboot to prevent soft-reboot loops.
      Minor - fix confusing final_sec32low_start name in layoutrom.py.
      Minor - introduce numeric defines for the IVT offset of hw irqs.
      Separate out 16bit PCI-BIOS entry point from regular int 0x1a entry point.
      Support using the "extra stack" for all 16bit irq entry points.
      Minor - improve comments and grouping of handle_08().
      floppy: Introduce 'struct floppy_pio_s' for floppy PIO ops.
      floppy: Cleanup floppy irq wait handling.
      floppy: Clean up Check Interrupt Status code.
      floppy: Move recalibration and results parsing to floppy_cmd().
      floppy: Improve floppy_pio() error checking.
      floppy: Implement media format sensing.
      floppy: Actually do controller reset in floppy_reset().
      Minor - note that passing QEMU config via cmos is deprecated.
      Cache boot-fail-wait to avoid romfile access after POST.
      Rename src/ssdt-susp.dsl to src/ssdt-misc.dsl.
      acpi: Eliminate BDAT parameter passing to DSDT code.
      Add additional dependency checks to Makefile.
      Don't use __FILE__ in virtio-ring.c.
      shadow: Don't use PCIDevices list in make_bios_readonly().
      smm: Don't use PCIDevices list in smm_setup().
      Add VARVERIFY32INIT attribute for variables only available during "init".
      Use VARVERIFY32INIT on global variables that point to "tmp" memory.
      vgabios: Fix stdvga_perform_gray_scale_summing().
      vgabios: Fix cirrus memory clear on mode switch.
      Minor - add missing newline to floppy debug statement.
      Fix bug in NUMA node setup - don't create SRAT if NUMA not present.
      Update README - copy *.aml files for QEMU.
      Add dependencies to vgafixup.py and buildversion.sh scripts.
      Set ZF prior to keyboard read call in check_for_keystroke().
      mptable: Don't describe pci-to-pci bridges.
      mptable: Use same PCI irqs as ACPI code.
      Cleanup QEMU_CFG_NUMA fw_cfg processing - split into two romfile entries.
      Use container_of on romfile entries.
      acpi: Move ACPI table definitions from acpi.c to acpi.h.
      acpi: Remove dead code with descriptions of bit flags.
      acpi: Use cpu_to_leXX() consistently.
      Minor - explicitly close files in buildrom.py.
      Minor - move "tracked memory alloc" code in pmm.c.
      Introduce and convert pmm code to use standard list helpers.
      Minor - relocate code in stacks.c to keep low-level thread code together.
      Introduce helper function have_threads() in stacks.c.
      Convert stacks.c to use standard list manipulation code.
      Convert boot.c to use standard list manipulation code.
      Convert pciinit.c to use standard list manipulation code.
      Convert PCIDevices list to use standard list manipultion code.
      Revert "Convert pciinit.c to use standard list manipulation code."
      Fix error in hlist_for_each_entry_safe macro.
      Convert pciinit.c to use standard list manipulation code.
      make qemu_cfg_init depend on QEMU_HARDWARE instead of QEMU
      Another fix for hlist_for_each_entry_safe.
      Minor - remove debugging dprintf added to pciinit.c.

Laszlo Ersek (1):
      Enable VGA output when setting Cirrus-specific mode

Michael S. Tsirkin (1):
      acpi: make default DSDT optional

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-07-24 15:37:43 +02:00
Gerd Hoffmann
6683d7bc27 update seabios to release 1.7.2.2
git shortlog from 1.7.2.1

Asias He (2):
      virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
      virtio-scsi: Set _DRIVER_OK flag before scsi target scanning

Kevin O'Connor (1):
      Cache boot-fail-wait to avoid romfile access after POST.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-05-28 12:19:02 +02:00
Gerd Hoffmann
5c75fb1002 update seabios to 1.7.2.1
Alex Williamson (3):
      seabios q35: Enable all PIRQn IRQs at startup
      seabios q35: Add new PCI slot to irq routing function
      seabios: Add a dummy PCI slot to irq mapping function

Avik Sil (1):
      USB-EHCI: Fix null pointer assignment

Kevin O'Connor (4):
      Update tools/acpi_extract.py to handle iasl 20130117 release.
      Fix Makefile - don't reference "out/" directly, instead use "$(OUT)".
      build: Don't require $(OUT) to be a sub-directory of the main
directory.
      Verify CC is valid during build tests.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-02-28 09:19:00 +01:00
Anthony Liguori
5f876756c5 bios: recompile BIOS
SeaBIOS is really close to spilling over to 256k.  Until we can better
handle migration across RAM block size changes, recompile SeaBIOS with
a compiler that causes the binary to still fit in 128k.

This was built with:

gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC)

On 64-bit Fedora 18.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-02-05 20:51:37 -06:00
Gerd Hoffmann
3588185b83 seabios: update to 1.7.2 release
Not that many changes as we have a pretty recent git snapshot in master
already:

Hannes Reinecke (1):
      megasas: Invert PCI device selection

Kevin O'Connor (2):
      Minor: Separate UUID display from F12 boot prompt.
      boot: Support "halt" in the boot order to prevent default boot attempts.

Laszlo Ersek (1):
      display_uuid(): fix incomplete check after the loop

Paolo Bonzini (1):
      vgabios: implement AX=1120H..1124H functions
2013-01-21 09:17:16 +01:00
Gerd Hoffmann
15faf946f7 Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901
git shortlog:

Kevin O'Connor (6):
      floppy: Minor - reduce handle_0e code size when CONFIG_FLOPPY is disabled.
      vga: Minor comment spelling fix.
      Don't recursively evaluate CFLAGS variables.
      Don't use gcc's -combine option.
      Add compile checking phase to build.
      acpi: Use prt_slot() macro to describe irq pins of first PCI device.

Laszlo Ersek (1):
      maininit(): print machine UUID under seabios version message

Paolo Bonzini (1):
      acpi: reintroduce LNKS

Paolo's patch fixes the FreeBSD boot failure.

Cc: qemu-stable@nongnu.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-20 08:19:40 +01:00
Gerd Hoffmann
ff1562908d seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059
This patch updates seabios to latest git master.  Changes:

  (1) q35 patches merged.
  (2) some acpi cleanups.
  (3) fixes irq 8 conflict.

(3) makes this a candidate for the stable branch

Cc: qemu-stable@nongnu.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-11 08:26:59 +01:00
Gerd Hoffmann
d7a51dbbaa seabios: update binaries in pc-bios/
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-30 16:25:50 +01:00
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
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
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
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
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
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
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
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
Gerd Hoffmann
907265dbb6 update pc-bios/bios.bin
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
Jes Sorensen
baef8a666c QEMU BOCHS bios patches to use maxcpus value.
Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27 14:09:14 -05:00
Anthony Liguori
b8c0e7d7c4 Fix non-ACPI Timer Interrupt Routing - v3
v1 -> v2 adds comment suggested by Ryan.
v2 -> v3 clarifies comment and corrects entry count

Signed-off-by: Beth Kon <eak@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16 08:28:14 -05:00
Anthony Liguori
e1e8f35a4f bios: Fix multiple calls into smbios_load_ex
We're marking the used entry bitmap in smbios_load_external() for each
type we check, regardless of whether we loaded anything.  This makes
subsequent calls behave as if we've already loaded the tables from qemu
and can result in missing tables (ex. multiple type4 entries on an SMP
guest).  Only mark the bitmap if we actually load something.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16 08:28:13 -05:00
Anthony Liguori
ef2039f17d Regenerate BIOS and add patches for -boot option
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16 08:28:12 -05:00
Anthony Liguori
00070396b0 bios: Use the correct mask to size the PCI option ROM BAR
Bit 0 is the enable bit, which we not only don't want to set, but
it will stick and make us think it's an I/O port resource.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-05-22 10:50:37 -05:00
Anthony Liguori
a6d6552426 Enable power button even generation.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-05-08 10:13:01 -05:00
aliguori
11c2fd3e01 sending NUMA topology to BIOS (Andre Przywara)
uses the QEMU firmware configuration interfacce to send the NUMA
topology to the BIOS, which has to setup the tables. Only one firmware
configuration channel is used.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7212 c046a42c-6fe2-441c-8c8c-71466251a162
2009-04-21 22:31:41 +00:00
aliguori
c6d2587121 Fix non-ACPI Timer Interrupt Routing (Beth Kon)
Replicate ACPI irq0->inti2 override in mp table for non-acpi case.

v1 -> v2 adds comment suggested by Ryan.

Signed-off-by: Beth Kon <eak@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7169 c046a42c-6fe2-441c-8c8c-71466251a162
2009-04-17 21:01:11 +00:00
aliguori
b6f6e3d3a7 qemu: Add support for SMBIOS command line otions (Alex Williamson)
Create a new -smbios option (x86-only) to allow binary SMBIOS entries
to be passed through to the BIOS or modify the default values of
individual fields of type 0 and 1 entries on the command line.

Binary SMBIOS entries can be generated as follows:

dmidecode -t 1 -u | grep $'^\t\t[^"]' | xargs -n1 | \
        perl -lne 'printf "%c", hex($_)' > smbios_type_1.bin

These can then be passed to the BIOS using this switch:

 -smbios file=smbios_type_1.bin

Command line generation supports the following syntax:

 -smbios type=0[,vendor=str][,version=str][,date=str][,release=%d.%d]
 -smbios type=1[,manufacturer=str][,product=str][,version=str][,serial=str]
              [,uuid=$(uuidgen)][,sku=str][,family=str]

For instance, to add a serial number to the type 1 table:

 -smbios type=1,serial=0123456789

Interface is extensible to support more fields/tables as needed.

aliguori: remove texi formatting from help output

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7163 c046a42c-6fe2-441c-8c8c-71466251a162
2009-04-17 18:59:56 +00:00
aliguori
8a92ea2f2c Allow additions of ACPI tables from command line (Gleb Natapov)
This is needed to dynamically add SLIC tables with Windows
activation keys.
    
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6650 c046a42c-6fe2-441c-8c8c-71466251a162
2009-02-27 20:12:36 +00:00
aliguori
6d2550ea50 Add BIOS patches necessary for hotplug (Marcelo Tosatti)
See each patch for appropriate Signed-off-by's.



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6590 c046a42c-6fe2-441c-8c8c-71466251a162
2009-02-11 15:11:43 +00:00
aliguori
7217e12403 Update PC BIOS to latest bits from Bochs
A number of patches were merged since we last pulled.

Thanks to Marcelo Tosatti for rebasing the existing patches and testing.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6589 c046a42c-6fe2-441c-8c8c-71466251a162
2009-02-11 14:55:47 +00:00