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>
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>
We got the wrong version of stl_p, the one that bswaps as appropriate
for the target. Since x86 is always little-endian, the "_le_" routine
will resolve to what we want.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Commit e586822a5 broke the bsd-user build when it removed the
CONFIG_UNAME_RELEASE define but forgot to remove the use of it
in bsd-user. Fix this in the simplest possible way (bsd-user
doesn't make any use at all of the qemu_uname_release variable
except to allow it to be pointlessly set by the user, so this
is all we need to do.)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1399648001-20980-1-git-send-email-peter.maydell@linaro.org
* remotes/bonzini/configure:
libcacard: remove libcacard-specific CFLAGS and LIBS from global vars
build: simplify and fix fix-obj-vars
build: convert some obj-specific CFLAGS to use new foo.o-cflags syntax
build: add support for per-object -cflags and -libs to all rules
Makefile: use $(INSTALL_LIB) for modules not $(INSTALL_PROG)
Makefile.target: use $(INSTALL_PROG) for installing, not $(INSTALL)
Makefile: strip tools and modules too
build: simplify Makefile.target around unnest-vars invocations
build: simplify Makefile.target a bit, use just one rule for softmmu
build: Fix per-object variables for Makefile.target
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJTbSUxAAoJEJykq7OBq3PIh+EH/1pfLspteDS4hlTZZ8D5r+iN
AEmemUQpMDGawLHQSJcK3xgNWSz5ei3HxLuXz9+5f3ZhP+ECsrTnf+60uzHkdd6j
axG1viAHEBtX0ZumTdo0XY6FtCZmCRqRz8nfqxs1Q3O7UtZaDqLf1m/BNguw5K8G
VHtuPAVidTWcS6QT6CoEdJ4coA3F8ZuK1viTU2nsBE28lqB99ZG9Zkr2pOCXXra2
5d6OIZYyc+PNW2HuNZTmma41aVoYJnT797qr2cLbZ3q38ykwmWU6cNrLsf+O91yT
wnsCG6g1MdQb9mwVp0spPU/X/IuKbRg449XOzY9Ko4HmuSn1Inf6gUIBMigecjQ=
=wmRq
-----END PGP SIGNATURE-----
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging
Block pull request
# gpg: Signature made Fri 09 May 2014 19:57:53 BST using RSA key ID 81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
# gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>"
* remotes/stefanha/tags/block-pull-request:
glib: fix g_poll early timeout on windows
block: qemu-iotests - test for live migration
block: qemu-iotests - update 085 to use common.qemu
block: qemu-iotests - add common.qemu, for bash-controlled qemu tests
block/raw-posix: Try both FIEMAP and SEEK_HOLE
gluster: Correctly propagate errors when volume isn't accessible
vl.c: remove init_clocks call from main
block: Fix open flags with BDRV_O_SNAPSHOT
qemu-iotests: Test converting to streamOptimized from small cluster size
vmdk: Implement .bdrv_get_info()
vmdk: Implement .bdrv_write_compressed
qemu-img: Convert by cluster size if target is compressed
block/iscsi: bump year in copyright notice
block/nfs: Check for NULL server part
qemu-img: sort block formats in help message
iotests: Use configured python
qcow2: Fix alloc_clusters_noref() overflow detection
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
There was some modulo logic to ensure that Microblaze always booted into
physical RAM regardless of the elf entry. Removed it, as QEMU should fail
gracefully when given a bad elf, rather than attempt to run it.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
The TCSR register has only 11 valid bits. This is now used by the
linux kernel to auto-detect endianness, and causes Linux 3.15-rc1
and later to hang when run under qemu-microblaze. Mask valid bits
before writing the register to solve the problem.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
The MER register only has two valid bits. This is now used by
the linux kernel to auto-detect endianness, and causes Linux 3.15-rc1
and later to hang when run under qemu-microblaze. Mask valid bits before
writing the register to solve the problem.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
[Edgar: Untabified]
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
The INDEX_op_call case has just been obsoleted; the mov and movi
cases have not been reachable for years. Attempt to document this
both in each tcg_out_op switch, and via TCG_OPF_NOT_PRESENT.
Because of the TCG_OPF_NOT_PRESENT change, this must be done for
all targets in a single commit.
Signed-off-by: Richard Henderson <rth@twiddle.net>
The move opcodes are special in that their constraints must cover
all available registers. So instead of checking the constraints,
just use the available registers.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Avoid allocating a tcg temporary to hold the constant address,
and instead place it directly into the op_call arguments.
At the same time, convert to the newly introduced tcg_out_call
backend function, rather than invoking tcg_out_op for the call.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Now that all backends do define TCG_TARGET_INSN_UNIT_SIZE,
remove the fallback definition.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
And use tcg pointer differencing functions as appropriate.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
And use tcg pointer differencing functions as appropriate.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Using a 16-byte aligned structure achieves best results, both for code
cleanliness and compiled code size. However, this means that we can't
use the trick of encoding the slot number into the low 2 bits.
Thankfully, we only ever use slot2, so make that explicit in the names
of the relocation functions, and drop the code for other slots.
Signed-off-by: Richard Henderson <rth@twiddle.net>
And use tcg pointer differencing functions as appropriate.
Acked-by: Claudio Fontana <claudio.fontana@huawei.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
And use tcg pointer differencing functions as appropriate.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
And use tcg pointer differencing functions as appropriate.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
And use tcg pointer differencing functions as appropriate.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
And use tcg pointer differencing functions as appropriate.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
And use tcg pointer differencing functions as appropriate.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
To be defined by the tcg backend based on the elemental unit of the ISA.
During the transition, allow TCG_TARGET_INSN_UNIT_SIZE to be undefined,
which allows us to default tcg_insn_unit to the current uint8_t.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
To avoid C undefined behaviour when patching generated code,
provide wrappers tcg_patch8/16/32/64 which use the usual memcpy
trick, and use them in the i386 backend.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Avoid stores to unaligned addresses in TCG code generation, by using the
usual memcpy() approach. (Using bswap.h would drag a lot of QEMU baggage
into TCG, so it's simpler just to do direct memcpy() here.)
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
The code which patches x86 jump instructions assumes it can do an
unaligned write of a uint32_t. This is actually safe on x86, but it's
still undefined behaviour. We have infrastructure for doing efficient
unaligned accesses which doesn't engage in undefined behaviour, so
use it.
This is technically fractionally less efficient, at least with gcc 4.6;
instead of one instruction:
7b2: 89 3e mov %edi,(%rsi)
we get an extra spurious store to the stack slot:
7b2: 89 7c 24 64 mov %edi,0x64(%rsp)
7b6: 89 3e mov %edi,(%rsi)
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Currently all what's needed for single file libcacard/vcard_emul_nss.c
(libnss cflags) and hw/usb/ccid-card-emulated.c (libcacard includes)
together with the libs is added to global QEMU_CFLAGS and libs_softmmu.
Use the cflags only where really used (for two mentioned files), and
libs only where needed.
While at it, rename variables to better reflect reality: libcacard_*
is really nss_*.
This needs a bit more tweaking: $(NSS_LIBS) should not contain $glib_libs
(ditto for _cflags). But in order to fix it, some more preparations
should be made first. So add a FIXME comment.
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
fix-obj-vars has the undesired side effect of breaking -cflags
-objs and -libs variables in the toplevel Makefile.objs. The
variables in the toplevel Makefile.objs do not need any fix,
so fix-obj-vars need not do anything.
Since we are touching it, remove the now unnecessary $(if)
in the callers.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
g_poll has a problem on Windows when using
timeouts < 10ms, in glib/gpoll.c:
/* If not, and we have a significant timeout, poll again with
* timeout then. Note that this will return indication for only
* one event, or only for messages. We ignore timeouts less than
* ten milliseconds as they are mostly pointless on Windows, the
* MsgWaitForMultipleObjectsEx() call will timeout right away
* anyway.
*/
if (retval == 0 && (timeout == INFINITE || timeout >= 10))
retval = poll_rest (poll_msgs, handles, nhandles, fds, nfds, timeout);
so whenever g_poll is called with timeout < 10ms it does
a quick poll instead of wait, this causes significant performance
degradation of QEMU, thus we should use WaitForMultipleObjectsEx
directly
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This is an initial, simple live migration test from one
running VM to another, using monitor commands.
This is also an example of using the new common.qemu functions
for controlling multiple running qemu instances, for tests that
need a live qemu vm.
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Jeff Cody <jcody@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
The new functionality of common.qemu implements the QEMU control
and communication functionality that was originally in test 085.
This removes that now-duplicate functionality, and uses the
common.qemu functions.
The QEMU commandline changes slightly due to this; in addition to
monitor and qmp i/o options, the new QEMU commandline from inside
common.qemu now introduces -machine accel=qtest.
Reviewed-by: Benoit Canet <benoit@irqsave.net>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Jeff Cody <jcody@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This creates some common functions for bash language qemu-iotests
to control, and communicate with, a running QEMU process.
4 functions are introduced:
1. _launch_qemu()
This launches the QEMU process(es), and sets up the file
descriptors and fifos for communication. You can choose to
launch each QEMU process listening for either QMP or HMP
monitor. You can call this function multiple times, and
save the handle returned from each. The returned handle is
in $QEMU_HANDLE. You must copy this value.
Commands 2 and 3 use the handle received from _launch_qemu(), to talk
to the appropriate process.
2. _send_qemu_cmd()
Sends a command string, specified by $2, to QEMU. If $3 is
non-NULL, _send_qemu_cmd() will wait to receive $3 as a
required result string from QEMU. Failure to receive $3 will
cause the test to fail. The command can optionally be retried
$qemu_cmd_repeat number of times. Set $qemu_error_no_exit
to not force the test the fail on exit; in this case,
$QEMU_STATUS[$1] will be set to -1 on failure.
3. _timed_wait_for()
Waits for a response, for up to a default of 10 seconds. If
$2 is not seen in that time (anywhere in the response), then
the test fails. Primarily used by _send_qemu_cmd, but could
be useful standalone, as well. To prevent automatic exit
(and therefore test failure), set $qemu_error_no_exit to a
non-NULL value. If $silent is a non-NULL value, then output
to stdout will be suppressed.
4. _cleanup_qemu()
Kills the running QEMU processes, and removes the fifos.
Signed-off-by: Jeff Cody <jcody@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
The current version of raw-posix always uses ioctl(FS_IOC_FIEMAP) if
FIEMAP is available; lseek with SEEK_HOLE/SEEK_DATA are not even
compiled in in this case. However, there may be implementations which
support the latter but not the former (e.g., NFSv4.2) as well as vice
versa.
To cover both cases, try FIEMAP first (as this will return -ENOTSUP if
not supported instead of returning a failsafe value (everything
allocated as a single extent)) and if that does not work, fall back to
SEEK_HOLE/SEEK_DATA.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
The docs for glfs_init suggest that the function sets errno on every
failure. In fact it doesn't. As other functions such as
qemu_gluster_open() in the gluster block code report their errors based
on this fact we need to make sure that errno is set on each failure.
This fixes a crash of qemu-img/qemu when a gluster brick isn't
accessible from given host while the server serving the volume
description is.
Thread 1 (Thread 0x7ffff7fba740 (LWP 203880)):
#0 0x00007ffff77673f8 in glfs_lseek () from /usr/lib64/libgfapi.so.0
#1 0x0000555555574a68 in qemu_gluster_getlength ()
#2 0x0000555555565742 in refresh_total_sectors ()
#3 0x000055555556914f in bdrv_open_common ()
#4 0x000055555556e8e8 in bdrv_open ()
#5 0x000055555556f02f in bdrv_open_image ()
#6 0x000055555556e5f6 in bdrv_open ()
#7 0x00005555555c5775 in bdrv_new_open ()
#8 0x00005555555c5b91 in img_info ()
#9 0x00007ffff62c9c05 in __libc_start_main () from /lib64/libc.so.6
#10 0x00005555555648ad in _start ()
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Clocks are initialized in qemu_init_main_loop. They are not needed before it.
Initializing them twice is not only unnecessary but is harmful: it results in
memory leak and potentially can lead to a situation where different parts of
QEMU use different sets of timers.
To avoid it remove init_clocks call from main and add an assertion to
qemu_clock_init that corresponding clock has not been initialized yet.
Signed-off-by: Kirill Batuzov <batuzovk@ispras.ru>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
The immediately visible effect of this patch is that it fixes committing
a temporary snapshot to its backing file. Previously, it would fail with
a "permission denied" error because bdrv_inherited_flags() forced the
backing file to be read-only, ignoring the r/w reopen of bdrv_commit().
The bigger problem this revealed is that the original open flags must
actually only be applied to the temporary snapshot, and the original
image file must be treated as a backing file of the temporary snapshot
and get the right flags for that.
Reported-by: Jan Kiszka <jan.kiszka@web.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
* remotes/qmp-unstable/queue/qmp: (38 commits)
Revert "qapi: Clean up superfluous null check in qapi_dealloc_type_str()"
qapi: Document optional arguments' backwards compatibility
qmp: use valid JSON in transaction example
qmp: Don't use error_is_set() to suppress additional errors
dump: Drop pointless error_is_set(), DumpState member errp
qemu-option: Clean up fragile use of error_is_set()
qga: Drop superfluous error_is_set()
qga: Clean up fragile use of error_is_set()
qapi: Clean up fragile use of error_is_set()
tests/qapi-schema: Drop superfluous error_is_set()
qapi: Drop redundant, unclean error_is_set()
hmp: Guard against misuse of hmp_handle_error()
qga: Use return values instead of error_is_set(errp)
error: Consistently name Error ** objects errp, and not err
qmp: Consistently name Error ** objects errp, and not err
qga: Consistently name Error ** objects errp, and not err
qmp hmp: Consistently name Error * objects err, and not errp
pci-assign: assigned_initfn(): set monitor error in common error handler
pci-assign: propagate errors from assign_intx()
pci-assign: propagate errors from assign_device()
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>