QEMU With E2K User Support
ffdc5a2bce
shortlog ======== Andrew Widdersheim (1): [netdevice] Add "ifname" setting Carl Henrik Lunde (1): [vmxnet3] Avoid completely filling the TX descriptor ring Christian Hesse (2): [golan] Fix build error on some versions of gcc [ath9k] Fix buffer overrun for ar9287 Christian Nilsson (2): [intel] Add PCI device ID for another I219-V [intel] Add PCI device ID for another I219-LM Hummel Frank (1): [intel] Add INTEL_NO_PHY_RST for I218-LM Kyösti Mälkki (1): [intel] Add PCI IDs for i210/i211 flashless operation Ladi Prosek (6): [pci] Add pci_find_next_capability() [virtio] Add virtio 1.0 constants and data structures [virtio] Add virtio 1.0 PCI support [virtio] Add virtio-net 1.0 support [virtio] Renumber virtio_pci_region flags [virtio] Fix virtio-pci logging Leendert van Doorn (2): [tg3] Fix address truncation bug on 64-bit machines [tg3] Add missing memory barrier Michael Brown (287): [settings] Re-add "uristring" setting type [dhcp] Do not skip ProxyDHCPREQUEST if next-server is empty [efi] Add definitions of GUIDs observed when booting shim.efi and grub.efi [efi] Mark EFI debug transcription functions as __attribute__ (( pure )) [efi] Remove raw EFI_HANDLE values from debug messages [efi] Include installed protocol list in unknown handle names [efi] Improve efi_wrap debugging [pxe] Construct all fake DHCP packets before starting PXE NBP [efi] Add definitions of GUIDs observed when booting wdsmgfw.efi [efi] Fix debug directory size [efi] Populate debug directory entry FileOffset field [build] Search for ldlinux.c32 separately from isolinux.bin [tcpip] Allow supported address families to be detected at runtime [efi] Allow calls to efi_snp_claim() and efi_snp_release() to be nested [efi] Fix order of events on SNP removal path [efi] Do not return EFI_NOT_READY from our ReceiveFilters() method [pxe] Populate ciaddr in fake PXE Boot Server ACK packet [uri] Generalise tftp_uri() to pxe_uri() [efi] Implement the EFI_PXE_BASE_CODE_PROTOCOL [usb] Expose usb_find_driver() [usb] Add function to device's function list before attempting probe [efi] Add USB headers and GUID definitions [efi] Allow efidev_parent() to traverse multiple device generations [efi] Add a USB host controller driver based on EFI_USB_IO_PROTOCOL [tcpip] Avoid generating positive zero for transmitted UDP checksums [usb] Generalise zero-length packet generation logic [ehci] Do not treat zero-length NULL pointers as unreachable [ehci] Support arbitrarily large transfers [xhci] Support arbitrarily large transfers [efi] Provide efi_devpath_len() [efi] Include a copy of the device path within struct efi_device [usb] Select preferred USB device configuration based on driver score [usb] Allow for wildcard USB class IDs [efi] Expose unused USB devices via EFI_USB_IO_PROTOCOL [ncm] Support setting MAC address [build] Remove dependency on libiberty [efi] Minimise use of iPXE header files when building host utilities [pxe] Invoke INT 1a,564e when PXE stack is activated [pxe] Notify BIOS via INT 1a,564e for each new network device [efi] Work around broken 32-bit PE executable parsing in ImageHlp.dll [efi] Avoid infinite loops when asked to stop non-existent devices [efi] Expose an UNDI interface alongside the existing SNP interface [malloc] Avoid integer overflow for excessively large memory allocations [peerdist] Avoid NULL pointer dereference for plaintext blocks [http] Verify server port when reusing a pooled connection [efi] Reset root directory when installing EFI_SIMPLE_FILE_SYSTEM_PROTOCOL [efi] Update to current EDK2 headers [efi] Import EFI_HII_FONT_PROTOCOL definitions [fbcon] Allow character height to be selected at runtime [fbcon] Move margin calculations to fbcon.c [console] Tidy up config/console.h [build] Generalise CONSOLE_VESAFB to CONSOLE_FRAMEBUFFER [efi] Add support for EFI_GRAPHICS_OUTPUT_PROTOCOL frame buffer consoles [dhcp] Reset start time when deferring discovery [dhcp] Limit maximum number of DHCP discovery deferrals [comboot] Reset console before starting COMBOOT executable [intel] Forcibly skip PHY reset on some models [intel] Correct definition of receive overrun bit [infiniband] Add definitions for FDR and EDR link speeds [infiniband] Add qword accessors for ib_guid and ib_gid [pci] Add definitions for PCI Express function level reset (FLR) [bitops] Fix definitions for big-endian devices [smsc95xx] Add driver for SMSC/Microchip LAN95xx USB Ethernet NICs [bitops] Provide BIT_QWORD_PTR() [efi] Add %.usb target for building EFI-bootable USB (or other) disk images [usb] Use port->disconnected to check for disconnected devices [usb] Record USB device speed separately from current port speed [usb] Allow USB device IDs to include arbitrary driver-specific data [usb] Allow additional settling time for out-of-spec hubs [acm] Add support for CDC-ACM (aka USB RNDIS) devices [xhci] Ensure that zero-length packets are not part of a TRB chain [efi] Centralise EFI file system info GUIDs [build] Allow extra objects to be included in an all-drivers build [bios] Add support for injecting keypresses [settings] Expose SMBIOS settings as global variables [smsc95xx] Allow for multiple methods for obtaining the MAC address [crypto] Dual-license selected DRBG files [smsc95xx] Fetch MAC from SMBIOS OEM string for Honeywell VM3 [crypto] Dual-license more selected DRBG files [vmware] Expose GuestRPC mechanism in 64-bit builds [romprefix] Report an optimistic runtime size estimate [usb] Add support for numeric keypad on USB keyboards [http] Handle relative redirection URIs [image] Provide image_set_uri() to modify an image's URI [downloader] Update image URI in response to a redirection [tftp] Do not change current working URI when TFTP server is cleared [infiniband] Profile post work queue entry operations [pxe] Colourise debug output [pxe] Add debug message to display real-mode segment addresses [i386] Add check_bios_interrupts() debug function [debug] Allow debug colourisation to be disabled [stp] Fix incorrectly disambiguated errors [build] Add named configuration for public cloud environments [smsc95xx] Enable LEDs [usb] Allow USB endpoints to specify a reserved header length for refills [smsc95xx] Reserve headroom in received packets [autoboot] Fix incorrect boolean logic [uri] Avoid potentially large stack allocation [ocsp] Avoid including a double path separator in request URI [tftp] Mangle initial slash on TFTP URIs [uri] Apply URI decoding for all parsed URIs [tcp] Guard against malformed TCP options [slam] Avoid potential division by zero [ath9k] Remove broken ath_rxbuf_alloc() [ehci] Add extra debugging information [malloc] Guard against unsigned integer overflow [iobuf] Improve robustness of I/O buffer allocation [pxe] Clarify comments regarding shrinking of cached DHCP packet [efi] Add missing definitions for function key scancodes [prefix] Pad .text16 and .data16 segment sizes at build time [libc] Split rmsetjmp() and rmlongjmp() into a separate rmsetjmp.h [bios] Use intptr_t when casting .text16 function pointers [bios] Use size_t when casting _text16_memsz and _data16_memsz [bios] Allow relocate.c to be compiled for x86_64 [bios] Allow rtc_entropy.c to be compiled for x86_64 [bios] Allow bzimage.c to be compiled for x86_64 [bios] Allow bios_console.c to be compiled for x86_64 [bios] Allow memmap.c to be compiled for x86_64 [bios] Allow librm to be compiled for x86_64 [bios] Move isolinux definitions to Makefile.pcbios [bios] Add bin-x86_64-pcbios build platform [librm] Discard argument as part of return from prot_call() [librm] Discard argument as part of return from real_call() [prefix] Align INT 15,88 temporary decompression area to a page boundary [romprefix] Align PMM temporary decompression area to a page boundary [bios] Make uses of REAL_CODE() and PHYS_CODE() 64-bit clean [librm] Use garbage-collectable section names [bios] Use an 8kB stack for x86_64 [prefix] Use garbage-collectable section names [librm] Simplify definitions for prot_call() and real_call() stack frames [prefix] Standardise calls to prot_call() [librm] Convert prot_call() to a real-mode near call [librm] Provide an abstraction wrapper for prot_call [librm] Transition to protected mode within init_librm() [relocate] Preserve page alignment during relocation [librm] Prepare for long-mode memory map [librm] Generate page tables for 64-bit builds [build] Fix building on older versions of binutils [librm] Add phys_call() wrapper for calling code with physical addressing [librm] Do not preserve flags unnecessarily [librm] Mark virt_offset, text16, data16, rm_cs, and rm_ds as constant [librm] Support userptr_t in 64-bit builds [librm] Rename prot_call() to virt_call() [librm] Add support for running in 64-bit long mode [ioapi] Split ioremap() out to a separate IOMAP API [librm] Support ioremap() for addresses above 4GB in a 64-bit build [netdevice] Refuse to create duplicate network device names [infiniband] Remove concept of whole-device owner data [infiniband] Avoid multiple calls to ib_cmrc_shutdown() [infiniband] Add support for performing service record lookups [infiniband] Assign names to Infiniband devices for debug messages [infiniband] Use "%#lx" as format specifier for queue pair numbers [infiniband] Use "%d" as format specifier for LIDs [infiniband] Use connection's local ID as debug message identifier [infiniband] Use correct transaction identifier in CM responses [infiniband] Do not use GRH for local paths [infiniband] Record multicast GID attachment as part of group membership [infiniband] Parse MLID, rate, and SL from multicast membership record [ipoib] Avoid unnecessary path record lookup for broadcast address [ipoib] Simplify test for received broadcast packets [infiniband] Allow for the creation of multicast groups [pcbios] Restrict external memory allocations to the low 4GB [infiniband] Assign names to CMRC connections [infiniband] Assign names to queue pairs [infiniband] Add "ibstat" command [infiniband] Retrieve GID flag from cached path entries [ipoib] Resimplify test for received broadcast packets [ipoib] Increase number of transmit work queue entries [ifmgmt] Include human-readable error message for configuration failure [infiniband] Make IPoIB support configurable at build time [eoib] Add Ethernet over Infiniband (EoIB) driver [eoib] Silently ignore EoIB heartbeat packets [eoib] Allow the multicast group to be forcefully created [eoib] Support non-FullMember gateway devices [xsigo] Add support for Xsigo virtual Ethernet (XVE) EoIB devices [efi] Work around broken GetFontInfo() implementations [tls] Avoid potential out-of-bound reads in length fields [crypto] Allow for zero-length ASN.1 cursors [pixbuf] Check for unsigned integer overflow on multiplication [arp] Validate length of ARP packet [librm] Do not unconditionally preserve flags across virt_call() [linda] Use standard readq() and writeq() implementations [qib7322] Use standard readq() and writeq() implementations [test] Add missing #include <string.h> [serial] Add missing #include <string.h> [3c595] Fix compilation when "char" is unsigned by default [tg3] Remove x86-specific inline assembly [efi] Centralise architecture-independent EFI Makefile and linker script [build] Allow assembler section type character to vary by architecture [build] Accept CROSS= as a synonym for CROSS_COMPILE= [efi] Update to current EDK2 headers [efi] Add processor binding headers for ARM and AArch64 [uri] Support URIs containing only scheme and path components [uri] Support "file:" URIs describing relative paths [efi] Provide access to files stored on EFI filesystems [build] Remove long-obsolete header file [pseudobit] Rename bitops.h to pseudobit.h [bitops] Add generic atomic bit test, set, and clear functions [hyperv] Use generic set_bit() function [xen] Use generic test_and_clear_bit() function [test] Move i386-specific tests to arch/i386/tests [efi] Move architecture-independent EFI prefixes to interface/efi [libc] Allow container_of() to be used on volatile pointers [ipoib] Allow external code to identify IPoIB network devices [hermon] Add missing iounmap() [arbel] Add missing iounmap() [linda] Add missing iounmap() [qib7322] Add missing iounmap() [crypto] Allow trusted certificates to be stored in non-volatile options [hermon] Allocate space for GRH on UD queue pairs [arbel] Allocate space for GRH on UD queue pairs [infiniband] Allow drivers to override the eIPoIB LEMAC [build] Do not use "objcopy -O binary" for objects with relocation records [gdb] Add support for x86_64 [int13] Allow drive to be hooked using the natural drive number [int13] Allow default drive to be specified via "san-drive" setting [3c5x9] Avoid use of sleep() in driver code [etherfabric] Avoid use of sleep() in driver code [hermon] Fix received packet length [arbel] Fix received packet length [libc] Make sleep() interruptible [pxe] Implicitly open network device in PXENV_UDP_OPEN [prefix] Use CRC32 to verify each block prior to decompression [crypto] Allow cross-certificate source to be configured at build time [iscsi] Include DHCP server address in iBFT [netdevice] Return ENOENT for an unknown bus type [linda] Validate payload length [qib7322] Validate payload length [test] Update snprintf_ok() to use okx() [libc] Print "<NULL>" for wide-character NULL strings [efi] Work around broken EFI HII specification [comboot] Support COMBOOT in 64-bit builds [ethernet] Make LACP support configurable at build time [libc] Allow CPU architectures to use unoptimised string functions [libgcc] Provide symbol to handle gcc's implicit calls to memset() [image] Skip misleading "format not recognised" error message [librm] Reduce real-mode stack consumption in virt_call() [tg3] Fix _tg3_flag() for 64-bit builds [librm] Preserve FPU, MMX and SSE state across calls to virt_call() [efi] Eliminate use of libbfd [build] Remove unnecessary dependency on zlib [tcpip] Do not fall back to using unoptimised TCP/IP checksumming [efi] Use a timer event to generate the currticks() timer [efi] Generalise EFI entropy generation to non-x86 CPUs [sis190] Fix building with GCC 6 [skge] Fix building with GCC 6 [golan] Fix building with GCC 6 [ath] Fix building with GCC 6 [legacy] Fix building with GCC 6 [libgcc] Provide __divmoddi4() [bitops] Fix typo in test case [arm] Add support for 32-bit ARM [arm] Avoid instruction references to symbols defined via ".equ" [arm] Split out 32-bit-specific code to arch/arm32 [arm] Add support for 64-bit ARM (Aarch64) [efi] Allow for building with older versions of elf.h system header [libc] Avoid implicit assumptions about potentially-optimised memcpy() [arm] Add optimised string functions for 64-bit ARM [arm] Add optimised TCP/IP checksumming for 64-bit ARM [efi] Guard against GetStatus() failing to return a NULL TX buffer [arm] Use CNTVCT_EL0 as profiling timestamp [undi] Work around broken HP EliteBook 745 G3 PXE ROM [pci] Add support for PCI Enhanced Allocation [settings] Extend numerical setting tags to "unsigned long" [netdevice] Fix failure path in register_netdev() [lotest] Add option to use broadcast packets for loopback testing [http] Ignore unrecognised "Connection" header tokens [efi] Work around broken UEFI keyboard drivers [axge] Add driver for ASIX 10/100/1000 USB Ethernet NICs [arm] Use correct DHCP client architecture values [dhcp] Fix definitions for x86_64 and EFI BC client architectures [efi] Expose DHCP packets via the Apple NetBoot protocol [libc] Always use a non-zero seed for the (non-crypto) RNG [pci] Support systems with multiple PCI root bridges [http] Accept headers with no whitespace following the colon [tcp] Send TCP keepalives on idle established connections [time] Allow system clock to be adjusted at runtime [ntp] Add simple NTP client [cmdline] Add "ntp" command [thunderx] Add driver for Cavium ThunderX SoC NICs [thunderx] Fix channel configuration for VNICs 1-7 [efi] Include VLAN in SNP device path if applicable [thunderx] Retrieve base MAC address via EFI_THUNDER_CONFIG_PROTOCOL [smsc75xx] Allow up to 100ms for reset to complete [efi] Report failures to stop the EFI timer tick event [efi] Do not copy garbage bytes into SNP device path MAC address [thunderx] Fix compilation with older versions of gcc Mika Tiainen (1): [intel] Add INTEL_NO_PHY_RST for another I218-LM variant Suresh Sundriyal (1): [pool] Fix check for reopenable pooled connections Torgeir Wulfsberg (1): [intel] Add INTEL_NO_PHY_RST for I217-LM Vinson Lee (2): [mucurses] Fix GCC 6 nonnull-compare errors [build] Remove nested "my" declaration Wissam Shoukair (3): [golan] Add Connect-IB, ConnectX-4 and ConnectX-4 Lx (Infiniband) support [mlx_icmd] Fix compilation error in GCC versions newer than 4.6.4 [golan] Add missing iounmap() Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> |
||
---|---|---|
audio | ||
backends | ||
block | ||
bsd-user | ||
contrib | ||
crypto | ||
default-configs | ||
disas | ||
docs | ||
dtc@65cc4d2748 | ||
fpu | ||
fsdev | ||
gdb-xml | ||
hw | ||
include | ||
io | ||
libdecnumber | ||
linux-headers | ||
linux-user | ||
migration | ||
nbd | ||
net | ||
pc-bios | ||
pixman@87eea99e44 | ||
po | ||
qapi | ||
qga | ||
qobject | ||
qom | ||
replay | ||
roms | ||
scripts | ||
slirp | ||
stubs | ||
target-alpha | ||
target-arm | ||
target-cris | ||
target-i386 | ||
target-lm32 | ||
target-m68k | ||
target-microblaze | ||
target-mips | ||
target-moxie | ||
target-openrisc | ||
target-ppc | ||
target-s390x | ||
target-sh4 | ||
target-sparc | ||
target-tilegx | ||
target-tricore | ||
target-unicore32 | ||
target-xtensa | ||
tcg | ||
tests | ||
trace | ||
ui | ||
util | ||
.dir-locals.el | ||
.exrc | ||
.gitignore | ||
.gitmodules | ||
.mailmap | ||
.travis.yml | ||
accel.c | ||
aio-posix.c | ||
aio-win32.c | ||
arch_init.c | ||
async.c | ||
balloon.c | ||
block.c | ||
blockdev-nbd.c | ||
blockdev.c | ||
blockjob.c | ||
bootdevice.c | ||
bt-host.c | ||
bt-vhci.c | ||
Changelog | ||
CODING_STYLE | ||
configure | ||
COPYING | ||
COPYING.LIB | ||
cpu-exec-common.c | ||
cpu-exec.c | ||
cpus.c | ||
cputlb.c | ||
device_tree.c | ||
device-hotplug.c | ||
disas.c | ||
dma-helpers.c | ||
dump.c | ||
exec.c | ||
gdbstub.c | ||
HACKING | ||
hmp-commands-info.hx | ||
hmp-commands.hx | ||
hmp.c | ||
hmp.h | ||
iohandler.c | ||
ioport.c | ||
iothread.c | ||
kvm-all.c | ||
kvm-stub.c | ||
LICENSE | ||
main-loop.c | ||
MAINTAINERS | ||
Makefile | ||
Makefile.objs | ||
Makefile.target | ||
memory_mapping.c | ||
memory.c | ||
module-common.c | ||
monitor.c | ||
numa.c | ||
os-posix.c | ||
os-win32.c | ||
page_cache.c | ||
qapi-schema.json | ||
qdev-monitor.c | ||
qdict-test-data.txt | ||
qemu-bridge-helper.c | ||
qemu-char.c | ||
qemu-doc.texi | ||
qemu-ga.texi | ||
qemu-img-cmds.hx | ||
qemu-img.c | ||
qemu-img.texi | ||
qemu-io-cmds.c | ||
qemu-io.c | ||
qemu-nbd.c | ||
qemu-nbd.texi | ||
qemu-options-wrapper.h | ||
qemu-options.h | ||
qemu-options.hx | ||
qemu-seccomp.c | ||
qemu-tech.texi | ||
qemu-timer.c | ||
qemu.nsi | ||
qemu.sasl | ||
qmp-commands.hx | ||
qmp.c | ||
qtest.c | ||
README | ||
rules.mak | ||
softmmu_template.h | ||
spice-qemu-char.c | ||
tcg-runtime.c | ||
tci.c | ||
thread-pool.c | ||
thunk.c | ||
tpm.c | ||
trace-events | ||
translate-all.c | ||
translate-all.h | ||
translate-common.c | ||
user-exec.c | ||
VERSION | ||
version.rc | ||
vl.c | ||
xen-common-stub.c | ||
xen-common.c | ||
xen-hvm-stub.c | ||
xen-hvm.c | ||
xen-mapcache.c |
QEMU README =========== QEMU is a generic and open source machine & userspace emulator and virtualizer. QEMU is capable of emulating a complete machine in software without any need for hardware virtualization support. By using dynamic translation, it achieves very good performance. QEMU can also integrate with the Xen and KVM hypervisors to provide emulated hardware while allowing the hypervisor to manage the CPU. With hypervisor support, QEMU can achieve near native performance for CPUs. When QEMU emulates CPUs directly it is capable of running operating systems made for one machine (e.g. an ARMv7 board) on a different machine (e.g. an x86_64 PC board). QEMU is also capable of providing userspace API virtualization for Linux and BSD kernel interfaces. This allows binaries compiled against one architecture ABI (e.g. the Linux PPC64 ABI) to be run on a host using a different architecture ABI (e.g. the Linux x86_64 ABI). This does not involve any hardware emulation, simply CPU and syscall emulation. QEMU aims to fit into a variety of use cases. It can be invoked directly by users wishing to have full control over its behaviour and settings. It also aims to facilitate integration into higher level management layers, by providing a stable command line interface and monitor API. It is commonly invoked indirectly via the libvirt library when using open source applications such as oVirt, OpenStack and virt-manager. QEMU as a whole is released under the GNU General Public License, version 2. For full licensing details, consult the LICENSE file. Building ======== QEMU is multi-platform software intended to be buildable on all modern Linux platforms, OS-X, Win32 (via the Mingw64 toolchain) and a variety of other UNIX targets. The simple steps to build QEMU are: mkdir build cd build ../configure make Complete details of the process for building and configuring QEMU for all supported host platforms can be found in the qemu-tech.html file. Additional information can also be found online via the QEMU website: http://qemu-project.org/Hosts/Linux http://qemu-project.org/Hosts/W32 Submitting patches ================== The QEMU source code is maintained under the GIT version control system. git clone git://git.qemu-project.org/qemu.git When submitting patches, the preferred approach is to use 'git format-patch' and/or 'git send-email' to format & send the mail to the qemu-devel@nongnu.org mailing list. All patches submitted must contain a 'Signed-off-by' line from the author. Patches should follow the guidelines set out in the HACKING and CODING_STYLE files. Additional information on submitting patches can be found online via the QEMU website http://qemu-project.org/Contribute/SubmitAPatch http://qemu-project.org/Contribute/TrivialPatches Bug reporting ============= The QEMU project uses Launchpad as its primary upstream bug tracker. Bugs found when running code built from QEMU git or upstream released sources should be reported via: https://bugs.launchpad.net/qemu/ If using QEMU via an operating system vendor pre-built binary package, it is preferable to report bugs to the vendor's own bug tracker first. If the bug is also known to affect latest upstream code, it can also be reported via launchpad. For additional information on bug reporting consult: http://qemu-project.org/Contribute/ReportABug Contact ======= The QEMU community can be contacted in a number of ways, with the two main methods being email and IRC - qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel - #qemu on irc.oftc.net Information on additional methods of contacting the community can be found online via the QEMU website: http://qemu-project.org/Contribute/StartHere -- End