aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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: rewrite scripts/refresh-pxe-roms.shGerd Hoffmann
Just use the Makefile in roms/ 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-09-24linux-user: Handle SOCK_CLOEXEC/NONBLOCK if unavailable on hostEdgar E. Iglesias
If the host lacks SOCK_CLOEXEC, bail out with -EINVAL. If the host lacks SOCK_ONONBLOCK, try to emulate it with fcntl() and O_NONBLOCK. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-24[v2] linux-user: implement m68k atomic syscallsRiku Voipio
With nptl enabled, atomic_cmpxchg_32 and atomic_barrier system calls are needed. This patch enabled really dummy versions of the system calls, modeled after the m68k kernel code. With this patch I am able to execute m68k binaries with qemu linux-user (busybox compiled for coldfire). [v2] que an segfault instead of returning a EFAULT to keep in line with kernel code. Cc: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-24linux-user: Check type of microMIPS break instructionKwok Cheung Yeung
microMIPS instructions that cause breakpoint exceptions come in 16-bit and 32-bit variants. When handling exceptions caused by such instructions, the instruction type needs to be taken into account when extracting the break code. The code has also been restructured for better clarity. Signed-off-by: Kwok Cheung Yeung <kcy@codesourcery.com> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-24linux-user: correct how SOL_SOCKET is converted from target to host and backPetar Jovanovic
Previous implementation does not take into account that SOL_SOCKET constant can be arch specific. This change fixes some issues with sendmsg/recvmsg. Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-24linux-user: add support of binfmt_misc 'O' flagLaurent Vivier
The binfmt_misc module can calculate the credentials and security token according to the binary instead of to the interpreter if the 'C' flag is enabled. To be able to execute non-readable binaries, this flag implies 'O' flag. When 'O' flag is enabled, bintfmt_misc opens the file for reading and pass the file descriptor to the interpreter. References: linux/Documentation/binfmt_misc.txt ['O' and 'C' description] linux/fs/binfmt_misc.c linux/fs/binfmt_elf.c [ AT_EXECFD usage ] Signed-off-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-24linux-user: add some IPV6 commands in setsockop()Laurent Vivier
Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-24linux-user: allow use of TIOCGSIDLaurent Vivier
Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-24linux-user: Add setsockopt(SO_ATTACH_FILTER)Laurent Vivier
This is needed to be able to run dhclient. Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-24linux-user: convert /proc/net/route when endianess differsLaurent Vivier
This patch allows to have IP addresses in correct order in the case of "netstat -nr" when the endianess of the guest differs from one of the host. For instance, an m68k guest on an x86_64 host: WITHOUT this patch: $ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 1.3.0.10 0.0.0.0 UG 0 0 0 eth0 0.3.0.10 0.0.0.0 0.255.255.255 U 0 0 0 eth0 $ cat /proc/net/route Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT eth0 00000000 0103000A 0003 0 0 0 000000000 0 0 eth0 0003000A 00000000 0001 0 0 0 00FFFFFF0 0 0 WITH this patch: $ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.0.3.1 0.0.0.0 UG 0 0 0 eth0 10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 $ cat /proc/net/route Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT eth0 00000000 0a000301 0003 0 0 0 000000000 0 0 eth0 0a000300 00000000 0001 0 0 0 ffffff000 0 0 Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-24mips-linux-user: Adjust names in mips_syscall_argsRichard Henderson
The name field of MIPS_SYS isn't actually used; it's just documentation. But adjust the umount entries to match mips/syscall_nr.h anyway. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-24alpha-linux-user: Fix umount syscall numbersRichard Henderson
It has been pointed out on LKML that the alpha umount syscall numbers are named wrong, and a patch to rectify that has been posted for 3.11. Glibc works around this by treating NR_umount as NR_umount2 if NR_oldumount exists. That's more complicated than we need in QEMU, given that we control linux-user/*/syscall_nr.h. This is the last instance of TARGET_NR_oldumount, so delete that from the strace.list. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-09-23Merge remote-tracking branch 'stefanha/tracing' into stagingAnthony Liguori
# By Alexey Kardashevskiy # Via Stefan Hajnoczi * stefanha/tracing: kvm: fix traces to use %x instead of %d Message-id: 1379699931-5837-1-git-send-email-stefanha@redhat.com
2013-09-23Merge remote-tracking branch 'stefanha/net' into stagingAnthony Liguori
# By Aurelien Jarno (1) and Vincenzo Maffione (1) # Via Stefan Hajnoczi * stefanha/net: e1000: NetClientInfo.receive_iov implemented pcnet-pci: mark I/O and MMIO as LITTLE_ENDIAN Message-id: 1379699613-5338-1-git-send-email-stefanha@redhat.com
2013-09-23Merge remote-tracking branch 'stefanha/block' into stagingAnthony Liguori
# By Stefan Hajnoczi (4) and others # Via Stefan Hajnoczi * stefanha/block: virtio-blk: do not relay a previous driver's WCE configuration to the current blockdev: do not default cache.no-flush to true block: don't lose data from last incomplete sector qcow2: Correct snapshots size for overlap check coroutine: fix /perf/nesting coroutine benchmark coroutine: add qemu_coroutine_yield benchmark qemu-timer: do not take the lock in timer_pending qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe qemu-timer: drop outdated signal safety comments osdep: warn if open(O_DIRECT) on fails with EINVAL libcacard: link against qemu-error.o for error_report() Message-id: 1379698931-946-1-git-send-email-stefanha@redhat.com
2013-09-23Merge remote-tracking branch 'mjt/trivial-patches' into stagingAnthony Liguori
# By Stefan Weil (8) and others # Via Michael Tokarev * mjt/trivial-patches: tests/.gitignore: ignore test-throttle exec: Fix broken build for MinGW (regression) kvm: Fix compiler warning (clang) tcg-sparc: Fix parenthesis warning Makefile: Remove some more files when cleaning target-i386: Fix segment cache dump iov: avoid "orig_len may be used unitialized" warning vscclient: remove unnecessary use of uninitialized variable trace-events: Clean up with scripts/cleanup-trace-events.pl again tci: Fix qemu-alpha on 32 bit hosts (wrong assertions) *-user: Improve documentation for lock_user function MAINTAINERS: Add missing entry to filelist for TCI target translate-all: Fix formatting of dump output *-user: Fix typo in comment (ulocking -> unlocking) docs: Fix IO port number for CPU present bitmap. q35: Fix typo in constant DEFUALT -> DEFAULT. configure: Undefine _FORTIFY_SOURCE prior using it Message-id: 1379696296-32105-1-git-send-email-mjt@msgid.tls.msk.ru
2013-09-23Merge remote-tracking branch 'qemu-kvm/uq/master' into stagingAnthony Liguori
# By Alexey Kardashevskiy (3) and others # Via Paolo Bonzini * qemu-kvm/uq/master: target-i386: add feature kvm_pv_unhalt linux-headers: update to 3.12-rc1 target-i386: forward CPUID cache leaves when -cpu host is used linux-headers: update to 3.11 kvm: fix traces to use %x instead of %d kvmvapic: Clear also physical ROM address when entering INACTIVE state kvmvapic: Enter inactive state on hardware reset kvmvapic: Catch invalid ROM size kvm irqfd: support direct msimessage to irq translation fix steal time MSR vmsd callback to proper opaque type kvm: warn if num cpus is greater than num recommended cpu: Move cpu state syncs up into cpu_dump_state() exec: always use MADV_DONTFORK Message-id: 1379694292-1601-1-git-send-email-pbonzini@redhat.com
2013-09-23Merge remote-tracking branch 'bonzini/scsi-next' into stagingAnthony Liguori
# By Hervé Poussineau (5) and Stefan Weil (1) # Via Paolo Bonzini * bonzini/scsi-next: block/iscsi: Drop iscsi_co_get_block_status for older versions of libiscsi lsi: add 53C810 variant lsi: remove todo lsi: ignore write accesses to CTEST0 registers lsi: check ssid versus sdid only if ssid is valid lsi: use constant name instead of its value
2013-09-20kvm: fix traces to use %x instead of %dAlexey Kardashevskiy
KVM request types are normally defined using hex constants but QEMU traces print decimal values instead, which is not very convenient. This changes the request type format from %d to %x. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-09-20e1000: NetClientInfo.receive_iov implementedVincenzo Maffione
This patch implements the NetClientInfo.receive_iov method for the e1000 device emulation. In this way a network backend that uses qemu_sendv_packet() can deliver the fragmented packet without requiring an additional copy in the frontend/backend network code (nc_sendv_compat() function). The existing method NetClientInfo.receive has been reimplemented using the new method. Signed-off-by: Vincenzo Maffione <v.maffione@gmail.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-09-20pcnet-pci: mark I/O and MMIO as LITTLE_ENDIANAurelien Jarno
Now that the memory subsystem is propagating the endianness correctly, the pcnet-pci device should have its I/O ports and MMIO memory marked as LITTLE_ENDIAN, as PCI devices are little endian. This makes the pcnet-pci NIC to work again on big endian MIPS Malta (default NIC). Cc: qemu-stable@nongnu.org Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-09-20virtio-blk: do not relay a previous driver's WCE configuration to the currentPaolo Bonzini
The following sequence happens: - the SeaBIOS virtio-blk driver does not support the WCE feature, which causes QEMU to disable writeback caching - the Linux virtio-blk driver resets the device, finds WCE is available but writeback caching is disabled; tells block layer to not send cache flush commands - the Linux virtio-blk driver sets the DRIVER_OK bit, which causes writeback caching to be re-enabled, but the Linux virtio-blk driver does not know of this side effect and cache flushes remain disabled The bug is at the third step. If the guest does know about CONFIG_WCE, QEMU should ignore the WCE feature's state. The guest will control the cache mode solely using configuration space. This change makes Linux do flushes correctly, but Linux will keep SeaBIOS's writethrough mode. Hence, whenever the guest is reset, the cache mode of the disk should be reset to whatever was specified in the "-drive" option. With this change, the Linux virtio-blk driver finds that writeback caching is enabled, and tells the block layer to send cache flush commands appropriately. Reported-by: Rusty Russell <rusty@au1.ibm.com Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-09-20blockdev: do not default cache.no-flush to truePaolo Bonzini
That's why all my VMs were so fast lately. :) This changed in 1.6.0 by mistake in patch 29c4e2b (blockdev: Split up 'cache' option, 2013-07-18). Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-09-20block: don't lose data from last incomplete sectorFam Zheng
To read the last sector that is not aligned to sector boundary, current code for growable backends, since commit 893a8f6 "block: Produce zeros when protocols reading beyond end of file", drops the data and directly returns zeroes. That is incorrect. Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-09-20tests/.gitignore: ignore test-throttleFam Zheng
Signed-off-by: Fam Zheng <famz@redhat.com> Reviewed-by: Benoit Canet <benoit@irqsave.net> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20exec: Fix broken build for MinGW (regression)Stefan Weil
Commit 3435f39513a104294b5e3bbf3612047028d25cfc reduced the ifdeffery with this result for MinGW: exec.c: In function ‘qemu_ram_free’: exec.c:1239:17: warning: implicit declaration of function ‘munmap’ [-Wimplicit-function-declaration] exec.c:1239:17: warning: nested extern declaration of ‘munmap’ [-Wnested-externs] exec.c:1239: undefined reference to `munmap' Add some ifdeffery again to fix this. Signed-off-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20kvm: Fix compiler warning (clang)Stefan Weil
Report from clang analyzer: clock.c:42:15: warning: Value stored to 'cpu' during its initialization is never read Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20tcg-sparc: Fix parenthesis warningRichard Henderson
error: suggest parentheses around comparison in operand of ‘&’ [-Werror=parentheses] Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20Makefile: Remove some more files when cleaningStefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20target-i386: Fix segment cache dumpTobias Markus
When in Long Mode, cpu_x86_seg_cache() logs "DS16" because the Default operation size bit (D/B bit) is not set for Long Mode Data Segments since there are only Data Segments in Long Mode and no explicit 16/32/64-bit Descriptors. This patch fixes this by checking the Long Mode Active bit of the hidden flags variable and logging "DS" if it is set. (I.e. in Long Mode all Data Segments are logged as "DS") Signed-off-by: Tobias Markus <tobias@markus-regensburg.de> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20iov: avoid "orig_len may be used unitialized" warningMichael Tokarev
Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20vscclient: remove unnecessary use of uninitialized variableMichael Tokarev
Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20trace-events: Clean up with scripts/cleanup-trace-events.pl againMarkus Armbruster
Event qxl_render_blit_guest_primary_initialized is unused since commit c58c7b9, drop it. Commit 42e5b4c moved hw/ppc/xics.c to hw/intc/xics.c without updating the comment in trace-events. "scripts/cleanup-trace-events.pl trace-events | diff trace-events" is now clean again. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20tci: Fix qemu-alpha on 32 bit hosts (wrong assertions)Stefan Weil
Debian busybox-static for alpha has a load address of 0x0000000120000000 which is mapped to 0x0000000020000000 for 32 bit hosts. qemu-alpha uses the TCG opcodes qemu_ld32, qemu_ld64, qemu_st32 and qemu_st64 which all raise the assertion (taddr == host_addr). Remove all assertions of this type because they are either wrong or unnecessary (when sizeof(tcg_target_ulong) >= sizeof(target_ulong)). Cc: qemu-stable <qemu-stable@nongnu.org> Signed-off-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20*-user: Improve documentation for lock_user functionStefan Weil
Add a missing "function" and replace "and" by "any". BSD and Linux use the same documentation here, so fix both. Signed-off-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20MAINTAINERS: Add missing entry to filelist for TCI targetStefan Weil
tci.c is also a maintained part of the TCI implementation. Signed-off-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20translate-all: Fix formatting of dump outputStefan Weil
The page dump writes a table with 3 abi_ulong values in each row. These values take 8 or 16 characters (depending on sizeof abi_ulong). Fix the table headings to be aligned with the table columns. old: start end size prot 0000000120000000-000000012021e000 000000000021e000 rwx 0000004000000000-0000004000002000 0000000000002000 --- 0000004000002000-0000004000802000 0000000000800000 rw- new: start end size prot 0000000120000000-000000012021e000 000000000021e000 rwx 0000004000000000-0000004000002000 0000000000002000 --- 0000004000002000-0000004000802000 0000000000800000 rw- Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20*-user: Fix typo in comment (ulocking -> unlocking)Stefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20docs: Fix IO port number for CPU present bitmap.Anthony PERARD
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Reviewd-By: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20q35: Fix typo in constant DEFUALT -> DEFAULT.Richard W.M. Jones
Signed-off-by: Richard W.M. Jones <rjones@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20configure: Undefine _FORTIFY_SOURCE prior using itMichal Privoznik
Currently, we are enforcing the _FORTIFY_SOURCE=2 without any previous detection if the macro has been already defined, e.g. by environment, or is just enabled by compiler by default. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Signed-off-by: Jan Vesely <jano.vesely@gmail.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20Merge remote-tracking branch 'spice/spice.v74' into stagingAnthony Liguori
# By Gerd Hoffmann # Via Gerd Hoffmann * spice/spice.v74: qxl: compile only once qxl: simplify page dirtying qxl: simplify qxl_rom_size qxl: define qxl operating on 4k pages Message-id: 1379583534-7831-1-git-send-email-kraxel@redhat.com
2013-09-20Merge remote-tracking branch 'kraxel/usb.90' into stagingAnthony Liguori
# By Hans de Goede (6) and Gerd Hoffmann (1) # Via Gerd Hoffmann * kraxel/usb.90: usb: Fix iovec memleak on combined-packet free usb: Also reset max_packet_size on ep_reset xhci: Fix memory leak on xhci_disable_ep xhci: Add xhci_epid_to_usbep helper function xhci: Init a transfers xhci, slotid and epid member on epctx alloc xhci: Fix number of streams allocated when using streams usb: remove old usb-host code Message-id: 1379583298-7524-1-git-send-email-kraxel@redhat.com
2013-09-20Merge remote-tracking branch 'luiz/queue/qmp' into stagingAnthony Liguori
# By Luiz Capitulino # Via Luiz Capitulino * luiz/queue/qmp: QMP: qmp-events.txt: alphabetical order fix and other minor changes QMP: Update qmp-spec.txt QMP: Update README file QMP: QMP/ -> docs/qmp/ QMP: fix qmp-commands.txt generation path QMP: add scripts/qmp Message-id: 1379509422-29115-1-git-send-email-lcapitulino@redhat.com
2013-09-20qcow2: Correct snapshots size for overlap checkMax Reitz
Using s->snapshots_size instead of snapshots_size for the metadata overlap check in qcow2_write_snapshots leads to the detection of an overlap with the main qcow2 image header when deleting the last snapshot, since s->snapshots_size has not yet been updated and is therefore non-zero. However, the offset returned by qcow2_alloc_clusters will be zero since snapshots_size is zero. Therefore, an overlap is detected albeit no such will occur. This patch fixes this by replacing s->snapshots_size by snapshots_size when calling qcow2_pre_write_overlap_check. Signed-off-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>