aboutsummaryrefslogtreecommitdiff
path: root/roms/seabios
AgeCommit message (Collapse)Author
2017-11-14seabios: update to 1.11 finalGerd Hoffmann
Update our pre-release seabios snapshot to the final release. git shortlog ============ Gerd Hoffmann (1): sercon: Disable ScreenAndDebug in case both serial console and serial debug are active Kevin O'Connor (2): timer: Avoid integer overflows in usec and nsec calculations docs: Note v1.11.0 release Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-10-19seabios: update to 1.11 prereleaseGerd Hoffmann
This is the seabios update for qemu 2.11. Well, almost, seabios is in freeze for the upcoming 1.11 release. This updates seabios to current git master snapshot, and it will be updated again to 1.11 final before the 2.11 release. With this two-step seabios gets some more wide testing before the actual release and the update to 1.11 final (which will most likely happen after qemu freeze) should have bugfix patches only. git shortlog ============ Aleksandr Bezzubikov (3): pci: refactor pci_find_capapibilty to get bdf as the first argument instead of the whole pci_device pci: add QEMU-specific PCI capability structure pci: enable RedHat PCI bridges to reserve additional resources on PCI init Ben Warren (5): QEMU DMA: Add DMA write capability romfile-loader: Switch to using named structs QEMU fw_cfg: Add command to write back address of file QEMU fw_cfg: Add functions for accessing files by key QEMU fw_cfg: Write fw_cfg back on S3 resume Daniel Verkamp (5): nvme: support NVMe 1.0 controllers nvme: extend command timeout to 5 seconds nvme: fix reversed loop condition in cmd_readwrite nvme: fix extraction of status code bits nvme: fix copy-paste mistake in comment Filippo Sironi (1): nvme: Use the Maximum Queue Entries Supported (MQES) to initialize I/O queues Gerd Hoffmann (7): usb: add hub portmap usb-xhci: use hub portmap std: add cp437 to unicode map kbd: make enqueue_key public, add ascii_to_keycode romfile: add support for constant files. paravirt: serial console configuration. add serial console support Igor Mammedov (1): drop "etc/boot-cpus" fw_cfg file and reuse legacy QEMU_CFG_NB_CPUS Jason Wang (1): virtio: IOMMU support Julian Stecklina (2): block: add NVMe boot support nvme: fix out of memory behavior Julius Werner (1): coreboot: Adapt to upstream CBMEM console changes Kevin O'Connor (26): usb: Make usb_time_sigatt variable static tpm: Add comment banners to tcg.c separating major parts of spec tpm: Don't call tpm_set_failure() from tpm12_get_capability() tpm: Move code around in tcgbios.c to keep like code together acpi: Generalize find_fadt() and find_tcpa_by_rsdp() into find_acpi_table() tpm: Don't call tpm_build_and_send_cmd() from tpm20_stirrandom() tpm: Rework tpm_build_and_send_cmd() into tpm_simple_cmd() ps2port: Disable keyboard/mouse prior to resetting ps2 controller docs: Note release dates for 1.10.1 and 1.10.2 resume: Don't attempt to use generic reboot mechanisms on QEMU boot: Increase description size in boot menu src: Minor - remove tab characters that slipped into SeaBIOS C code NVMe: Allow NVMe to be enabled on real hardware smm: Backup and restore A20 on an SMI based mode switch stacks: Make sure to initialize Call16Data stacks: Don't update the A20 settings if they haven't changed stacks: There is no need to disable NMI if it is already disabled vga: Fix bug in stdvga_get_linesize() docs: Fix typos in Memory_Model.md tcgbios: Fix use of unitialized variable boot: Rename drive_g to drive disk: Don't require the 'struct drive_s' to be in the f-segment block: Rename disk_op_s->drive_gf to drive_fl virtio: Allocate drive_s storage in low memory xhci: Build TRBs directly in xhci_trb_queue() xhci: Verify the device is still present in xhci_cmd_submit() Ladi Prosek (1): ahci: Set upper 32-bit registers to zero Patrick Rudolph (4): SeaVGABios/cbvga: Advertise correct pixel format SeaVGABIOS/vbe: Query driver for scanline pitch v2 SeaVGABios/cbvga: Use active mode to clear screen SeaVGABios/cbvga: Advertise compatible VESA modes Paul Menzel (1): vgasrc: Increase debug level Petr Berky (1): config: Add function to check if fw_cfg exists Ricardo Ribalda Delgado (1): serialio: Support for mmap serial ports Roman Kagan (11): blockcmd: accept only disks and CD-ROMs blockcmd: generic SCSI luns enumeration virtio-scsi: enumerate luns with REPORT LUNS esp-scsi: enumerate luns with REPORT LUNS usb-uas: enumerate luns with REPORT LUNS pvscsi: fix the comment about lun enumeration mpt-scsi: try to enumerate luns with REPORT LUNS lsi-scsi: reset in case of a serious problem lsi-scsi: try to enumerate luns with REPORT LUNS blockcmd: start REPORT_LUNS with the smallest buffer Revert "lsi-scsi: reset in case of a serious problem" Stefan Berger (1): tpm: Log TPM 2 digest structure in little endian format Youness Alaoui (1): nvme: Enable NVMe support for non-qemu hardware Zeh, Werner (1): ahci: Disable Native Command Queueing Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-02-28seabios: update to 1.10.2 releaseGerd Hoffmann
git shortlog rel-1.10.1..rel-1.10.2 =================================== Ben Warren (5): QEMU DMA: Add DMA write capability romfile-loader: Switch to using named structs QEMU fw_cfg: Add command to write back address of file QEMU fw_cfg: Add functions for accessing files by key QEMU fw_cfg: Write fw_cfg back on S3 resume Kevin O'Connor (1): ps2port: Disable keyboard/mouse prior to resetting ps2 controller Ladi Prosek (1): ahci: Set upper 32-bit registers to zero Paul Menzel (1): vgasrc: Increase debug level Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-11-22seabios: update to 1.10.1 stable releaseGerd Hoffmann
git shortlog rel-1.10.0..rel-1.10.1 =================================== Igor Mammedov (1): drop "etc/boot-cpus" fw_cfg file and reuse legacy QEMU_CFG_NB_CPUS Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-10-27seabios: update to 1.10.0 release.Gerd Hoffmann
New in this release: =================== * Initial support for Trusted Platform Module (TPM) version 2.0 * Several USB XHCI timing fixes on real hardware * Support for "LSI MPT Fusion" scsi controllers on QEMU * Support for virtio devices mapped above 4GB * Several bug fixes and code cleanups git shortlog rel-1.9.3..rel-1.10.0 ================================== Alex Williamson (1): fw/pci: Add support for mapping Intel IGD via QEMU Cao jin (1): Fix comment typo Cole Robinson (1): biostables: Support SMBIOS 2.6+ UUID format Dana Rubin (2): pvscsi: Fix incorrect arguments order in call to memalign_low pvscsi: Use high memory for rings Don Slutz (1): Support for booting from LSI Logic LSI53C1030, SAS1068, SAS1068e Gerd Hoffmann (4): ahci: set transfer mode according to the capabilities of connected drive virtio: uninline _vp_{read,write} virtio: pci cfg access virtio: fix virtio-pci Haozhong Zhang (1): fw/msr_feature_control: add support to set MSR_IA32_FEATURE_CONTROL Igor Mammedov (3): paravirt: disable legacy bios tables in case of more than 255 CPUs add helpers to read etc/boot-cpus at resume time support booting with more than 255 CPUs Kevin O'Connor (124): usb: Allow configuration of sigatt time (in etc/usb-time-sigatt) xhci: Check for device disconnects during USB2 reset polling sdcard: Only enable error_irq_enable for bits defined in SDHCI v1 spec sdcard: fix typo causing 32bit write to 16bit block_size field sdcard: Enable extra debugging on sdcard_waitw() timeout acpi_extract: Move main code to new function main() acpi_extract: Make the generated .hex files more human readable acpi_extract: Don't generate unused (and empty) q35-acpi-dsdt.hex file acpi: Don't build SSDT files on every build; store them in git acpi: Remove build check for iasl tpm: Move standard definitions from tcgbios.h to new file std/tcg.h util.h: Minor - HaveRunPost is in misc.c not resume.c tpm: Add "static" declaration to functions not used outside tcgbios.c tpm: Move code around in tcgbios.c tpm: Move error recovery from tpm_extend_acpi_log() to only caller tpm: Open code tpm_ipl() into callers tpm: Change tpm_add_measurement() to tpm_add_action() tpm: Move tpm_add_bootdevice() into callers tpm: Move tpm_start_option_rom_scan() and tpm_calling_int19h() into callers tpm: pcpes->event is a variable length array tpm: Don't pass entry_count around in parameters to/from tpm_extend_acpi_log() tpm: There is no need to pass pcrindex to hash_log_extend_event() tpm: Perform hashing separately from logging tpm: There is no need to pass event_length to hash/extend functions tpm: Avoid scatter-gather copying in build_and_send_cmd() tpm: Don't implement scatter-gather in transmit() tpm: Merge tpm_log_event() and tpm_extend_acpi_log() tpm: Merge tpm_log_extend_event() and tpm_extend(); extend before logging xhci: Wait for port enable even for USB3 devices xhci: Improve port status change debugging xhci: Disable slot on failed set_address command nmi: Don't try to switch onto extra stack in NMI handler scsi: Do not call printf() from scsi_is_ready() block: Report drive->sectors using "%u" instead of "%d" tpm: Add banner separating the TCG bios interface code from TCG menu code tpm: Avoid macro expansion of tpm request / response structs tpm: Simplify hardware probe and detection checks tpm: Add wrapper function tpmhw_set_timeouts() tpm: Move TPM hardware functions from tcgbios.c to hw/tpm_drivers.c tpm: Rework TPM interface shutdown support tpm: Simplify tcpa probe tpm: Introduce tpm_get_capability() helper function tpm: Eliminate response buffer parameter from build_and_send_cmd() tpm: Don't return a status from external bios measurement functions tpm: No need to check the return status of measurements tpm: Don't call tpm_set_failure() from tpm_log_extend_event() tpm: Don't use 16bit BIOS return codes in build_and_send_cmd() tpm: Don't use 16bit BIOS return codes in tpm_log_event() tpm: Don't use 16bit BIOS return codes in tpmhw_* functions tpm: Don't use 16bit BIOS return codes in TPM menu functions usb: Remove usbdev->slotid field coreboot: Check for unaligned cbfs header resume: Make KVM soft reboot loop detection more flexible post: Always set HaveRunPost prior to setting any other global variable kbd: Don't treat scancode and asciicode as separate values kbd: Refactor capslock and numlock handling ehci: Only delay UHCI/OHCI port scan until after EHCI setup completes usb: Eliminate USB controller setup thread pci: Add helper functions for internal driver BAR handling ahci: Convert to new PCI BAR helper functions ata: Convert to new PCI BAR helper functions esp-scsi: Convert to new PCI BAR helper functions lsi-scsi: Convert to new PCI BAR helper functions megasas: Convert to new PCI BAR helper functions pvscsi: Convert to new PCI BAR helper functions sdcard: Convert to new PCI BAR helper functions ehci: Convert to new PCI BAR helper functions ohci: Convert to new PCI BAR helper functions uhci: Convert to new PCI BAR helper functions xhci: Convert to new PCI BAR helper functions virtio: Convert to new PCI BAR helper functions pci: Consistently set pci->have_drivers for devices with internal drivers pci: Implement '%pP' printf handler for 'struct pci_device' pointers pci: Move code in pci.c that is specific to pciinit.c to pciinit.c pci: Split low-level pci code from higher-level 'struct pci_device' code scsi: Always use MAXDESCSIZE when building drive description block: Move drive setup to new function block_setup() tpm: Unify tpm_fill_hash()/tpm_log_extend_event() and use in BIOS interface docs: Note release date of 1.9.1 build: fix .text section address alignment tpm: Write logs in TPM 2 format mpt-scsi: Declare 'int i' outside of for loop for older compilers block: Move send_disk_op() from block.c to disk.c disk: Avoid stack_hop() path if already on the extra stack optionroms: Drop support for CONFIG_OPTIONROMS_DEPLOYED shadow: Batch PCI config writes virtio: Use threads when scanning for virtio devices scsi: Launch a thread when scanning for drives in the scsi drivers docs: Note release date of 1.9.2 usb-xhci: Remove unused const variables tcgbios: Remove unused const variable vgabios: Remove special case of dh==0xff in handle_1013() vgabios: Don't check for special case of page==0xff on external calls vgabios: Simplify set_cursor_pos() docs: Note release date of 1.9.3 vgabios: Simplify scroll logic blockcmd: CMD_SCSI op is only used in 32bit mode swcursor: Move swcursor code from vgafb.c to new file swcursor.c swcursor: Concentrate swcursor logic in swcursor.c vgafb: Move header definitions from vgabios.h to new file vgafb.h vgainit: Move video param setup to stdvga_build_video_param() vgautil: Add new header file with misc function and variable definitions vgautil: Move generic definitions from stdvga.h to vgautil.h vgautil: Move definitions from cbvga.h and clext.h to vgautil.h version: Update header files now that version.c is not auto generated checkstack: Handle conditional checks at start of functions tpm: Append to TPM2 log the hashes used for PCR extension ps2: Remove stale check for timeout warning on reset pic: The default hardware interrupt handlers should not take a parameter kbd: Implement 101-key keyboard keycode mapping kbd: Implement extended keycode mappings for keypad-enter and keypad-/ kbd: Suppress keys without mappings kbd: Merge bda->kbd_flag0 and bda->kbd_flag1 kbd: Extract out shift flag setting into new function kbd: Move checking for special keys in __process_keys() into switch kbd: Ignore fake shift keys usb-hid: Generate Ctrl+Break and Alt+SysReq keys kbd: Generate interrupt events for SysReq, PrtScr, and Break post: Map int 0x05 to entry point kbd: Move extended and release events out of special key detection switch build: Be sure to also include out/*.d in Makefile smp: consolidate CPU APIC ID detection and accounting build: Add -fno-pie to the gcc flags when available docs: Note v1.10.0 release Marcel Apfelbaum (2): fw/pci: do not automatically allocate IO region for PCIe bridges fw/pci: add Q35 S3 support Matt DeVillier (1): sdcard: skip detection of PCI sdhci controllers if etc/sdcard used Paolo Bonzini (1): smp: restore MSRs on S3 resume Piotr Król (1): docs: fix various typos and inconsistency Roger Pau Monne (1): build: fix typo in buildversion.py Stefan Berger (34): tpm: Temporarily deactivate the TPM in case of failure tpm: Refactor function building TPM commands tpm: Refactor the parameters being passed to tpm_extend_acpi_log tpm: Refactor hash_log_event BIOS interface function tpm: Refactor hash_log_extend_event tpm: fix compiler warning with older gcc versions tpm: Drop code using the TPM for sha1 tpm: Set timeouts and durations to microsecond values tpm: Cache all log related pointers in tpm_state tpm: Refactor pass_through_to_tpm tpm: Rename remaining interrupt functions tpm: Remove check for working TPM from TPM interrupt handler tpm: Check length parameter of the array tpm: Add a menu for TPM configuration tpm: Copy digest into HashLogExentEvent response tpm: Move assert_physical_presence and dependencies tpm: Add support for harware physical presence tpm: Rework the assertion of physical presence tpm: Remove usage of PP_CMD_ENABLE from all but one place tpm: Do not set TPM in failure mode if menu command fails tpm: Extend TPM TIS with TPM 2 support. tpm: Factor out tpm_extend tpm: Prepare code for TPM 2 functions tpm: Implement tpm20_startup and tpm20_s3_resume tpm: Implement tpm20_set_timeouts tpm: Implement tpm20_prepboot tpm: Implement tpm20_extend tpm: Implement tpm20_menu tpm: Implement TPM 2's tpm_set_failure part tpm: Filter TPM commands in passthrough API tpm: Retrieve the PCR Bank configuration tpm: Restructure tpm20_extend to use buffer and take hash as parameter tpm: Refactor tpml_digest_values_sha1 structure tpm: Extend tpm20_extend to support extending to multiple PCR banks Zheng Bao (1): splash: Skip the RGB555 mode Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-07-04seabios: update submodule from 1.9.1 to 1.9.3Gerd Hoffmann
git shortlog ============ Alex Williamson (1): fw/pci: Add support for mapping Intel IGD via QEMU Haozhong Zhang (1): fw/msr_feature_control: add support to set MSR_IA32_FEATURE_CONTROL Kevin O'Connor (1): build: fix .text section address alignment Marcel Apfelbaum (1): fw/pci: add Q35 S3 support Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-03-01seabios: update to 1.9.1 stable releaseGerd Hoffmann
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-01-22seabios: fix submoduleGerd Hoffmann
Commit "36f96c4 target-i386: Add support to migrate vcpu's TSC rate" updates roms/seabios, appearently by mistake. Revert this. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 1453460391-7664-1-git-send-email-kraxel@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-01-21target-i386: Add support to migrate vcpu's TSC rateHaozhong Zhang
This patch enables migrating vcpu's TSC rate. If KVM on the destination machine supports TSC scaling, guest programs will observe a consistent TSC rate across the migration. If TSC scaling is not supported on the destination machine, the migration will not be aborted and QEMU on the destination will not set vcpu's TSC rate to the migrated value. If vcpu's TSC rate specified by CPU option 'tsc-freq' on the destination machine is inconsistent with the migrated TSC rate, the migration will be aborted. For backwards compatibility, the migration of vcpu's TSC rate is disabled on pc-*-2.5 and older machine types. Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> [ehabkost: Rewrote comment at kvm_arch_put_registers()] [ehabkost: Moved compat code to pc-2.5] Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2016-01-05seabios: update submodule to release 1.9.0Gerd Hoffmann
Highlights / user visible changes in seabios: * boot menu key is ESC now. * virtio 1.0 support. * sdcard support. * fw_cfg dma suport. * usual share of bugfixes ;) In vgabios: * Emulates leal instruction. Works around a bug in old x86emu versions, which makes old xorg vesa drivers work (RHEL-5 for example). full shortlog rel-1.8.2..rel-1.9.0 ---------------------------------- Ameya Palande (1): x86: add barrier to read{b,w,l} and write{b,w,l} functions Andreas Färber (1): checkrom: Fix typo in error message Chen Fan (1): pci: enable SERR# for error forwarding in bridge control register Gerd Hoffmann (28): vga: simplify vga builds vga: rework virtio-vga support vga: add virtio-vga to kconfig pci: allow to loop over capabilities virtio: run drivers in 32bit mode virtio: add struct vp_device virtio: pass struct pci_device to vp_init_simple virtio: add version 1.0 structs and #defines virtio: add version 0.9.5 struct virtio: find version 1.0 virtio capabilities virtio: create vp_cap struct for legacy bar virtio: add read/write functions and macros virtio: make features 64bit, support version 1.0 features virtio: add version 1.0 support to vp_{get,set}_status virtio: add version 1.0 support to vp_get_isr virtio: add version 1.0 support to vp_reset virtio: add version 1.0 support to vp_notify virtio: remove unused vp_del_vq virtio: add version 1.0 support to vp_find_vq virtio-scsi: fix initialization for version 1.0 virtio-blk: fix initialization for version 1.0 virtio: use version 1.0 if available (flip the big switch) virtio: also probe version 1.0 pci ids virtio: legacy cleanup virtio-blk: 32bit cleanup virtio-scsi: 32bit cleanup virtio-ring: 32bit cleanup virtio-pci: use high memory for rings Julius Werner (1): xhci: Count new Max Scratchpad Bufs bits from XHCI 1.1 Kevin O'Connor (126): docs: add page for SeaVGABIOS docs: Add page describing the patch contribution process docs: Add page on available CBFS/fw_cfg runtime config files docs: Prefer triple backticks to multiple lines with single backticks smp: Fix smp race introduced in 0673b787 docs: Note release date of 1.8.1 vgabios: On bda_save_restore() the saved vbe_mode also has flags in it vgabios: Don't use extra stack if it appears a modern OS is in use docs: Clarify that pci-optionrom-exec doesn't apply to roms in cbfs checkstack: Replace function information tuple with class checkstack: Simplify yield calculations checkstack: Prefer passing "function" class instead of function address smbios: Use integer signature instead of string signature vgabios: Don't use "smsww" instruction - it confuses x86emu vgabios: Add config option for assembler fixups vgabios: Emulate "leal" instruction checkstack: Minor - continue if not a regular asm line Don't forward declare functions with "inline" in headers build: Support "make VERSION=xyz" to override the default build version tcg: Use seabios setup()/prepboot() calling convention for tcg build: CONFIG_VGA_FIXUP_ASM should depend on CONFIG_BUILD_VGABIOS bootorder: Update "extra pci root" buses bootorder format to match qemu Make sure all code checks for malloc failures docs: Note release date of 1.8.2 block: Split process_op() command dispatch up into multiple functions block: Introduce default_process_op() with common command handling codes block: Route scsi style commands through 'struct disk_op_s' blockcmd: Introduce scsi_fill_cmd() ata: Handle ATA ATAPI drives directly via 'struct disk_op_s' requests ahci: Handle AHCI ATAPI drives directly via 'struct disk_op_s' requests usb-msc: Handle USB drives directly via 'struct disk_op_s' requests usb-uas: Handle USB drives directly via 'struct disk_op_s' requests lsi-scsi: Handle LSI drives directly via 'struct disk_op_s' requests esp-scsi: Handle ESP drives directly via 'struct disk_op_s' requests megasas: Handle Megasas drives directly via 'struct disk_op_s' requests virtio-scsi: Handle virtio drives directly via 'struct disk_op_s' requests pvscsi: Move pvscsi_fill_req() code into pvscsi_cmd() pvscsi: Handle pvscsi drives directly via 'struct disk_op_s' requests blockcmd: Remove unused scsi_process_op() and cdb_cmd_data() blockcmd: Convert cdb_is_read() to scsi_is_read() block: Rename process_XXX_op() functions to XXX_process_op() coreboot: Try to auto-detect if the CBFS anchor pointer is a relative pointer ps2: Support mode for polling the PS2 port instead of using irqs ata: Make sure "chanid" is relative to PCI device for bootorder file Don't enable interrupts prior to IVT and PIC setup ps2: Don't wait 100ms to discard possible extra reset receive byte timer: Delay timestamp counter init until after pmtimer is probed timer: Add CONFIG_TSC_TIMER build option to disable the CPU TSC timer ramdisk: Allow ramdisk support (CONFIG_FLASH_FLOPPY) under QEMU Minor - move declaration of CDRom_locks to code that uses it smm: ignore bits 16,18-31 of SMM revision ID at runtime too vgafb: Minor - move gfx_common() variables outside of switch statement sdcard: Check if card is present before sending commands to card sdcard: Implement controller frequency setting according to sdhci spec sdcard: Make sure controller support 3.3V before enabling it sdcard: Set timeout control register during init (to max allowed timeout) sdcard: Improve SD card initialization command sequence sdcard: Add proper delays during card power up mptable: Don't create mptable if it is very large optionroms: Don't run option rom on PCI bar if CBFS/fw_cfg version exists edd: Pass the segment/offset from int 1348 calls using a 'struct segoff_s' edd: Reduce parameters to fill_generic_edd() Move CanInterrupt check to check_irqs() Call cpu_relax() if yielding prior to interrupts being enabled sdcard: Fix typo - use sdcard_pio() instead of sdcard_pio_app() sdcard: Fill command bits according to spec sdcard: Support SDHCI v3.00 spec clock setting sdcard: Move power setup to new function sdcard_set_power() sdcard: Power controller up to maximum voltage supported sdcard: Power down controller on failure sdcard: The card should never be in a busy state at start of sdcard_pio() sdcard: Implement timeout on every block read in sdcard_pio_transfer() sdcard: Rename waitw() to sdcard_waitw() and simplify sdcard: Perform a controller reset at start of init sdcard: Check for error events during sdcard_pio() sdcard: Initial support for MMC cards sdcard: Allow the sdcard driver to run on real hardware rtc: Support disabling the RTC timer irq support Add minimal support for machines without hardware interrupts ps2: Eliminate "etc/ps2-poll-only"; use CONFIG_HARDWARE_IRQ instead sdcard: Allow sdcard addresses to be specified in CBFS files xhci: Minor - add USB port type comments to xhci_hub_reset() docs: Don't use an add-symbol-file offset when describing gdb debugging rtc: Disable NMI in rtc_mask() sdcard: Move sdcard_set_frequency()/sdcard_set_power() in sdcard.c sdcard: Move frequency setting into sdcard_card_setup() sdcard: Move drive registration to sdcard_card_setup() sdcard: Turn card_type into a bitmap and store if card is MMC type sdcard: Display sdcard product name in boot menu sdcard: Obtain card capacity and report it on the boot menu megasas: Use outl() on MFI_IDB register minor - correct spelling error in comment Simplify transition16/32 assembler code docs: Minor - add "code relocation" link to "Execution and code flow" document Unify smm/sloppy variants of call32_prep/post and call16_helper Rename Call32Data to Call16Data Unify inline assembler in variants of call16 functions Unify call32_sloppy() and call32() Use transition32_nmi_off from call32() and call16_back() Consolidate code16*() functions Always enable caching on transition32; backup/restore cr0 on call32 e820: Introduce e820_remove() and avoid exporting E820_HOLE e820: Rename memmap.c to e820map.c and use consistent "e820_" prefix e820: Update debugging messages to report 64bit values virtio: Simplify vring alignment code virtio: Move standard definitions from virtio-ring.h to standard headers malloc: Use consistent naming for internal low-level "alloc" functions malloc: Introduce common helper alloc_new_detail() malloc: Add warning if free() called on invalid memory malloc: Don't mix virtual and physical addresses memmap: Introduce SYMBOL() macro to access linker script symbols build: Rework version generation; don't allow make version override build: Report gcc and binutils versions in debug log build: Generate "reproducible" version strings on "clean" builds stacks: Use macro wrappers for call32() and stack_hop_back() malloc: Rename csm_malloc_preinit() to malloc_csm_preinit() build: Be more permissive in buildversion.py tool version scan docs: Document 'make EXTRAVERSION=xyz' and scripts/tarball.sh build: Allow official tarball builds to be considered "clean" coreboot: Minor - avoid K&R style function declaration biostables: Minor - fix incorrect indentation virtio: Minor - replace tab characters with space docs: Minor - replace seavgabios text in Build_overview.md with link buildversion: Avoid subprocess.check_output() as that requires python2.7 buildversion: Add debugging messages docs: Note v1.9.0 release Kyösti Mälkki (1): PCI SDHCI driver: Fix base address Magnus Granberg (1): build: use -fstack-check=no when available Marc Marí (1): Add QEMU fw_cfg DMA interface 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 Paolo Bonzini (4): boot.c: delay exiting boot if menu key is ESC boot: switch default menu key to ESC smm: ignore bits 16,18-31 of SMM revision ID smm: fix outl argument order Paulo Alcantara (1): ich9: initialise RCBA register through LPC interface Quan Xu (1): make SeaBios compatible with Xen vTPM. Stefan Berger (9): Add an implementation of a TPM TIS driver Implementation of the TCG BIOS extensions Support for BIOS interrupt handler Add 'measurement' code to the BIOS tpm: Introduce a #define for command tag tpm: Be consistent with array sizes in tcgbios.c tpm: clean up parameters to build_and_send_cmd tpm: Clean up in tcgbios.h tpm: Move call to tpm_option_rom into init_optionrom Stefan Weil (2): megasas: Fix outw, outl argument order Fix typos found by codespell Vladimir Serbinenko (3): ahci: Ignore max_ports. Link rom.o with -N option. Add multiboot support. tpearson@raptorengineeringinc.com (1): Add an option to only execute option ROMs contained in CBFS Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2015-06-17update seabios submodule to release 1.8.2Gerd Hoffmann
git shortlog rel-1.8.1..rel-1.8.2 ================================= Gerd Hoffmann (1): vga: rework virtio-vga support Kevin O'Connor (5): vgabios: Add config option for assembler fixups vgabios: Emulate "leal" instruction build: Support "make VERSION=xyz" to override the default build version build: CONFIG_VGA_FIXUP_ASM should depend on CONFIG_BUILD_VGABIOS vgabios: On bda_save_restore() the saved vbe_mode also has flags in it Paolo Bonzini (1): smm: ignore bits 16,18-31 of SMM revision ID Vladimir Serbinenko (1): ahci: Ignore max_ports. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2015-03-16seabios: update to 1.8.1 stable releaseGerd Hoffmann
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-02-19seabios: update to 1.8.0 releaseGerd Hoffmann
'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>
2014-11-13update seabios to 1.7.5.1 stable releaseGerd Hoffmann
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-06-02seabios: update to 1.7.5 finalGerd Hoffmann
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-05-15seabios: update to 1.7.5-rc1Gerd Hoffmann
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-02-03Update seabios submodule to 1.7.4Gerd Hoffmann
Not that many changes as we already have a git snapshot pretty close to final 1.7.4 in the tree. Most notably change is the vgabios change which fixes the windows guest regression. Full git shortlog: Gerd Hoffmann (2): run qemu_cfg_e820 only for CONFIG_QEMU=y change boot order load log level Kevin O'Connor (10): Minor - move sgdt/lgdt macros from stacks.c to x86.h. Separate out sec32init sections even when not doing code relocation. floppy: Fix incorrect LBA to CHS translation. floppy: Fix accesses to DOR register. vgabios: Avoid memory references via %esp register in vgabios. Small improvements to irqentry_extrastack assembler. floppy: Encode command and flags into single value in floppy pio code. On disk format request, verify cylinders and pass to driver. floppy: Implement cylinder seeking when accessing a different cylinder. coreboot: Make sure to print the SeaBIOS version in cbmem debug output. Kyösti Mälkki (1): Fix CBMEM console overflow
2013-12-06roms: update seabios submodule to 31b8b4eea9d9ad58a73b22a6060d3ac1c419c26dGerd Hoffmann
Updates seabios to git master snapshot. seabios is in freeze now, update to final 1.7.4 will follow later this year. Summary of major changes: * Support for acpi table loading from qemu. * Support for the xhci host adapter. * Support for the pvscsi HBA. * Various minor bug fixes. * Lots of cleanups. Full shortlog since 1.7.3 (note that some of these changes have been cherry-picked into 1.7.3-stable): Evgeny Budilovsky (1): Add pvscsi boot support Gerd Hoffmann (27): coreboot: add cbmem console support Add CONFIG_DEBUG_COREBOOT config option apm: fix shutdown ahci: add missing check for allocation failure bochsvga: fallback to stdvga if dispi interface isn't present Add generic qemu detection Drop coreboot qemu detection Add qemu detection to csm uas: add (temporary) superspeed stopgap usb: add usb_update_pipe() usb: add xhci support fix buildversion.sh build: simplify cross builds build: create output dirs in do-kconfig build: explicitly set ROM size Add qemu_cfg_e820 function. Add support for etc/e820 fw_cfg file pci: don't reorder entries when moving to 64bit list pci: don't map usb host adapters above 4G pci: align 64bit pci regions to 1G pci: tweak + comment minimum allocations pci: log pci windows pci: map 64-bit BARs at location provided by emulator ahci: zap real mode macros ahci: remote some parentheses ahci: alloc structs in high memory add hw/serialio.c to SRC32SEG Jonathan A. Kollasch (1): vgahooks: add SM720 VGA BIOS hooks for WIN Enterprises MB-60470 Kevin O'Connor (80): Fix USB EHCI detection that was broken in hlist conversion of PCIDevices. Update README to include info on VARLOW variables. PIC code cleanups. Move internal timer code from clock.c to a new file timer.c. Don't pass khz to pmtimer_setup - it's always PM_TIMER_FREQUENCY. Add helper functions to convert timer irqs to milliseconds. Improve accuracy of internal timers. Rename cpu_khz to TimerKHz. Shift CPU TSC down to reduce need for 64bit variables. Rename check_timer() function (and similar) to irqtimer_check(). Rename check_tsc() (and similar) to timer_check() and use u32. Separate out timer setup code. Unify pmtimer_read() and pittimer_read() code. Default unused UMB areas to be read-only. Add missing mathcp_setup() call to CSM code. Fix bug in CBFS file walking with compressed files. Support custom boot menu prompt and custom boot menu key. Minor cleanups to smm assembler. Add config option to support memory allocations in 9-segment. Minor - no need to declare MaxCountCPUs as VARFSEG. Minor - simplify rom_reserve(). Rename tools/ directory to scripts/ directory. Update kconfig to latest version. build: Don't use vpath makefile directive. Move code centered around specific hardware devices to src/hw/ Move code cenetered around firmware initialization to src/fw/ build: Reorder makefile source list to group like files together. README: Update readme to note scripts/ directory rename and vgasrc/ directory. vgabios: Rename stdvga_bpp_factor to stdvga_vram_ratio. vgabios: Limit the range of the VBE number of "pages" parameter. readme: Minor - fix typo in readme. Split x86 specific functions out of util.c/h to new files x86.c/h. Move keyboard calling code from util.c to boot.c. Rename util.c to string.c and introduce string.h. build: Perform compile checking on vgasrc code. Move stacks.c definitions from util.h to new file stacks.h. Move romfile definitions from util.h to new file romfile.h. Move malloc code from pmm.c to new files malloc.c and malloc.h. Move function definitions for output.c from util.h to new file output.h. Move definition of struct segoff_s from farptr.h to types.h. build: Fix import of gcc dependency files. Move pirtable definitions from hw/pci.h to std/pirtable.h and util.h. Move optionroms.h to std/optionrom.h and util.h. Move vbe.h to std/vbe.h. Move fw/LegacyBios.h to std/LegacyBios.h and remove csm.h. Move fw/smbios.h to std/smbios.h. Move fw/mptable.h to std/mptable.h. Move fw/acpi.h to std/acpi.h. Move pnpbios definition to new file std/pnpbios.h. Move pmm definitions to new file std/pmm.h. Split disk.h into block.h and std/disk.h. Move standard bda type info from biosvar.h to std/bda.h. Merge bmp.h, boot.h, jpeg.h, and post.h into util.h. Sort the sections of util.h. Move PIT setup from clock.c to hw/timer.c. Rename hw/cmos.h to hw/rtc.h and copy RTC code from clock.c to hw/rtc.c. Move dma code to new file hw/dma.c. Remove ioport.h; disperse its contents to other header files. Minor - update file comments in src/malloc.c. Rename fields of 'struct chs_s' and use in floppy lba2chs(). Rearrange stack_hop_back() call in wait_irq, check_irqs, and _farcall16. Minor - move call16 assembler in romlayout.S. Make __call16 use C calling convention and support two passed parameters. Update _farcall16() to pass segment of callregs explicitly. Support call16() calls after entering 32bit mode from call32(). Run ahci code entirely in 32bit mode. Build different final files for QEMU, coreboot, and CSM. Convert op->drive_g from a 16bit pointer to a 32 bit "GLOBALFLAT" pointer. megasas: Don't attempt to access 'struct pci_device' at runtime. Minor - eliminate the SET_GLOBAL macro. Move low-level hardware writing from output.c to new file hw/serialio.c. vgabios: Load the DAC palette in "packed" modes on Cirrus and BochsVGA. vgabios: Support custom fonts in vga framebuffer text writing. vgabios: Add bochsvga "HDTV" resolutions. vgabios: Avoid possible divide by zero in bochsvga_set_displaystart. vgabios: Work around lack of support for "calll" in x86emu emulation. Minor - update file comment on bootsplash.c. vgabios: Support allocating an extra stack for vgabios calls and default on. vgabios: Move initialization code to new file vgainit.c. floppy: Minor - add warnings if timeouts occur. Michael S. Tsirkin (6): acpi: sync FADT flags from PIIX4 to Q35 acpi_extract.py: document DEVICE directives biostables: support looking up RSDP romfile_loader: utility to patch in-memory ROM files acpi: load and link tables through romfile loader acpi: strip compiler info in built-in DSDT if any Paul Menzel (2): ACPI DSDT: Make control method `IQCR` serialized hw/usb-xhci.c: Code refactoring to not override initializers in `speed_from_xhci[16]` Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30update seabios from 1.7.2.2 to 1.7.3.2Gerd Hoffmann
'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-07-29spapr: Rename 'dprintf' to 'DPRINTF'Peter Maydell
'dprintf' is the name of a POSIX standard function so we should not be stealing it for our debug macro. Rename to 'DPRINTF' (in line with a number of other source files.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Andreas Färber <afaerber@suse.de> Reviewed-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Acked-by: Richard Henderson <rth@twiddle.net> Acked-by: Kevin Wolf <kwolf@redhat.com> Message-id: 1375100199-13934-5-git-send-email-peter.maydell@linaro.org Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-07-24seabios: update to 1.7.3Gerd Hoffmann
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-05-28update seabios to release 1.7.2.2Gerd Hoffmann
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-02-28update seabios to 1.7.2.1Gerd Hoffmann
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-01-21seabios: update to 1.7.2 releaseGerd Hoffmann
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
2012-12-20Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901Gerd Hoffmann
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-11seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059Gerd Hoffmann
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-11-30seabios: update to b1c35f2b28cc0c94ebed8176ff61ac0e0b377798Gerd Hoffmann
This patch updates the seabios submodule to commit b1c35f2b28cc0c94ebed8176ff61ac0e0b377798. Most important change is that seabios sets the busmaster bit in the pci config space for the lsi and esp scsi host adapters. Since commit 1c380f9460522f32c8dd2577b2a53d518ec91c6d qemu is strict here and disallows any dma access when the bit is clear. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-08-07update seabios to latest masterGerd Hoffmann
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-04-17seabios: update to 1.7.0Gerd Hoffmann
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-03-12Update seabios to 1.6.3.2Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-01-15seabios: Update to release 1.6.3.1Jan Kiszka
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>
2011-08-10seabios: update to masterGerd Hoffmann
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-04-13Revert SeaBIOS change due to overzealous commit -aAnthony Liguori
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-04-13lm32: fix build breakage due to uninitialized variable 'r'Anthony Liguori
gcc 4.5.2 correctly complains that r is potentially uninitialized in this function. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-03-21seabios: update to latest gitAnthony Liguori
- 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-02-01Update SeaBIOS to 0.6.1.2Anthony Liguori
- 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>
2010-10-25seabios: Update to 0.6.1Anthony Liguori
- 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-07-13Update SeaBIOSAnthony Liguori
- 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-05-14Update SeaBIOSAnthony Liguori
- 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-03-05Update to latest SeaBIOSAnthony Liguori
- 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-02-23pc-bios: update to latest SeabiosAnthony Liguori
- 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-03seabios: use correct submodule hashAnthony Liguori
Commit 392ecf543dd2b219828374850d833296a55567ea 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-01-26virtio-console: Automatically use virtio-serial-bus for the older ↵Amit Shah
-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-11Update to SeaBIOS 0.5.1Anthony Liguori
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>
2009-12-19Update to SeaBIOS 0.5.0Anthony Liguori
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-18Update SeaBIOS to include PCI based option rom loadingAnthony Liguori
Also remove pcbios from the tree. It will no longer work. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-11-23Update SeaBIOSAnthony Liguori
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-17Update SeaBIOS to latestAnthony Liguori
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-30Update SeaBIOS to latest upstreamAnthony Liguori
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-09-04Bring pcbios, seabios, and vgabios into the tree as git submodules. Right now,Anthony Liguori
they aren't integrated into the build but we can do that incrementally. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>