d880b28cef
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>
194 KiB
194 KiB