summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'remotes/rth/tags/pull-hppa-20170123' into stagingPeter Maydell2017-01-2436-77/+9842
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hppa-linux target support # gpg: Signature made Mon 23 Jan 2017 17:54:09 GMT # gpg: using RSA key 0xAD1270CC4DD0279B # gpg: Good signature from "Richard Henderson <rth7680@gmail.com>" # gpg: aka "Richard Henderson <rth@redhat.com>" # gpg: aka "Richard Henderson <rth@twiddle.net>" # Primary key fingerprint: 9CB1 8DDA F8E8 49AD 2AFC 16A4 AD12 70CC 4DD0 279B * remotes/rth/tags/pull-hppa-20170123: (25 commits) target-hppa: Implement floating-point insns target-hppa: Implement system and memory-management insns target-hppa: Implement loads and stores target-hppa: Implement shifts and deposits target-hppa: Implement linux-user gateway page target-hppa: Implement branches target-hppa: Implement basic arithmetic target-hppa: Add nullification framework target-hppa: Add framework and enable compilation target-hppa: Add softfloat specializations linux-user: Add HPPA startup and main loop linux-user: Add HPPA signal handling linux-user: Add HPPA target_signal.h and target_cpu.h linux-user: Add HPPA target_structs.h linux-user: Add HPPA definitions to syscall_defs.h linux-user: Add HPPA target_syscall.h linux-user: Add HPPA termbits.h linux-user: Add HPPA syscall numbers linux-user: Add HPPA socket.h definitions linux-user: Add some hppa ioctls ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * target-hppa: Implement floating-point insnsRichard Henderson2017-01-233-0/+1177
| | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * target-hppa: Implement system and memory-management insnsRichard Henderson2017-01-233-0/+219
| | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * target-hppa: Implement loads and storesRichard Henderson2017-01-233-0/+699
| | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * target-hppa: Implement shifts and depositsRichard Henderson2017-01-231-0/+309
| | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * target-hppa: Implement linux-user gateway pageRichard Henderson2017-01-231-4/+81
| | | | | | | | | | | | | | | | | | | | | | | | For linux, page 0 is mapped as an execute-only gateway. A gateway page is a special bit in the page table that allows a B,GATE insn within that page to raise processor permissions. This is how system calls are implemented for HPPA. Rather than actually map anything here, or handle permissions at all, implement the semantics of the actual linux syscall entry points. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * target-hppa: Implement branchesRichard Henderson2017-01-231-0/+477
| | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * target-hppa: Implement basic arithmeticRichard Henderson2017-01-233-0/+907
| | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * target-hppa: Add nullification frameworkRichard Henderson2017-01-231-4/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The HPPA cpu has a unique form of predicated execution in which almost any instruction can set the PSW[N] (or "nullify") bit, which suppresses execution (and even decoding) of the following instruction. Execution of a nullified insn clears the PSW[N] bit. This adds a generic framework for branching over nullified insns, or for sufficiently simple insns, transforming the writeback of the result to a conditional move. In the process, we want to be able to represent PSW[N] as a TCG condition, which implies management of the related tcg temps. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * target-hppa: Add framework and enable compilationRichard Henderson2017-01-2312-3/+1116
| | | | | | | | | | | | | | | | | | | | This is just about the minimum required to enable compilation without actually executing any instructions. This contains the HPPACPU structure and the required callbacks, the gdbstub, the basic translation loop, and a translate_one function that always results in an illegal instruction. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * target-hppa: Add softfloat specializationsRichard Henderson2017-01-231-1/+19
| | | | | | | | | | | | | | | | | | | | | | Like the original MIPS, HPPA has the MSB of an SNaN set. However, it has different rules for silencing an SNaN: (1) msb is cleared and (2) msb-1 must be set if the fraction is now zero, and (implementation defined) may be set always. I haven't checked real hardware but chose the set always alternative because it's easy and within spec. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Add HPPA startup and main loopRichard Henderson2017-01-232-0/+196
| | | | | | | | | | | | Including support for the atomic memory op syscalls. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Add HPPA signal handlingRichard Henderson2017-01-231-1/+190
| | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Add HPPA target_signal.h and target_cpu.hRichard Henderson2017-01-232-0/+64
| | | | | | | | | | | | | | The cpu.h structure that these manipulate hasn't been defined yet, but we haven't enabled compilation yet either. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Add HPPA target_structs.hRichard Henderson2017-01-231-0/+54
| | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Add HPPA definitions to syscall_defs.hRichard Henderson2017-01-231-1/+130
| |
| * linux-user: Add HPPA target_syscall.hRichard Henderson2017-01-231-0/+237
| | | | | | | | | | | | Which is primarily a re-definition of errno numbers. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Add HPPA termbits.hRichard Henderson2017-01-231-0/+219
| | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Add HPPA syscall numbersRichard Henderson2017-01-231-0/+353
| | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Add HPPA socket.h definitionsRichard Henderson2017-01-232-0/+99
| | | | | | | | | | | | | | Split this out into a "cpu/sockbits.h" file now, like we ought to do for all of the other targets. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Add some hppa ioctlsHelge Deller2017-01-231-0/+15
| | | | | | | | | | | | | | | | Add F_GETLK, F_SETLK, F_SETLKW, F_GETOWN, F_SETOWN, F_SETSIG, F_GETSIG, F_GETLK64, F_SETLK64 and F_SETLKW64 for hppa. Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Handle ERFKILL and EHWPOISONRichard Henderson2017-01-235-0/+21
| | | | | | | | | | | | With definitions for generic, alpha and mips taken from 4.9-rc2. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Add SIOCGPGRP, SIOCGSTAMP, SIOCGSTAMPNSHelge Deller2017-01-233-0/+13
| | | | | | | | | | | | | | | | | | | | Mirror syscall_defs.h for the element type of struct timeval and struct timespec, even though that's not 100% accurate for each guest. Signed-off-by: Helge Deller <deller@gmx.de> [rth: Changed the MK_ARRAY types as per above; added ioctl.h entries.] Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Handle TIOCSTART and TIOCSTOPHelge Deller2017-01-232-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some architectures (ppc, alpha, sparc, parisc, sh and xtensa) define the BSD TIOCSTART and TIOCSTOP ioctls in their kernel headers to provide compatibility to other operating systems. Those ioctls are not implemented in Linux, nevertheless, bash will use this ioctl if it's available on those architectures. To avoid false warnings, add code to simply ignore those ioctls. Signed-off-by: Helge Deller <deller@gmx.de> Message-Id: <20161206152403.GA6651@ls3530> Signed-off-by: Richard Henderson <rth@twiddle.net>
| * linux-user: Support stack-grows-up in elfload.cRichard Henderson2017-01-233-71/+180
| | | | | | | | | | | | | | | | | | HPPA is a (the) stack-grows-up target, and supporting that requires rearranging how we compute addresses while laying out the initial program stack. In addition, hppa32 requires 64-byte stack alignment so parameterize that as well. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * Revert "Remove remainders of HPPA backend"Richard Henderson2017-01-235-2/+2842
| | | | | | | | | | | | This reverts commit d41f3c3cc7a5fb9de144cc4022da14a9ff010671. Signed-off-by: Richard Henderson <rth@twiddle.net>
* | Merge remote-tracking branch 'remotes/berrange/tags/pull-qio-2017-01-23-2' ↵Peter Maydell2017-01-2322-169/+760
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into staging Merge io/ 2017-01-23 # gpg: Signature made Mon 23 Jan 2017 15:56:14 GMT # gpg: using RSA key 0xBE86EBB415104FDF # gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" # gpg: aka "Daniel P. Berrange <berrange@redhat.com>" # Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E 8E3F BE86 EBB4 1510 4FDF * remotes/berrange/tags/pull-qio-2017-01-23-2: io: introduce a DNS resolver API io: remove Error parameter from QIOTask thread worker io: change the QIOTask callback signature io: add ability to associate an error with a task io: add ability to associate an opaque "result" with with a task io: fix typo in docs for QIOTask io: stop incrementing reference in qio_task_get_source sockets: add ability to disable DNS resolution for InetSocketAddress Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * | io: introduce a DNS resolver APIDaniel P. Berrange2017-01-235-2/+509
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently DNS resolution is done automatically as part of the creation of a QIOChannelSocket object instance. This works ok for network clients where you just end up a single network socket, but for servers, the results of DNS resolution may require creation of multiple sockets. Introducing a DNS resolver API allows DNS resolution to be separated from the socket object creation. This will make it practical to create multiple QIOChannelSocket instances for servers. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
| * | io: remove Error parameter from QIOTask thread workerDaniel P. Berrange2017-01-234-52/+30Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that task objects have a directly associated error, there's no need for an an Error **errp parameter to the QIOTask thread worker function. It already has a QIOTask object, so can directly set the error on it. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
| * | io: change the QIOTask callback signatureDaniel P. Berrange2017-01-2315-112/+110Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the QIOTaskFunc signature takes an Object * for the source, and an Error * for any error. We also need to be able to provide a result pointer. Rather than continue to add parameters to QIOTaskFunc, remove the existing ones and simply pass the QIOTask object instead. This has methods to access all the other data items required in the callback impl. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
| * | io: add ability to associate an error with a taskDaniel P. Berrange2017-01-232-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when a task fails, the error is never explicitly associated with the task object, it is just passed along through the completion callback. This adds the ability to explicitly associate an error with the task. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
| * | io: add ability to associate an opaque "result" with with a taskDaniel P. Berrange2017-01-232-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there is no data associated with a successful task completion. This adds an opaque pointer to the task to store an arbitrary result. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
| * | io: fix typo in docs for QIOTaskDaniel P. Berrange2017-01-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | The GDestroyNotify parameter is already a pointer, so does not need a '*' suffix on the type. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
| * | io: stop incrementing reference in qio_task_get_sourceDaniel P. Berrange2017-01-235-10/+4Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Incrementing the reference in qio_task_get_source is not necessary, since we're not running concurrently with any other code touching the QIOTask. This minimizes chances of further memory leaks. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
| * | sockets: add ability to disable DNS resolution for InetSocketAddressDaniel P. Berrange2017-01-232-0/+12
|/ / | | | | | | | | | | | | | | | | | | | | Add a 'numeric' flag to the InetSocketAddress struct to allow the caller to indicate that DNS should be skipped for the host/port fields. This is useful if the caller knows the address is already numeric and wants to guarantee no (potentially blocking) DNS lookups are attempted. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* | Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into stagingPeter Maydell2017-01-20110-468/+3728
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * QOM interface fix (Eduardo) * RTC fixes (Gaohuai, Igor) * Memory leak fixes (Li Qiang, me) * Ctrl-a b regression (Marc-André) * Stubs cleanups and fixes (Leif, me) * hxtool tweak (me) * HAX support (Vincent) * QemuThread, exec.c and SCSI fixes (Roman, Xinhua, me) * PC_COMPAT_2_8 fix (Marcelo) * stronger bitmap assertions (Peter) # gpg: Signature made Fri 20 Jan 2017 12:49:01 GMT # gpg: using RSA key 0xBFFBD25F78C7AE83 # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * remotes/bonzini/tags/for-upstream: (35 commits) pc.h: move x-mach-use-reliable-get-clock compat entry to PC_COMPAT_2_8 bitmap: assert that start and nr are non negative Revert "win32: don't run subprocess tests on Mingw32 platform" hax: add Darwin support Plumb the HAXM-based hardware acceleration support target/i386: Add Intel HAX files kvm: move cpu synchronization code KVM: PPC: eliminate unnecessary duplicate constants ramblock-notifier: new char: fix ctrl-a b not working exec: Add missing rcu_read_unlock x86: ioapic: fix fail migration when irqchip=split x86: ioapic: dump version for "info ioapic" x86: ioapic: add traces for ioapic hxtool: emit Texinfo headings as @subsection qemu-thread: fix qemu_thread_set_name() race in qemu_thread_create() serial: fix memory leak in serial exit scsi-block: fix direction of BYTCHK test for VERIFY commands pc: fix crash in rtc_set_memory() if initial cpu is marked as hotplugged acpi: filter based on CONFIG_ACPI_X86 rather than TARGET ... # Conflicts: # include/hw/i386/pc.h
| * pc.h: move x-mach-use-reliable-get-clock compat entry to PC_COMPAT_2_8Marcelo Tosatti2017-01-201-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As noticed by David Gilbert, commit 6053a86 'kvmclock: reduce kvmclock differences on migration' added 'x-mach-use-reliable-get-clock' and a compatibility entry that turns it off; however it got merged after 2.8.0 was released but the entry has gone into PC_COMPAT_2_7 where it should have gone into PC_COMPAT_2_8. Fix it by moving the entry to PC_COMPAT_2_8. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20170118175343.GA26873@amt.cnet> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * bitmap: assert that start and nr are non negativePeter Lieven2017-01-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | commit e1123a3b introduced a data corruption regression in the iscsi driver because it passed -1 as nr to bitmap_set and bitmap_clear. Add an assertion to catch such flaws earlier. Suggested-by: Fam Zheng <famz@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Peter Lieven <pl@kamp.de> Message-Id: <1484844230-24490-1-git-send-email-pl@kamp.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * Revert "win32: don't run subprocess tests on Mingw32 platform"Marc-André Lureau2017-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | This reverts commit 7ad9339e372fcd12d584684d7f52ac259604a4f4. The error "Failed to execute helper program (No such file or directory)" is due to broken glib installation, missing windows gspawn helpers. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20170104205722.26492-1-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * hax: add Darwin supportVincent Palatin2017-01-194-0/+390
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-add the MacOSX/Darwin support: Use the Intel HAX is kernel-based hardware acceleration module (similar to KVM on Linux). Based on the original "target/i386: Add Intel HAX to android emulator" patch from David Chou <david.j.chou@intel.com> from emu-2.2-release branch in the external/qemu-android repository. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Message-Id: <81b85c3032da902e73e77302af508b4b1a7c0ead.1484045952.git.vpalatin@chromium.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * Plumb the HAXM-based hardware acceleration supportVincent Palatin2017-01-1911-12/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | Use the Intel HAX is kernel-based hardware acceleration module for Windows (similar to KVM on Linux). Based on the "target/i386: Add Intel HAX to android emulator" patch from David Chou <david.j.chou@intel.com> Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Message-Id: <7b9cae28a0c379ab459c7a8545c9a39762bd394f.1484045952.git.vpalatin@chromium.org> [Drop hax_populate_ram stub. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * target/i386: Add Intel HAX filesVincent Palatin2017-01-198-0/+2554
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's a forward port of the core HAX interface code from the emu-2.2-release branch in the external/qemu-android repository as used by the Android emulator. The original commit was "target/i386: Add Intel HAX to android emulator" saying: """ Backport of 2b3098ff27bab079caab9b46b58546b5036f5c0c from studio-1.4-dev into emu-master-dev Intel HAX (harware acceleration) will enhance android emulator performance in Windows and Mac OS X in the systems powered by Intel processors with "Intel Hardware Accelerated Execution Manager" package installed when user runs android emulator with Intel target. Signed-off-by: David Chou <david.j.chou@intel.com> """ It has been modified to build and run along with the current code base. The formatting has been fixed to go through scripts/checkpatch.pl, and the DPRINTF macros have been updated to get the instanciations checked by the compiler. The FPU registers saving/restoring has been updated to match the current QEMU registers layout. The implementation has been simplified by doing the following modifications: - removing the code for supporting the hardware without Unrestricted Guest (UG) mode (including all the code to fallback on TCG emulation). - not including the Darwin support (which is not yet debugged/tested). - simplifying the initialization by removing the leftovers from the Android specific code, then trimming down the remaining logic. - removing the unused MemoryListener callbacks. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Message-Id: <e1023837f8d0e4c470f6c4a3bf643971b2bca5be.1484045952.git.vpalatin@chromium.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * kvm: move cpu synchronization codeVincent Palatin2017-01-1921-35/+59
| | | | | | | | | | | | | | | | | | | | Move the generic cpu_synchronize_ functions to the common hw_accel.h header, in order to prepare for the addition of a second hardware accelerator. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Message-Id: <f5c3cffe8d520011df1c2e5437bb814989b48332.1484045952.git.vpalatin@chromium.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * KVM: PPC: eliminate unnecessary duplicate constantsPaolo Bonzini2017-01-191-12/+0Star
| | | | | | | | | | | | | | | | | | | | These are not needed since linux-headers/ provides up-to-date definitions. The constants are in linux-headers/asm-powerpc/kvm.h. The sole users, hw/intc/xics_kvm.c and target/ppc/kvm.c, include asm/kvm.h via sysemu/kvm.h->linux/kvm.h. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * ramblock-notifier: newPaolo Bonzini2017-01-166-49/+112
| | | | | | | | | | | | This adds a notify interface of ram block additions and removals. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * char: fix ctrl-a b not workingMarc-André Lureau2017-01-161-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CharDriverState.be should be updated to point to the current associated backend. Fix the regression introduced in the "mux" chardev from commit a4afa548fc6dd9842ed86639b4d37d4d1c4ad480. https://bugs.launchpad.net/bugs/1654137 Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20170110110621.15287-1-marcandre.lureau@redhat.com> Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * exec: Add missing rcu_read_unlockRoman Kapl2017-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | rcu_read_unlock was not called if the address_space_access_valid result is negative. This caused (at least) a problem when qemu on PPC/E500+TAP failed to terminate properly and instead got stuck in a deadlock. Signed-off-by: Roman Kapl <rka@sysgo.com> Message-Id: <20170109110921.4931-1-rka@sysgo.com> Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * x86: ioapic: fix fail migration when irqchip=splitPeter Xu2017-01-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split irqchip works based on the fact that we kept the first 24 gsi routing entries inside KVM for userspace ioapic's use. When system boot, we'll reserve these MSI routing entries before hand. However, after migration, we forgot to re-configure it up in the destination side. The result is, we'll get invalid gsi routing entries after migration (all empty), and we get interrupts with vector=0, then strange things happen, like keyboard hang. The solution is simple - we update them after migration, which is a one line fix. Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <1483952153-7221-4-git-send-email-peterx@redhat.com> Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * x86: ioapic: dump version for "info ioapic"Peter Xu2017-01-161-1/+2
| | | | | | | | | | | | Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <1483952153-7221-3-git-send-email-peterx@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| * x86: ioapic: add traces for ioapicPeter Xu2017-01-162-2/+22
| | | | | | | | | | | | | | | | | | | | From time to time, there are issues with ioapic, either on guest side or on hypervisor side. Good to have some persistent traces for better triaging and debugging. Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <1483952153-7221-2-git-send-email-peterx@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>