3805d4287f
11 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Paolo Bonzini
|
a1fadbcf48 |
seabios: remove PCI drivers from bios.bin
bios.bin is now used only by ISA PC, so PCI drivers are not necessary. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> |
||
Gerd Hoffmann
|
4879d1bbc6 |
seabios: update 128k config
Turn off some options to keep size below 128k. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |
||
Gerd Hoffmann
|
db211f245b |
seabios: update to 1.13.0 final
Update to the final 1.13 release. No code changes. git shortlog ============ Kevin O'Connor (1): docs: Note v1.13.0 release Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |
||
Gerd Hoffmann
|
b435a8f8c8 |
seabios: turn off CONFIG_ATA_DMA
There have been regressions reported, when booting FreeDOS. https://www.mail-archive.com/qemu-devel@nongnu.org/msg593254.html Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |
||
Gerd Hoffmann
|
eda553a442 |
seabios: enable ide dma
QNX reportedly requires this to boot. Should also speed up booting other guests. Note: Upstream seabios defaults this to 'n' to due to known problems on physical hardware (qemu not affected), and wouldn't flip the default to 'y'. So we adjust our local build config accordingly. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |
||
Gerd Hoffmann
|
083fab0290 |
seabios: update to 1.11 prerelease
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> |
||
Gerd Hoffmann
|
ea996ebd65 |
seabios: update 128k config
Turn off mpt-scsi and bootsplash to keep size below 128k. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |
||
Gerd Hoffmann
|
cae7e84eb7 |
seabios: update 128k bios config
Turn off OHCI + TPM support to keep the size below 128k. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |
||
Gerd Hoffmann
|
21f5826a04 |
seabios: update to 1.8.0 release
'git shortlog 8936dbb2..4c59f5d8' for seabios repo: David Woodhouse (4): Update EFI_COMPATIBILITY16_TABLE to match 0.98 spec update build: use -m16 where available instead of asm(".code16gcc") romlayout: Use .code16 not .code16gcc vgabios: Use .code16 not .code16gcc Gerd Hoffmann (2): add scripts/tarball.sh build: set LC_ALL=C Hannes Reinecke (1): megasas: read addional PCI I/O bar Ian Campbell (1): romlayout: Use "rep ; nop" not "rep nop". Kevin O'Connor (139): vgabios: Return from handle_1011() if handler found. edd: Move EDD get drive parameters (int 1348) logic from disk.c to block.c. edd: Use sectors==-1 to detect removable media. edd: Separate out ATA and virtio specific parts of fill_edd(). cdemu: store internal cdemu fields in standard "el-torito" spec format. Move cdemu call interface and disk_ret helper code to disk.c. smm: Replace SMI assembler code with C code. smm: Use a C struct to define the layout of the SMM area. smp: Replace QEMU SMP init assembler code with C; run only in 32bit mode. Don't enable thread preemption during S3 resume vga option rom execution. Remove old Bochs bios fixed address string at 0xfff00. Move most of the VAR16FIXED() defs to misc.c. build: Avoid absolute paths during "whole-program" compiling. Make sure handle_smi() and handle_smp() are compiled out if not enabled. Remove the TODO file. Abstract reset call (and possible 16bit mode switch) into reset() function. build: Remove unused function getSectionsStart() from layoutrom.py. build: Extract section visiting logic in layoutrom.py. build: Refactor layoutrom.py gc() function. build: Use customized entry point for each type of build. build: Refactor findInit() function. build: Rework getRelocs() to use a hash instead of categories in layoutrom.py build: Keep segmented sections separate until final link step. build: Use fileid instead of category to write sections in layoutrom.py. build: Only export needed fields in LayoutInfo in layoutrom.py. build: Get fixed address variables from 32bit compile pass (not 16bit) build: Minor - fix comments referring to old tools/ directory. xhci: Update the times for usb command timeouts. ehci: Update usb command timeouts to use usb_xfer_time() uhci: Update usb command timeouts to use usb_xfer_time() ohci: Update usb command timeouts to use usb_xfer_time() vgabios: Fix broken build resulting from e5749978. boot: Change ":rom%d" boot order rom instance to ":rom%x" Minor - remove stray tab from src/fw/smm.c. build: Update kconfig to version in Linux 3.16. usb: Fix usb_xfer_time() to work when called in 16bit mode. xhci: Call usb_desc2pipe() on xhci_update_pipe(). xhci: Remove 16bit code wrappers. xhci: Use high memory instead of low memory for internal storage. xhci: Move root hub and setup code to top of file. xhci: Add xhci_check_ports() and xhci_free_pipes() functions. ehci: Move port power up from ehci_hub_detect() to check_ehci_ports(). usb-hub: Enable power to all ports prior to calling usb_enumerate(). xhci: Change xhci_hub_detect() to use connect status instead of link state. uhci: Repeatedly poll for device detect for 100ms. ohci: Repeatedly poll for device detect for 100ms. ehci: Stall uhci/ohci init only until default port routing is done. usb: Perform device detect polling on all usb controllers. ehci: Fix bug in hub port assignment Revert "Use the extra stack for 16bit USB and PS2 keyboard/mouse commands." pmm: Fix entry point to support non-zero %ss Move stack hop code below call32/call16 code in stacks.c Add need_hop_back() call that determines if stack_hop_back is needed Update invoke_mouse_handler() to use need_hop_back() Update stack_hop_back() to jump to 16bit mode if called in 32bit mode. Track when entering via call32() and use the same mode for stack_hop_back() Simplify farcall16 code Update reset() to use call16_back() build: Support declaring 32bit C functions that must reside in the f-segment Move call16() functions from romlayout.S to inline assembler in stacks.c Break up call32() into call32() and call32_sloppy() Fully restore 16bit state during call16_sloppy() Implement call32 mechanism using SMIs. Move a20 code from system.c and ps2port.h to x86.h Backup and restore a20 on call32_sloppy() usb: Rename ?hci_control() to ?hci_send_control() usb: Rename usb_getFrameExp() to usb_get_period() usb: Rename findEndPointDesc() to usb_find_desc() usb: Rename send_default_control() to usb_send_default_control() usb: Rename free_pipe() to usb_free_pipe() usb: Clarify usb freelist manipulations xhci: Change xhci_update_pipe() to xhci_realloc_pipe() and use for alloc too uhci: Export uhci_realloc_pipe() instead of uhci_alloc_pipe() ohci: Export ohci_realloc_pipe() instead of ohci_alloc_pipe() ehci: Export ehci_realloc_pipe() instead of ehci_alloc_pipe() usb: Use usb_realloc_pipe for pipe alloc, update, and free. Use 32bit memcpy in int1587 when applicable Don't clobber %ax on ENTRY_INTO32 macro Create assembler macros for saving and restoring 'struct bregs' Do full BREGS backup/restore for pmm, pnp, and irqentry_extrastack Remove unused macro ENTRY_ST vgabios: Don't declare custom internal BDA storage in std/bda.h vgabios: Cache a pointer to the current mode struct in the BDA vgabios: Don't pass vmode_g to vgafb_move_chars() / vgafb_clear_chars() vgabios: Rename vbe_flags to flags vgabios: Set cursor shape fixes vgabios: Refactor get/set_cursor_shape() code vgabios: Only init BDA device details in init_bios_area() vgabios: Only set the dcc_index=8 if stdvga ports are available vgabios: Move standard table definitions to std/vga.h vgabios: Fill in available legacy modes in video_func_static at runtime vgabios: Add support for reading framebuffer in "direct" mode Fix PNP regression introduced in 99cb8f3e due to missed conversion Minor - move PORT_PS2_CTRLB from hw/ps2port.h to hw/timer.c vgabios: Support emulating text mode attributes while in graphics mode vgabios: Add software cursor capability Use an aligned stack offset when entering on the extra stack Minor - comment updates in romlayout.S Fix build issue on gcc34 pciinit: Fix build warning in mch_pci_slot_get_irq() floppy: Make sure to yield() during floppy PIO Minor - be consistent in placement of .code16/32 in romlayout.S Use macros for .code16/32 mode switches in inline asm in stacks.c Eliminate FUNCFSEG - only force portions of inline asm to f-segment usb: Update USB hub code to support super speed hubs Simplify README files - point to online documentation instead sdcard: Initial support for SD cards on PCI SDHCI controllers on QEMU Add wiki documentation to repository docs: Don't point to repo README files docs: Add info on MODE16/MODESEGMENT compile time flags docs: Add page describing SeaBIOS final object linking scsi: Move cdb_* functions above scsi_* functions scsi: Move process_scsi_op() to hw/blockcmd.c and rename cdrom: call scsi_process_op() instead of cdb_read() scsi: Don't export cdb_* functions cdrom: Break up very large read requests into smaller requests block: Check for read/write requests over 64K usb: Add support for OHCI bulk transfers readserial: Enhance pipe support docs: Add documentation on using readserial.py script uhci: Enable "depth" tree traversal for bulk transfers uhci: Increase bulk transfer STACKTDS to 16 vgabios: Support emulated text in gfx_read_char() ehci: No need to support td array wrapping ehci: Simplify fillTDbuffer() and rename ehci: Merge ehci_send_control with ehci_send_bulk ohci: Merge ohci_send_control with ohci_send_bulk uhci: Merge uhci_send_control with uhci_send_bulk xhci: Merge xhci_send_control with xhci_send_bulk usb: Use usb_send_pipe() now that all drivers have x_send_pipe() xhci: Move xhci_xfer_x() functions together xhci: Merge some xhci_xfer_x() functions into xhci_send_pipe() usb: Control transfers always have an 8 byte command size usb: Minor - properly free memory on get_device_config() error path checkstack: Handle callw instruction docs: Document why v1.6.3 release came after v0.6.2 docs: Update release history with dates of stable releases docs: There is only one VAR16 flag now docs: Note v1.8.0 release Marcel Apfelbaum (1): hw/pci: reserve IO and mem for pci express downstream ports with no devices attached Markus Armbruster (1): boot: Fix boot order for SCSI target, lun > 9 Paolo Bonzini (5): piix: add and use dev-piix.h smm: complete SMM setup smm: unify SMM handlers vgabios: fix graphics operation with Bochs VGA in non-DISPI modes vgabios: implement read char in graphics mode zhanghailiang (1): acpi: use specified macro instead of magic-number Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |
||
Gerd Hoffmann
|
db76ec6291 |
seabios: update to 1.7.5-rc1
Code grew a bit, had to disable CONFIG_USB_UAS to make the bios for the old machine types continue top fit into 128k. git shortlog since 1.7.4: Eric Northup (2): init_virtio_blk, init_virtio_scsi: reset HBA on error vp_init_simple: enable PCI bus-mastering before relying on DMA. Gabriel L. Somlo (1): SMBIOS: Check for aggregate tables & entry point in fw_cfg Gerd Hoffmann (4): smbios: catch zero-length strings pci: improve io address space allocation xhci: allocate scratch pad buffers vga: rework bar detection, add virtio-vga Johannes Krampf (5): build: Remove unneccesary semicolons from acpi_extract scripts. build: Make print statements in scripts python3 compatible. build: Be explicit that we want integers when dividing for python3 compat. build: Avoid sort() on unordered classes for python3 compatibility. build: Be careful with unicode and byte strings for python3 compatibility. Kevin O'Connor (79): build: Don't trash the .config file when src/Kconfig changes. Remove the pmm handle argument from _malloc(). Clear the total block transfer count on error. Remove unnecesary updates of the disk op->count field. Always perform thread cleanup on MainThread stack. pvscsi: Don't store reference to struct pci_device. pvscsi: Always run entirely in 32bit mode. pvscsi: Remove use of LOWFLAT and GLOBALFLAT macros. usb: Replace EHCI to UHCI/OHCI synchronization with new scheme. Minor - pciinit.c - order header files and use static on local functions. Minor - fix misspelling in romfile.c comment. ehci: memset the qTD structures in ehci_alloc_intr_pipe build: Update kconfig to version in Linux 3.13. scripts: Allow encodeint.py to take integers in hex notation. coreboot: Support alternative locations for CBFS. debug: Add runtime option to not report the debug serial port to the OS. debug: Only call serial_debug_preinit() at startup. debug: Unify the SeaBIOS debug version banner. xhci: Use 64bit writes to ERDP register. xhci: Fix incorrect direction setting on status transmissions. xhci: Set the interval parameter on interrupt pipes. xhci: Verify PAGESIZE register before initializing driver. xhci: Allocate and free the xhci inctx structure on each use. xhci: Move set_address code from xhci_control to xhci_alloc_pipe. xhci: Eliminate 'struct xhci_device'. xhci: Support xhci controllers with 64 byte contexts. xhci: Allow the XHCI USB controller to be enabled for coreboot. xhci: Don't use a dummy endpoint count in configure command. xhci: Report the "protocol defined" and PSIC bits of extended capabilities. xhci: Support USB hubs on xhci controllers. Add call32_params() helper function. Add space between DTYPE_* definitions. xhci: Run the XHCI driver entirely in 32bit mode. Remove pci_writel() and pci_readl() functions. xhci: Check if scratch pad allocation fails. Increase maximum size of permanent high memory area. usb: USB 3 devices encode bMaxPacketSize0 field. usb: Move default pipe max packet size code from xhci to main code. xhci: Use the same endpoint initialization code in xhci_alloc_pipe() xhci: Add copyright notice to usb-xhci.c vgabios: Make sure exported structs use PACKED. vgabios: Simplify the bios save state area. vgabios: Simplify save/restore mechanism. vgabios: Attempt to detect old x86emu and force a fault. vgabios: Don't interpret TAB character. vgabios: Refactor write_teletype and write_chars. vgabios: Make sure stdvga_list_modes() doesn't overrun the buffer. coreboot: Add support for a "links" file to have aliases in CBFS. Enhance nullTrailingSpace() so that it can also skip leading spaces. coreboot: Move links file processing to its own function. vgabios: Fix PMM allocation request size. smbios: Default all values to zero. usb: Only disable HID devices if both USB_MOUSE and USB_KEYBOARD are off. Minor - fix some typos in comments. Replace CONFIG_THREAD_OPTIONROMS with a runtime config setting. acpi: Move acpi parsing logic from acpi.c to biostables.c / paravirt.c. smbios: Move smbios parsing logic from smbios.c to biostables.c. Move PirAddr definition from pirtable.c to biostables.c. Use biostables.c for copying bios tables even when generating them. Document no new changes to pirtable.c, mptable.c, acpi.c, and smbios.c. apm: Remove old Bochs mechanism for shutdown/suspend/standby. Minor - remove unused includes from pci.c. vgabios: Add option to control use of standard VGA IO ports. vgabios: Split vgafb_scroll() into separate move and clear functions. vgabios: Rewrite vgafb.c graphics operations to set of 4 standard operators. vgabios: Introduce text_address(). vgabios: Add support for manipulating framebuffers in high memory. Set the color attribute when calling vgabios print character. vgabios: PMM scan was incorrectly depending on a zero %ds segment. coreboot: Make coreboot table searching available to other code. vgabios: Initial support for coreboot native vga vgabios. Minor - replace some tab characters that slipped into the code. Factor out smbios table walking from display_uuid to smbios_next(). vgabios: Define PlatformRunningOn to make compile happy. If an int 1587 call is made from an option rom, stay in bigreal mode. xhci: Use msleep() instead of mdelay() for port status delay. build: Make sure romlayout.o is recompiled on Kconfig change. Fix int 1589 calls when CONFIG_ENTRY_EXTRASTACK is enabled. acpi: Fix acpi dsdt compile warning. Laszlo Ersek (1): init_virtio_scsi(): reset the HBA before freeing its virtio ring Marcel Apfelbaum (3): resume: restore piix pm config registers after resume hw/pci: reserve IO and mem for pci-2-pci bridges with no devices attached hw/pci: check if pci2pci bridges implement optional limit registers Roger Pau Monne (1): ld: don't hardcode "-melf_i386" Sander Eikelenboom (1): Prevent build failure by not splitting line in the middle of arguments to checkrom.py script Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |
||
Gerd Hoffmann
|
94e68caaa0 |
roms: build two seabios binaries
Adding xhci support to seabios made it jump over the 128k line. Changing the bios size breaks migration, so we have to keep a 128k seabios binary for old machine types. New machine types can use a large 256k bios which should be big enougth for a while. This patch updates the seabios build process to build seabios twice, once full featured and once with xen and xhci turned off so the resulting binary is small enougth to fit into 128k. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |