aboutsummaryrefslogtreecommitdiff
path: root/roms
AgeCommit message (Collapse)Author
2014-07-08pseries: Update SLOF firmware image to qemu-slof-20140630Alexey Kardashevskiy
The changelog is: > Quieten the grub warning > Add boot menu support > boot from disk having chrp-boot file > fat16: fix read and remove debug messages > dhcparch define missing in compilation > pci-scan: reserve memory for pci-bridge without devices > pci-bridge: Fix ranges when no device beyond the bridge > Set dhcp arch in board-qemu config file > xhci: fix controller stop > dhcp: support client architecture code 93 > virtio-blk: support variable block size > usb: use common pci dma alloc/mapping routines > Remove unused SLOF code > pci-bridge: generic bridge needs to support pci dma functions > pci: extract dma functions as separate file > e1000: fix usage of multiple nics Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
2014-07-07prep: Update ppc_rom.binAndreas Färber
This replaces QEMU-side workarounds for PCI BARs and CPU reset. Signed-off-by: Andreas Färber <andreas.faerber@web.de>
2014-06-20Update OpenBIOS imagesMark Cave-Ayland
Update OpenBIOS images to SVN r1306 built from submodule. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2014-06-16PPC: Add u-boot firmware for e500Alexander Graf
This adds a special build of u-boot tailored for the e500 platforms we emulate. It is based on the current version of upstream u-boot which contains all the code necessary to drive our QEMU provided machines. Signed-off-by: Alexander Graf <agraf@suse.de>
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-15ipxe: update to current gitGerd Hoffmann
Now that ipxe has separate settings for load / boot banner timeouts re-enable the boot banner while keeping the load banner turned off, so we don't add a delay to non-pxe boots. git shortlog: Adrian Jamróz (2): [rhine] Rewrite VIA Rhine driver [velocity] Rewrite VIA Velocity driver Alex Williamson (4): [romprefix] Allow ROM banner timeout to be configured independently [autoboot] Enable infrastructure to specify an autoboot device location [prefix] Allow prefix to specify a PCI autoboot device location [romprefix] Store boot bus:dev.fn address as autoboot device location Alexander Chernyakhovsky (1): [ocsp] Handle OCSP responses that don't provide certificates Bo Yang (1): [build] Avoid strict-aliasing warning for gcc 4.3 Brandon Penglase (1): [build] Add vmware build target Christian Hesse (2): [build] Update build system for Syslinux 6.x [build] Fix LABEL name for .liso images Daniel P. Berrange (1): [zbin] Fix size used for memset in alloc_output_file Frediano Ziglio (1): [romprefix] Fix incorrect pointer offset in undiloader.S Kevin Tran (1): [tg3] Fix various tg3 issues Marin Hannache (8): [linux] Add missing #include <stddef.h> [legal] Add FILE_LICENCE for valgrind headers [legal] Add FILE_LICENCE for core/errno.c [legal] Add FILE_LICENCE for ath9k driver headers [legal] Add missing FILE_LICENCE declarations [cmdline] Add "poweroff" command [nfs] Add support for NFS protocol [nfs] Fix an issue with the selection of a local port Michael Brown (363): [netdevice] Separate VLAN support from presence of VLAN-supporting drivers [undi] Work around specific devices with known broken interrupt behaviour [menu] Prevent character code zero from acting as a shortcut key [menu] Prevent separators with shortcut keys from being selected [tftp] Allow TFTP block size to be controlled via the PXE TFTP API [pcbios] Add extra debugging messages when unhiding iPXE from memory [nbiprefix] Set up real-mode stack before jumping to .text16 [prefix] Use %cs as implicit parameter to uninstall() [pcbios] Inhibit all calls to INT 15,e820 and INT 15,e801 during POST [romprefix] Display only one "Ctrl-B" prompt per PCI device during POST [efi] Update to latest EDK2 headers [autoboot] Split main control flow out of main() into a new function ipxe() [efi] Add last_opened_snpdev() [efi] Expose downloaded images via EFI_SIMPLE_FILE_SYSTEM_PROTOCOL [efi] Add our own EFI_LOAD_FILE_PROTOCOL implementation [efi] Fix building with newer binutils [lkrnprefix] Allow relocation when no initrd is present [efi] Fix minor typos in efi_image.c [efi] Add EFI-specific debugging macros [int13] Split out ISO9660 and El Torito definitions to separate header files [smbios] Provide SMBIOS version number via smbios_version() [smbios] Mangle UUIDs for SMBIOS version 2.6 and newer [dhcp] Use PXE byte ordering for UUID in DHCP option 97 [uuid] Abstract UUID mangling code out to a separate uuid_mangle() function [efi] Provide efi_guid_ntoa() for printing EFI GUIDs [efi] Add "reboot" command for EFI [cmdline] Add ability to perform a warm reboot [efi] Enable "cpuid" command by default for EFI [cs89x0] Remove conflicting macro definitions [igbvf] Remove conflicting macro definitions [prism2] Use standard type names [efi] Fetch device path for loaded image during initialisation [settings] Expose build architecture and platform via settings [bios] Fix screen clearing on buggy BIOSes [intel] Remove hardcoded offsets for descriptor ring registers [intel] Expose functionality to be shared with intelx driver [intel] Add intelx driver for Intel 10 Gigabit Ethernet NICs [efi] Remove obsolete EFI I/O implementation using EFI_CPU_IO_PROTOCOL [libc] Use __einfo() tuple as first argument to EUNIQ() [libc] Redefine low 8 bits of error code as "platform error code" [efi] Perform meaningful error code conversions [efi] Add sample platform-generated error disambiguations [netdevice] Use link-layer address as part of RNG seed [build] Allow sparse to find compiler.h [build] Define __WINT_TYPE__ if necessary [build] Allow sparse to be invoked via "make C=1" [build] Avoid sparse undeclared symbol warning for PROVIDE_SYMBOL() [process] Mark process descriptor as static in PERMANENT_PROCESS [realtek] Print bad MAC address in debug message when inferring no EEPROM [build] Use -Wno-decl when running sparse [build] Fix uses of literal 0 as a NULL pointer [build] Fix dubious uses of bitwise operators [build] Default to short wchar_t in stddef.h [realtek] Use ID word to detect EEPROM presence [errdb] Strip platform error code for non-platform-generated errors [pxe] Convert external PXE API errors into iPXE platform-generated errors [realtek] Allow reaction time between writing RTL_CAPR and reading RTL_CR [romprefix] Report failure cause when unable to open payload [realtek] Ensure EEPROM writes reach chip before starting udelay() [dhcp] Remove obsolete bootp.h header [netdevice] Add netdev_tx_defer() to allow drivers to defer transmissions [realtek] Defer packets when no transmit descriptors are available [settings] Eliminate settings "tag magic" [smbios] Allow access to unreferenced SMBIOS strings [smbios] Allow access to multiple instances of SMBIOS structures [crypto] Report meaningful error when certificate chain validation fails [build] Use $(eval) if available [build] Provide "allXXXs" targets for all media on all platforms [build] Add efidrv.cab target for UEFI Secure Boot signing [netdevice] Add "chip" setting [netdevice] Reset MAC address when asked to clear the "mac" setting [realtek] Fix reopening of legacy-mode 8139 NIC [crypto] Accept OCSP responses containing multiple certificates [bzimage] Align initrd images to page boundary [bzimage] Fix spurious uninitialised-variable warning on some gcc versions [build] Work around bug in gcc >= 4.8 [autoboot] Use next-server from filename's settings block [tcp] Do not send RST for unrecognised connections [tcp] Fix comment to match code behaviour [test] Add self-tests for base16 [base16] Generalise base16_decode() to hex_decode() [settings] Use hex_decode() to parse hex settings [settings] Add "hexraw" setting type [netdevice] Add "bustype" and "busloc" settings [settings] Add "busdevfn" setting type [linux] Add support for accessing PCI configuration space via /proc/bus/pci [settings] Add config/settings.h [settings] Expose PCI configuration space via settings mechanism [settings] Make "netX" settings block function as a symbolic link [cmdline] Accept "netX" in iPXE commands [lotest] Include sequence number within loopback test packets [intel] Incorporate ring producer and consumer counters in diagnostics [base16] Ensure base16_encode() always terminates its result string [realtek] Report RX error detail in debug messages [script] Allow for backslash continuation of script lines [settings] Add support for navigation keys in "config" user interface [realtek] Allow extra space in RX buffers [ifmgmt] Avoid relying on global variable within ifcommon_exec() [script] Avoid trying to read final character of a zero-length string [legal] Add missing FILE_LICENCE declarations [build] Fix %.licence build target [settings] Clarify usage of the term "named setting" [settings] Avoid potentially large stack allocations [settings] Remove temporary name buffer parameter from parse_setting_name() [settings] Remove default_type parameter from parse_setting_name() [settings] Expose parse_setting_name() [settings] Change "not-found" semantics of fetch_setting_copy() [settings] Add fetchf_setting_copy() [settings] Eliminate call to fetchf_named_setting() in expand_settings() [settings] Eliminate call to store_named_setting() in nslookup.c [settings] Remove now-unused store_named_setting() [parseopt] Allow parsed option to be modified [parseopt] Move parse_settings() to parseopt.c [parseopt] Add parse_setting() [settings] Eliminate call to storef_named_setting() in choose_exec() [settings] Eliminate calls to {fetch,store}f_named_setting() in NVO commands [settings] Remove now-unused fetchf_named_setting() and storef_named_setting() [script] Allow initial whitespace on lines containing labels [script] Allow commands following a script label [settings] Introduce the generalised concept of a numeric setting [cmdline] Add "inc" command [pci] Add pci_find_next() to iterate over existent PCI devices [cmdline] Add "pciscan" command to allow iteration over PCI devices [udp] Move high-frequency debug messages to DBGLVL_EXTRA [ipv6] Rename sin_{family,port} to sin6_{family,port} in struct sockaddr_in6 [tcpip] Allow binding to unspecified privileged ports (below 1024) [settings] Expose CPUID instruction via settings mechanism [test] Add self-tests for snprintf() [settings] Allow numeric_setting_value() to handle long setting values [settings] Expose memory map via settings mechanism [params] Add support for the general concept of a form parameter list [cmdline] Add "params" and "param" commands to manage form parameter lists [uri] Allow URIs to incorporate a parameter list [http] Add support for HTTP POST [settings] Make built-in settings a linker table [linux] Give tap devices a name and bus type [ipv4] Generalise fragment reassembly mechanism [netdevice] Increase maximum network-layer address length [netdevice] Add concept of a network device index [netdevice] Add method for generating EUI-64 address from link-layer address [ethernet] Add support for generating multicast hash for IPv6 addresses [linux] Apply MAC address prior to registering network device [tcpip] Pass through network device to transport layer protocols [neighbour] Generalise concept of neighbour discovery [ipv4] Abstract out protocol-specific portions of "route" command [ipv6] Replace IPv6 stack [ipv6] Fix uninitialised-variable warning [tcp] Reduce path MTU to 1280 bytes [ipv6] Add inet6_aton() [build] Work around bug in gcc >= 4.8 [neighbour] Add nstat() function to print out neighbour table [cmdline] Add "nstat" command [tcp] Add AF_INET6 socket opener [udp] Add AF_INET6 socket opener [netdevice] Add find_netdev_by_index() [socket] Add concept of a generalised socket address converter [ipv4] Add IPv4 socket address converter [ipv6] Add IPv6 socket address converter [resolv] Use sock_aton() to allow parsing of arbitrary numeric addresses [icmp] Add support for sending ICMP echo requests [ping] Add concept of a ping socket [ping] Add generic ping mechanism [ping] Add top-level ping() function to ping a host [cmdline] Add "ping" command [ipv6] Handle IPv6 option length correctly [ipv6] Extract link layer addresses from router advertisements [ipv6] Support stateless address autoconfiguration (SLAAC) [ipv6] Treat sin6_scope_id consistently [ipv6] Automatically choose source for link-local and multicast destinations [pxe] Always retrieve cached DHCPACK and apply to relevant network device [ipv6] Add ndp_tx_router_solicitation() to send router solicitations [parseopt] Add parse_timeout() [netdevice] Make all net_driver methods optional [interface] Default to calling intf_restart() in response to intf_close() [job] Allow job_progress() to return an ongoing job status code, if known [monojob] Add timeout parameter to monojob_wait() [monojob] Report ongoing job status as overall return status on timeout [cmdline] Rewrite "sync" command to use monojob_wait() [autoboot] Fix shell banner timeout [ifmgmt] Rewrite iflinkwait() to use monojob_wait() [cmdline] Allow "if<xxx>" commands to take options [netdevice] Add generic concept of a network device configurator [dhcp] Add DHCP network device configurator [parseopt] Add parse_netdev_configurator() [ifmgmt] Add ifconf() to carry out network device configuration [autoboot] Use ifconf() to configure network device [cmdline] Add "ifconf" command [cmdline] Make "dhcp" command a synonym for "ifconf" [dhcp] Remove obsolete dhcp() function [ipv6] Add IPv6 network device configurator [cmdline] Generate command option help text automatically [pxe] Ensure cached DHCPACK is retrieved prior to network device creation [base16] Fix comparison of signed and unsigned integers [settings] Move user-class setting from dhcp.c to settings.c [ipv6] Use given source address only if it is not the unspecified address [ipv6] Add "ipv6" setting type [dhcpv6] Add basic support for stateful and stateless DHCPv6 [ipv6] Separate the concepts of prefix and address creation [dhcpv6] Allow stateful DHCPv6 to apply obtained IPv6 addresses [test] Include failing code within failed test result output [main] Defer "initialising devices" message until initialising devices [console] Pass escape sequence context to ANSI escape sequence handlers [pixbuf] Add generic concept of a pixel buffer [image] Allow for non-executable image formats [image] Add image_pixbuf() to create pixel buffer from image [pnm] Add support for PNM images [mucurses] Use "<ESC>[2J" ANSI escape sequence to clear screen [console] Allow console input and output to be disabled independently [console] Add concept of generic console configuration [cmdline] Add "console" command to configure console [fbcon] Add generic concept of a frame buffer console [vesafb] Add VESA frame buffer console [vesafb] Include raw status value within VBE error messages [vesafb] Skip modes for which we cannot get mode information [vesafb] Return meaningful error when no suitable mode is found [vesafb] Select an optimal mode, rather than the first acceptable mode [build] Fix building on OpenBSD 5.4 [console] Allow '?' as an intermediate byte in ANSI escape sequences [mucurses] Implement curs_set() to control cursor visibility [settings] Hide cursor when not actively editing a setting [menu] Hide cursor when displaying menu [fbcon] Add support for displaying a cursor [settings] Explicitly separate the concept of a completed fetched setting [settings] Allow for IPv6 setting types in non-IPv6 builds [settings] Add fetch_ipv6_setting() [dns] Add support for resolving IPv6 addresses via AAAA records [socket] Ensure socket address structure sizes are fixed [syslog] Add support for IPv6 syslog server [ipv6] Add support for resolving IPv6 addresses via the "nslookup" command [linux] Provide access to SMBIOS via /dev/mem [dhcpv6] Use DUID-UUID form of client DUID [settings] Force settings into alphabetical order within sections [settings] Allow for multiple definitions of each predefined setting [settings] Merge SETTING_IPv4 and SETTING_IPv6 [dhcpv6] Add DHCPv6 "filename" setting [ipv6] Expose NDP-provided settings (including the DNS server) [vesafb] Work around data corruption bug in bochs/qemu VBE implementation [settings] Adapt user interface to fit display size [login] Adapt user interface to fit display size [menu] Adapt user interface to fit display size [console] Allow consoles to update the recorded console size [fbcon] Update the console width and height after changing mode [lkrnprefix] Include iPXE version string in image header [fbcon] Always draw cursor using current foreground and background colours [console] Add centralised concept of colours and colour pairs [mucurses] Use centralised concept of colour pairs [cmdline] Add the "colour" and "cpair" commands [console] Add concept of a "magic" colour [vesafb] Set "magic" colour to transparent when a background picture is used [build] Remove obsolete check for GNU as version 2.9.1 [ipv6] Fix compilation under FreeBSD [build] Build ROMs used by qemu and VMware as part of "make all" [libc] Add isprint() [test] Add okx() macro taking an explicit file name and line number [deflate] Add support for DEFLATE decompression [deflate] Fix literal data length calculation [libc] Add abs() [uaccess] Add memcmp_user() [test] Rewrite pnm_ok() using okx() [test] Generalise pnm_ok() to pixbuf_ok() [png] Add support for PNG images [vesafb] Handle failures from fbcon_init() [fbcon] Centre background picture on console [fbcon] Allow for an arbitrary margin around the text area [vesafb] Allow for an arbitrary margin around the text area [cmdline] Rename "console" command's --bpp option to --depth [cmdline] Add margin options to the "console" command [fbcon] Allow ANSI CUP with missing arguments [cmdline] Always clear screen after reconfiguring console [intel] Add some missing PCI IDs [dns] Support DNS search lists [dns] Update end-of-name pointer after processing CNAME record [dhcp] Copy exactly the required length when resizing DHCP options [settings] Remove "uristring" setting type [params] Use reference counters for form parameter lists [uri] Refactor URI parsing and formatting [image] Ensure every image has a fully resolved URI [tcpip] Add IP statistics collection as per RFC 4293 [cmdline] Add the "ipstat" command [prefix] Ignore PCI autoboot device location if set to 00:00.0 [tcpip] Provide tcpip_netdev() to determine the transmitting network device [tcpip] Provide tcpip_mtu() to determine the maximum transmission unit [tcp] Calculate correct MSS from peer address [bzimage] Report exact initrd length via bzImage header [realtek] Include link status register details in debug messages [romprefix] Do not clobber stack segment when returning to BIOS [netdevice] Mark devices as open before calling open() method [tcp] Update window even if ACK does not acknowledge new data [linux] Avoid starting currticks() from zero every time [http] Use a retry timer to trigger retried requests [http] Automatically retry request on a 503 Service Unavailable [mii] Add mii_dump() to dump all MII registers [realtek] Dump all MII register contents when link status changes [monojob] Reset timeout when progress is made [image] Add "--timeout" parameter to image downloading commands [efi] Allow for 64-bit EFI_STATUS codes [efi] Allow driver to be unloaded [efi] Connect driver to devices as part of installation [console] Fix display of characters with top bit set [lotest] Allow loopback testing on shared networks [netdevice] Notify upper-layer drivers when RX processing is (un)frozen [efi] Avoid accidentally calling main() twice [efi] Unload our own image before exiting UEFI application [efi] Disable SNP devices when running iPXE as the application [realtek] Add ability to dump all internal registers [realtek] Clear bit 24 of RCR [bios] Fix screen clearing on even more buggy BIOSes [http] Accept Content-Length header with trailing whitespace [crypto] Remove dynamically-allocated storage for certificate name [crypto] Remove dynamically-allocated storage for certificate OCSP URI [build] Remove long-obsolete mechanism for wrapping embedded images [build] Disable ccache for all relevant build targets [build] Add dependency of generated files upon Makefile [crypto] Add pubkey_match() to check for matching public/private key pairs [crypto] Generalise X.509 cache to a full certificate store [crypto] Use fingerprint when no common name is available for debug messages [crypto] Allow signed timestamp error margin to be configured at build time [test] Rewrite X.509 tests using okx() [test] Rewrite CMS tests using okx() [test] Add tests for x509_check_name() [test] Add subject alternative names to X.509 server test certificate [crypto] Add support for subjectAltName and wildcard certificates [crypto] Allow wildcard matches on commonName as well as subjectAltName [intel] Avoid completely filling the TX descriptor ring [test] Rewrite TCP/IP tests using okx() [test] Add self-tests for flsl() [libc] Add inline assembly implementation of flsl() using BSR instruction [test] Add tests for 64-bit division [build] Fix __libgcc attribute for recent gcc versions [test] Check for correct -mrtd assumption on libgcc arithmetic functions [libc] Add isqrt() function to find integer square roots [libc] Add flsll() [profile] Add generic profiling infrastructure [cmdline] Add "profstat" command to display profiling statistics [netdevice] Profile common operations [intel] Profile common virtual machine operations [intel] Push new RX descriptors in batches [librm] Use genuine real mode to accelerate operation in virtual machines [ipv4] Profile transmit and receive datapaths [tcp] Profile transmit and receive datapaths [http] Profile receive datapath [downloader] Profile receive datapath [build] Allow for a debug level of zero [librm] Allow interrupts in protected mode [comboot] Use built-in interrupt reflector [pcbios] Do not switch to real mode to check for timer interrupt [pcbios] Do not switch to real mode to sleep the CPU [test] Print out profiling statistics after a successful test run [librm] Add a profiling self-test for measuring mode transition times [librm] Add meaningful labels at section changes [librm] Speed up protected-to-real mode transition under KVM [librm] Speed up real-to-protected mode transition under KVM [librm] Speed up protected-mode calls under KVM [profile] Provide methods for profiling individual stages of operations [librm] Add profiling self-tests for complete real_call and prot_call cycles [pxe] Profile all PXE API calls [pxe] Profile UNDI transmit datapath [pxe] Work around missing PXENV_UNDI_OPEN only when necessary [undi] Profile all PXE API calls [undi] Profile transmit and receive datapaths [undi] Report any PXENV_UNDI_ISR errors via netdev_rx_err() [undi] Do not switch to real mode to check for NIC interrupt [undi] Place an upper limit on the number of PXENV_UNDI_ISR calls per poll Peter Pickford (1): [serial] Enable UART FIFOs Robin Smidsrød (2): [settings] Add "version" builtin setting [build] Include ipxe.pxe in default build Stefan Hajnoczi (2): [netdevice] Add vlan_tag() to get the VLAN tag of a network device [iscsi] Include 802.1Q VLAN identifier in iBFT Thomas Miletich (3): [3c90x] Stall upload engine before setting RX ring address [3c90x] Don't round up transmit packet length [3c90x] Fix High-MTU packet reception lolipop (1): [intel] Add Intel I217 Gigabit Ethernet PCI ID 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-04-08pseries: Update SLOF firmware image to qemu-slof-20140404Alexey Kardashevskiy
The change log is: > Isolate sc 1 detection logic > build: auto-detect ppc64 architecture > cas: increase hcall buffer size to accomodate 256 cpus > usb: change device tree naming > usb-core: adjust port numbers in set_address > virtio-scsi: correct srplun comment > Fix kernel loading > Workaround to make grub2 assign server ip from dhcp ack packet only > ELF: Enter LE binary in LE mode > ELF loading should fail for virt != phys Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
2014-03-13prep: Update ppc_rom.binAndreas Färber
This increases file size from 512 KiB to 1 MiB. Signed-off-by: Andreas Färber <andreas.faerber@web.de>
2014-03-13Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into stagingPeter Maydell
PowerPC queue for 2.0-rc0 * QEMUMachine include cleanup * SLOF update * XICS reset fix * sPAPR PCI host bridge refactorings # gpg: Signature made Thu 13 Mar 2014 02:50:51 GMT using RSA key ID 3E7E013F # gpg: Good signature from "Andreas Färber <afaerber@suse.de>" # gpg: aka "Andreas Färber <afaerber@suse.com>" * remotes/afaerber/tags/ppc-for-2.0: spapr-pci: Convert fprintf() to error_report() spapr-pci: Convert to QOM realize xics-kvm: Fix reset function pseries: Update SLOF firmware image to qemu-slof-20140304 Move QEMUMachine typedef to qemu/typedefs.h Revert "KVM: Split QEMUMachine typedef into separate header" Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-03-13pseries: Update SLOF firmware image to qemu-slof-20140304Alexey Kardashevskiy
The changelog is: > version: update to 20140304 > Introduce dummy console device > vio-vscsi: Fix CRQ allocation alignment > version: update to 20140204 > virtio-9p: disable unused structure > Make "boot net:dhcp" boot from IPv4 only > Fix virtio device shutdown > Change shutdown method name for virtio-scsi > Add support for 64bit LE ABI v1 and v2 support > Change representation of string environment variable > cas: return error when unknown node found > version: update > Reset obp-tftp arguments before parsing > Enable seamless netboot on IPv6 network > Fix shutdown for virtio devices > Fix zero checksum in UDP header > Handle router advertisement message properly > [oex]hci_exit: Check before freeing/unmapping memory > Work around missing sc 1 traps on pHyp > fix print_version() to return where it came from > usb-xhci: memory freeing and using returns as bool uniformly > Output banner and initial display output in VNC window > use VERSION file to generate FW version > cas: remove warning > Add support for loading little endian ELF binaries. > Add bswap_{16,32,64}p > dhcpv6 and other minor net-snk fixes > Fix missing drop in virtio-fs setup-alias > Find next available alias name > SLOF does not exit if given 1KB disk > boot: enable support for bootindex > pci-properties: add properties to enable hotplug for spapr > e1000: remember node handle > Increase quiesce tokens array size > virtio: timeout after 5sec > Enable IPv6 support in dns > usb-ohci: fix warnings > Add ipv6 support in net-snk > ipv4: fix frame overwriting following arp_send_request > e1000: fix SLOF_dma_map_out arguments > Maintain single global packet buffer for tftp > Increase virtio-net receive queue size > Increase veth receive queue size > Fix dprintf macros at various points > usb-ohci: rewrite done_head processing code > boot: add net in default boot order > block 0 address in the allocator > scsi: make-media-alias fix > usb-xhci: add xhci host controller support > usb-xhci: add xhci support > Avoid veth read/write calls with zero length buffer > boot: include other aliases > usb-core: disable xhci Cc: Andreas Färber <afaerber@suse.de> Cc: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2014-03-12prep: Update ppc_rom.binAndreas Färber
Functionally, this is a revert of Jocelyn's r3309 / 55aa45ddde3283cdd781326d001f7456bf02f684 (Quickly hack PowerPC BIOS able to boot on CDROM again.), for which we do not have the sources. Therefore the sources used are v0.4.1 plus pc-bios/ohw.diff plus a workaround turning IDE errors into warnings. Signed-off-by: Andreas Färber <andreas.faerber@web.de>
2014-03-12Add OpenHack'Ware submoduleAndreas Färber
This replaces the ohw.diff file on top of v0.4.1. Signed-off-by: Andreas Färber <andreas.faerber@web.de>
2014-03-10Update OpenBIOS imagesMark Cave-Ayland
Update OpenBIOS images to SVN r1280 built from submodule. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2014-02-07Merge remote-tracking branch 'remotes/kraxel/tags/pull-roms-1' into stagingPeter Maydell
Update seabios to 1.7.4 # gpg: Signature made Mon 03 Feb 2014 14:42:44 GMT using RSA key ID D3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" * remotes/kraxel/tags/pull-roms-1: Update seabios binaries to 1.7.4 Update seabios submodule to 1.7.4 roms: remove explicit MAKEFLAGS from recursive make invocations Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
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
2014-02-03roms: remove explicit MAKEFLAGS from recursive make invocationsBruce Rogers
When using $(MAKE) within a makefile, we shouldn't be explicitly including $(MAKEFLAGS) on the command-line. It causes problems when that makefile is recursively invoked. When the roms/Makefile is invoked as in make -C roms bios a spurious 'w' appears on the sub-make invocation, due to the erroneous $(MAKEFLAGS) inclusion. Signed-off-by: Bruce Rogers <brogers@suse.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-01-12Update OpenBIOS imagesMark Cave-Ayland
Update OpenBIOS images to SVN r1246 built from submodule. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2013-12-06roms: enable seabios cross buildsGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-12-06roms: build two seabios binariesGerd Hoffmann
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>
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-11-08pseries: Update SLOF firmware imageAlexey Kardashevskiy
SLOF git commit is e2e8ac901e617573ea383f9cffd136146d0675a4 The main changes are: * fixed bug with not passing arguments from -append * client-architecture-support hypercall * netboot * USB stack fixes The full list of changes: > client-architecture-support: fix wrong version read > client-architecture-support: fix redundant stack drop > Update device tree returned by CAS hypercall > fdt: introduce fdt-init > Add ibm,client-architecture-support method > Kernel parameter passed from qemu commandline ignored > Allow more than one client to open net devices simultaneously > ci: add missing close in else condition > Add GPT support > pci: fix interrupt-map for bridges > usb-ohci: preserve the toggleCarry bit in ED > usb-ohci: done_head processing fixes > usb-ohci: update init and rationalize timings > usb-msc: handle stall and other fixes > scsi: make probe more error resilient > usb-core: Add CLEAR FEATURE api > Implement range allocator > Remove bcm57xx network driver as module > Remove e1000 network driver as module > Remove virtio-net network driver as module > Remove veth network driver as module > Add missing close-dev in ping > Remove lodable network driver modules and related functions > Add bcm57xx network driver in libbcm > Add e1000 network driver in libe1k > Add virtio-net driver in libvirtio > Add veth driver in libveth > Get MAC address for client interface module > Add SLOF usleep wrapper > Add SLOF pci wrapper functions > Fix 'canon' client interface Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
2013-10-25pseries: Update SLOF firmware imageAlexey Kardashevskiy
This has reworked USB OHCI and adds support of USB EHCI, VIRTIO-SCSI and various fixes (IBM VSCSI, VGA and more). The full list of fixes is: * usb-ohci: Convert td-phys every time to td-virt * usb-storage: Fix cbwflags field * Add -fno-strict-aliasing in global CFLAGS * usb: fix various issues found with js2x * Move hex64-{decode,encode}-unit to node.fs * usb: Use separate in-memory endian swap * usb-ohci: collect TDs from done list * js2x: more fixes * js2x: Fix build of takeover image * js2x: use new usb stack * usb-ohci: Use proper memory barriers always * usb: Fix a couple of warnings * Fix $cat-instance-unit * Cache phandle of /chosen * Use root.fs on qemu as well * usb-ehci: Add ehci handshake * usb: add mb for write accessors * usb-ohci: add missing memory barriers * usb-ohci: suspend the controller in exit code path * usb-ohci: Add a reset when closing the OHCI * usb: Use proper accessors for MMIO and separate in-memory endian swap * Use a global definition of sync() and mb() * net-snk: Remove exception handling * usb: unmap buffers * slof: call quiesce on closing of stdin * usb-kbd: accept "s" to drop to OF prompt * USB storage driver * usb-ohci: add Bulk transfer support * usb-ehci: Add bulk support * usb-core: add usb bulk support * USB generic hub device driver * usb-ehci: setup new device * usb-ehci: Check ehci ports * usb-ehci: initialize controller * USB keyboard driver * usb-core: setup new device * usb-core: create dev pool allocation * usb-ohci: implement ohci send control * usb-core: usb send control * usb-core: implement usb_{get,put}_pipe routines * usb-ohci: allocate pipe pool * usb-ohci: reset, init and check-ports * Add standard header stdbool.h * usb-slof: forth support routines for C * usb-ehci: Add USB EHCI skeleton * usb-core: Add register accessor functions * Use __builtin_bswap routines for endianness swapping * usb-core: hcd registration and query routines * usb-core: adding generic dev-hci.fs * usb-core: registration and makefiles * Add new USB code * Remove old usb code * vga: fix hcall-invert-screen and hcall-blink-screen * Enumerate disk/cdrom aliases for multiple disks or cdroms * scsi: unify scsi probing code * vscsi: generalizing probe code * virtio-scsi: iterate through targets * scsi: unify and use make-disk-alias * nvram: remove unnecessary prints * Add hack to client interface finddevice of "/memory" * scsi: Fix cdrom boot crash when no medium present * Look for /memory@0, not just /memory * Fix instance>qname crashing when displaying instance arguments * Fix js2x build * scsi-disk: Bound check read-blocks * Fix off by one error in scsi-disk get-capacity * scsi: fix report-luns handling * SLOF: virtio-scsi block driver code * scsi: Move bits of vio-vscsi.fs to a common helpers file * scsi: Move scsi-disk.fs to a generic place * SLOF: virtio-scsi helper routines * SLOF: virtio-scsi - add pci device file * iso9660: Don't constantly reallocate the read buffer * vscsi: Sanitize interface between scsi-disk.fs and vio-vscsi.fs * vio-vscsi: Rework vio-vscsi support * virtio: Add a virtio-set-qaddr helper * disk-label: Allocate 4096 bytes for 4k block devices * disk-label: Increase the max size of the PReP boot partition * Make load-base a real environment variable * vio-vscsi: Switch to using a wildcard "disk" node and make scsi-disk generic * Fix disk-label package to use proper instance path * Increase size of catpad * Fix instance>path to contain unit address for wildcard nodes * Fix handling of wildcard nodes in open-dev * vio-vscsi: Get CRQ on open and release on close Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
2013-10-03Update OpenBIOS imagesMark Cave-Ayland
Update OpenBIOS images to SVN r1229 built from submodule. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2013-09-30Merge remote-tracking branch 'kraxel/seabios-1.7.3.2' into stagingAnthony Liguori
# By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/seabios-1.7.3.2: update seabios from 1.7.2.2 to 1.7.3.2 Message-id: 1380533055-24960-1-git-send-email-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-09-30roms: add support for building sgabiosGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30roms: enable parallel seabios / seavgabios buildsGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30roms: enable ipxe cross buildsGerd Hoffmann
2013-09-30roms: add rules to build slofGerd Hoffmann
Add some logic to detect cross compilers. Add support for "make slof", which should JustWork[tm] if you are on a ppx64 machine or have a ppc64 cross compiler installed somewhere in your path. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30roms: parallel ipxe buildsGerd Hoffmann
Enable parallel ipxe builds. Reduce the recursive make calls. Call recursive make properly using $(MAKE) $(MAKEFLAGS). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30roms: build lgplvgabios isavga variantGerd Hoffmann
Add logic to also build+install the isavga vgabios variant. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30roms: enable parallel builds for 'make lgplvgabios'Gerd Hoffmann
Recurse into vgabios once, adjust dependencies, call make using $(MAKE) $(MAKEFLAGS) so jobserver mode works. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30roms: add 'make clean'Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-07-30Update OpenBIOS imagesMark Cave-Ayland
Update OpenBIOS images to SVN r1198 built from submodule. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
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-07-18pc-bios: Update palcode-clipperRichard Henderson
Update image to c87a92639b28ac42bc8f6c67443543b405dc479b, incorporating changes for vm_time. Signed-off-by: Richard Henderson <rth@twiddle.net>
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-05-28Revert "roms: switch oldnoconfig to olddefconfig"Gerd Hoffmann
This reverts commit a5519b42cfd6c00e9f8b31c5aad7682e7a9f1181. Breaks "make bios" in roms/ as the kconfig version in seabios doesn't support olddefconfig. Must have been be totally untested. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-05-06pseries: Update SLOF firmware imageAlexey Kardashevskiy
Minor SLOF fixes which are required for libvirtd to function properly: * vio-vscsi: vscsi-report-luns can return 0 * vio-vscsi: added a proper lun parser * SLOF: vio-vscsi: fixed bug with reported luns Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
2013-05-05Update OpenBIOS imagesBlue Swirl
Update OpenBIOS images to OpenBIOS 1.1 release (SVN r1136) built from submodule. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2013-03-26Merge remote-tracking branch 'mst/tags/for_anthony' into stagingAnthony Liguori
virtio,pci,qom Work by Alex to support VGA assignment, pci and virtio fixes by Stefan, Jason and myself, and a new qmp event for hotplug support by myself. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # gpg: Signature made Tue 26 Mar 2013 02:02:24 PM CDT using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Alex Williamson (13) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: (23 commits) pcie: Add endpoint capability initialization wrapper roms: switch oldnoconfig to olddefconfig pcie: Mangle types to match topology pci: Create and use API to determine root buses pci: Create pci_bus_is_express helper pci: Q35, Root Ports, and Switches create PCI Express buses pci: Allow PCI bus creation interfaces to specify the type of bus pci: Move PCI and PCIE type defines pci: Create and register a new PCI Express TypeInfo exec: assert that RAMBlock size is non-zero pci: refuse empty ROM files pci_bridge: Remove duplicate IRQ swizzle function pci_bridge: Use a default map_irq function pci: Fix INTx routing notifier recursion pci_bridge: drop formatting from source pci_bridge: factor out common code pci: Teach PCI Bridges about VGA routing pci: Add PCI VGA helpers virtio-pci: guest notifier mask without non-irqfd virtio-net: remove layout assumptions for mq ctrl ...
2013-03-26roms: switch oldnoconfig to olddefconfigMichael S. Tsirkin
When a new option is added that qemu does not know about, the prudent thing is to use the default not force it to "no". Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2013-03-25ipxe: disable two second timeoutGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-03-18Add Makefile rules to build nic rom binaries with efi supportGerd Hoffmann
"make -C roms efirom" will build rom binaries with EFI support. They are composed from three images: legacy bios, efi ia32 and efi x64. So netbooting via SeaBIOS will continue to work like it does today, and additionally we get network support for EFI. This target needs the EfiRom utility (shipped with edk2) somewhere in the $PATH. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-03-18Update ipxe submodule to latest masterGerd Hoffmann
Needed for efi support. ipxe is grown a bit, so *not* recompiling the (non-efi) pxe roms because that would make some pxe roms larger than 64k, which in turn would be a guest-visible change because the rom bar size grows from 64k to 128k. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-03-18Add Makefile rules to build nic rom binariesGerd Hoffmann
"make -C roms pxerom" will build the ipxe roms and update the binaries in pc-bios/, i.e. it basically documents how the build process of our current nic roms works. 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-02-14Revert "Update OpenBIOS images"Alexander Graf
This reverts commit 10442558ab1797bfbb01285b909e34c5cf038f12. With the updated OpenBIOS image, -M g3beige fails to boot quik. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-id: 1360796292-27078-1-git-send-email-agraf@suse.de Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>