From ad30c0b0d86957a0be41dcbcd23659c18a61065c Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 17 Dec 2015 10:03:41 +0100 Subject: seabios: update submodule to release 1.9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- roms/seabios | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roms/seabios b/roms/seabios index 33fbe13a3e..01a84bea2d 160000 --- a/roms/seabios +++ b/roms/seabios @@ -1 +1 @@ -Subproject commit 33fbe13a3e2a01e0ba1087a8feed801a0451db21 +Subproject commit 01a84bea2d28a19d2405c1ecac4bdef17683cc0c -- cgit v1.2.3 From 437b8d8c595b6a3c15cced28a8c9c90b8eda4292 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 17 Dec 2015 10:32:24 +0100 Subject: seabios: use new EXTRAVERSION to tag qemu builds Signed-off-by: Gerd Hoffmann --- roms/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roms/Makefile b/roms/Makefile index 09e33b59e5..01f270127f 100644 --- a/roms/Makefile +++ b/roms/Makefile @@ -35,7 +35,7 @@ powerpc_cross_prefix := $(call find-cross-prefix,powerpc) x86_64_cross_prefix := $(call find-cross-prefix,x86_64) # tag our seabios builds -SEABIOS_VERSION="$(shell cd seabios; git describe --tags --long) by qemu-project.org" +SEABIOS_EXTRAVERSION="-prebuilt.qemu-project.org" # # EfiRom utility is shipped with edk2 / tianocore, in BaseTools/ @@ -78,12 +78,12 @@ build-seabios-config-%: config.% mkdir -p seabios/builds/$* cp $< seabios/builds/$*/.config $(MAKE) -C seabios \ - VERSION=$(SEABIOS_VERSION) \ + EXTRAVERSION=$(SEABIOS_EXTRAVERSION) \ CROSS_COMPILE=$(x86_64_cross_prefix) \ KCONFIG_CONFIG=$(CURDIR)/seabios/builds/$*/.config \ OUT=$(CURDIR)/seabios/builds/$*/ oldnoconfig $(MAKE) -C seabios \ - VERSION=$(SEABIOS_VERSION) \ + EXTRAVERSION=$(SEABIOS_EXTRAVERSION) \ CROSS_COMPILE=$(x86_64_cross_prefix) \ KCONFIG_CONFIG=$(CURDIR)/seabios/builds/$*/.config \ OUT=$(CURDIR)/seabios/builds/$*/ all -- cgit v1.2.3 From cae7e84eb760dd02c1508f0e6fa0fd3c86fa3033 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 17 Dec 2015 10:28:34 +0100 Subject: seabios: update 128k bios config Turn off OHCI + TPM support to keep the size below 128k. Signed-off-by: Gerd Hoffmann --- roms/config.seabios-128k | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roms/config.seabios-128k b/roms/config.seabios-128k index c719ba6892..0a9da77a5e 100644 --- a/roms/config.seabios-128k +++ b/roms/config.seabios-128k @@ -3,6 +3,8 @@ CONFIG_QEMU=y CONFIG_ROM_SIZE=128 CONFIG_XEN=n +CONFIG_USB_OHCI=n CONFIG_USB_XHCI=n CONFIG_USB_UAS=n CONFIG_SDCARD=n +CONFIG_TCGBIOS=n -- cgit v1.2.3 From bf864863f63d0f631eb61981826c6ccc8ec2c05b Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 17 Dec 2015 10:51:41 +0100 Subject: seabios: stop updating aml files ACPI aml files traditionally have been managed in the seabios repo. In qemu version 2.0 we've switched over to have qemu generate the acpi tables and provide them to the firmware via fw_cfg. The old aml files are still there and used for old machine types. Well, actually the q35 file only, the piix4 version is compiled into seabios (unless built with CONFIG_ACPI_DSDT=n) and is there for reference only. The aml files havn't been touched for a long time, and given that new features requiring acpi changes are typically only added to new machine types this is unlikely to change in the future. So stop updating them. That allows to cleanup things a bit on the seabios side in the future. Signed-off-by: Gerd Hoffmann --- roms/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/roms/Makefile b/roms/Makefile index 01f270127f..7bd1252737 100644 --- a/roms/Makefile +++ b/roms/Makefile @@ -64,7 +64,6 @@ default: bios: build-seabios-config-seabios-128k build-seabios-config-seabios-256k cp seabios/builds/seabios-128k/bios.bin ../pc-bios/bios.bin cp seabios/builds/seabios-256k/bios.bin ../pc-bios/bios-256k.bin - cp seabios/builds/seabios-256k/src/fw/*dsdt.aml ../pc-bios/ seavgabios: $(patsubst %,seavgabios-%,$(vgabios_variants)) -- cgit v1.2.3 From 4b9294c00e08011793f8869afd893e2fb49dacb3 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 17 Dec 2015 11:20:24 +0100 Subject: seabios: update binaries to release 1.9.0 Signed-off-by: Gerd Hoffmann --- pc-bios/bios-256k.bin | Bin 262144 -> 262144 bytes pc-bios/bios.bin | Bin 131072 -> 131072 bytes pc-bios/vgabios-cirrus.bin | Bin 38400 -> 38400 bytes pc-bios/vgabios-qxl.bin | Bin 38400 -> 38912 bytes pc-bios/vgabios-stdvga.bin | Bin 38400 -> 38912 bytes pc-bios/vgabios-virtio.bin | Bin 38400 -> 38912 bytes pc-bios/vgabios-vmware.bin | Bin 38400 -> 38912 bytes pc-bios/vgabios.bin | Bin 38400 -> 38400 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/pc-bios/bios-256k.bin b/pc-bios/bios-256k.bin index f86adff128..1c5090427d 100644 Binary files a/pc-bios/bios-256k.bin and b/pc-bios/bios-256k.bin differ diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin index db835fb5f2..742a773632 100644 Binary files a/pc-bios/bios.bin and b/pc-bios/bios.bin differ diff --git a/pc-bios/vgabios-cirrus.bin b/pc-bios/vgabios-cirrus.bin index dde8502909..4d35b2e657 100644 Binary files a/pc-bios/vgabios-cirrus.bin and b/pc-bios/vgabios-cirrus.bin differ diff --git a/pc-bios/vgabios-qxl.bin b/pc-bios/vgabios-qxl.bin index 5c43bd222e..aa1c7250d3 100644 Binary files a/pc-bios/vgabios-qxl.bin and b/pc-bios/vgabios-qxl.bin differ diff --git a/pc-bios/vgabios-stdvga.bin b/pc-bios/vgabios-stdvga.bin index b2dd8f91ef..d6eeab1861 100644 Binary files a/pc-bios/vgabios-stdvga.bin and b/pc-bios/vgabios-stdvga.bin differ diff --git a/pc-bios/vgabios-virtio.bin b/pc-bios/vgabios-virtio.bin index 03ac8a7d4a..f9db6a6e95 100644 Binary files a/pc-bios/vgabios-virtio.bin and b/pc-bios/vgabios-virtio.bin differ diff --git a/pc-bios/vgabios-vmware.bin b/pc-bios/vgabios-vmware.bin index 15e21c2a28..33e0377912 100644 Binary files a/pc-bios/vgabios-vmware.bin and b/pc-bios/vgabios-vmware.bin differ diff --git a/pc-bios/vgabios.bin b/pc-bios/vgabios.bin index 84f1561d92..db0c5eb077 100644 Binary files a/pc-bios/vgabios.bin and b/pc-bios/vgabios.bin differ -- cgit v1.2.3