Patchwork seabios: update to 1.7.3

login
register
mail settings
Submitter Gerd Hoffmann
Date July 24, 2013, 1:46 p.m.
Message ID <1374673573-25074-2-git-send-email-kraxel@redhat.com>
Download mbox | patch
Permalink /patch/261420/
State New
Headers show

Comments

Gerd Hoffmann - July 24, 2013, 1:46 p.m.
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>
---
 pc-bios/acpi-dsdt.aml     |  Bin 4521 -> 4407 bytes
 pc-bios/bios.bin          |  Bin 131072 -> 131072 bytes
 pc-bios/q35-acpi-dsdt.aml |  Bin 7458 -> 7344 bytes
 roms/seabios              |    2 +-
 4 files changed, 1 insertion(+), 1 deletion(-)
Alex Williamson - Aug. 7, 2013, 8:47 p.m.
Don't we really want this too?

        commit 2a9aeabdfb34374ecac25e7a8d21c9e368618cd4
        Author: Kevin O'Connor <kevin@koconnor.net>
        Date:   Sun Jul 14 13:55:52 2013 -0400
        
            Fix USB EHCI detection that was broken in hlist conversion of PCIDevices.
            
            Make sure the PCI device list is ordered in bus order.
            
            Don't iterate past the end of the list when detecting EHCI devices.
            
            Signed-off-by: Kevin O'Connor <kevin@koconnor.net>

seabios 1.7.3 is actually a regression for me when trying to assign a
secondary passthrough graphics card because the PCI devices are in the
wrong order and seabios tries to run the passthrough VBIOS rather than
the emulated VBIOS.  Based on the comment, something is broken with EHCI
too.  Thanks,

Alex

On Wed, 2013-07-24 at 15:46 +0200, Gerd Hoffmann wrote:
> 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>
> ---
>  pc-bios/acpi-dsdt.aml     |  Bin 4521 -> 4407 bytes
>  pc-bios/bios.bin          |  Bin 131072 -> 131072 bytes
>  pc-bios/q35-acpi-dsdt.aml |  Bin 7458 -> 7344 bytes
>  roms/seabios              |    2 +-
>  4 files changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/pc-bios/acpi-dsdt.aml b/pc-bios/acpi-dsdt.aml
> index 75dfd1e310a330c6473e363a3d2d9f31d93bfaa7..48dbe3242c0e443a15d07b995e3a53b98a938806 100644
> [ GIT binary patch snipped ]
> 
> diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin
> index c2a19b8930540db854d3c98c6a271eadc2d12e98..cccc487814eb68a2d25c3c90e088bcc60a3da2f8 100644
> [ GIT binary patch snipped ]
> 
> diff --git a/pc-bios/q35-acpi-dsdt.aml b/pc-bios/q35-acpi-dsdt.aml
> index cf7b085762800c82abc612f8a5aed4d7f53449b6..91ab67cadab4d77eeb1b6f86160bf224ce5bc999 100644
> [ GIT binary patch snipped ]
> 
> diff --git a/roms/seabios b/roms/seabios
> index d4f7d90..c02c219 160000
> --- a/roms/seabios
> +++ b/roms/seabios
> @@ -1 +1 @@
> -Subproject commit d4f7d90f47462b4e8836899adc5060fbde5253e9
> +Subproject commit c02c219cd79299a0a153ecf862f0e301a057f2cb
Gerd Hoffmann - Aug. 8, 2013, 9:01 a.m.
On 08/07/13 22:47, Alex Williamson wrote:
> Don't we really want this too?
> 
>         commit 2a9aeabdfb34374ecac25e7a8d21c9e368618cd4
>         Author: Kevin O'Connor <kevin@koconnor.net>
>         Date:   Sun Jul 14 13:55:52 2013 -0400
>         
>             Fix USB EHCI detection that was broken in hlist conversion of PCIDevices.
>             
>             Make sure the PCI device list is ordered in bus order.
>             
>             Don't iterate past the end of the list when detecting EHCI devices.
>             
>             Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
> 
> seabios 1.7.3 is actually a regression for me when trying to assign a
> secondary passthrough graphics card because the PCI devices are in the
> wrong order and seabios tries to run the passthrough VBIOS rather than
> the emulated VBIOS.  Based on the comment, something is broken with EHCI
> too.  Thanks,

Ahem, yes.  That alone looks like enough justification for a 1.7.3.1
bugfix release to me.

Anyone has other known issues with the 1.7.3 update?

cheers,
  Gerd

Patch

diff --git a/pc-bios/acpi-dsdt.aml b/pc-bios/acpi-dsdt.aml
index 75dfd1e310a330c6473e363a3d2d9f31d93bfaa7..48dbe3242c0e443a15d07b995e3a53b98a938806 100644
[ GIT binary patch snipped ]

diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin
index c2a19b8930540db854d3c98c6a271eadc2d12e98..cccc487814eb68a2d25c3c90e088bcc60a3da2f8 100644
[ GIT binary patch snipped ]

diff --git a/pc-bios/q35-acpi-dsdt.aml b/pc-bios/q35-acpi-dsdt.aml
index cf7b085762800c82abc612f8a5aed4d7f53449b6..91ab67cadab4d77eeb1b6f86160bf224ce5bc999 100644
[ GIT binary patch snipped ]

diff --git a/roms/seabios b/roms/seabios
index d4f7d90..c02c219 160000
--- a/roms/seabios
+++ b/roms/seabios
@@ -1 +1 @@ 
-Subproject commit d4f7d90f47462b4e8836899adc5060fbde5253e9
+Subproject commit c02c219cd79299a0a153ecf862f0e301a057f2cb