- Mar 19, 2019
-
-
Alistair Francis authored
Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Alistair Francis authored
Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Michael Clark authored
Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Alistair Francis <Alistair.Francis@wdc.com> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Michael Clark authored
Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Alistair Francis <Alistair.Francis@wdc.com> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Michael Clark authored
If vectored interrupts are enabled (bits[1:0] of mtvec/stvec == 1) then use the following logic for trap entry address calculation: pc = mtvec + cause * 4 In addition to adding support for vectored interrupts this patch simplifies the interrupt delivery logic by making sync/async cause decoding and encoding steps distinct. The cause code and the sign bit indicating sync/async is split at the beginning of the function and fixed cause is renamed to cause. The MSB setting for async traps is delayed until setting mcause/scause to allow redundant variables to be eliminated. Some variables are renamed for conciseness and moved so that decls are at the start of the block. Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Alistair Francis <Alistair.Francis@wdc.com> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Michael Clark authored
This effectively changes riscv_cpu_update_mip from edge to level. i.e. cpu_interrupt or cpu_reset_interrupt are called regardless of the current interrupt level. Fixes WFI doesn't return when a IPI is issued: - https://github.com/riscv/riscv-qemu/issues/132 To test: 1) Apply RISC-V Linux CPU hotplug patch: - http://lists.infradead.org/pipermail/linux-riscv/2018-May/000603.html 2) Enable CONFIG_CPU_HOTPLUG in linux .config 3) Try to offline and online cpus: echo 1 > /sys/devices/system/cpu/cpu2/online echo 0 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu2/online Reported-by:
Atish Patra <atishp04@gmail.com> Cc: Atish Patra <atishp04@gmail.com> Cc: Alistair Francis <Alistair.Francis@wdc.com> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Kito Cheng authored
This change checks elf_flags for EF_RISCV_RVE and if present uses the RVE linux syscall ABI which uses t0 for the syscall number instead of a7. Warn and exit if a non-RVE ABI binary is run on a cpu with the RVE extension as it is incompatible. Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Sagar Karandikar <sagark@eecs.berkeley.edu> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cc: Alistair Francis <Alistair.Francis@wdc.com> Co-authored-by:
Kito Cheng <kito.cheng@gmail.com> Co-authored-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Michael Clark authored
Refer to the RISC-V PSABI specification for details: - https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md Cc: Michael Tokarev <mjt@tls.msk.ru> Cc: Richard Henderson <richard.henderson@linaro.org> Cc: Alistair Francis <Alistair.Francis@wdc.com> Reviewed-by:
Laurent Vivier <laurent@vivier.eu> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Michael Clark authored
Remove machine generated constraints that are not referenced by the pseudo-instruction constraints. Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Sagar Karandikar <sagark@eecs.berkeley.edu> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cc: Alistair Francis <Alistair.Francis@wdc.com> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Michael Clark authored
We can't allow the supervisor to control SEIP as this would allow the supervisor to clear a pending external interrupt which will result in lost a interrupt in the case a PLIC is attached. The SEIP bit must be hardware controlled when a PLIC is attached. This logic was previously hard-coded so SEIP was always masked even if no PLIC was attached. This patch adds riscv_cpu_claim_interrupts so that the PLIC can register control of SEIP. In the case of models without a PLIC (spike), the SEIP bit remains software controlled. This interface allows for hardware control of supervisor timer and software interrupts by other interrupt controller models. Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Sagar Karandikar <sagark@eecs.berkeley.edu> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cc: Alistair Francis <Alistair.Francis@wdc.com> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Michael Clark authored
The mode variable only uses the lower 4-bits (M,H,S,U) so replace the GCC specific __builtin_popcount with ctpop8. Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Sagar Karandikar <sagark@eecs.berkeley.edu> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cc: Alistair Francis <Alistair.Francis@wdc.com> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Alistair Francis authored
Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Jim Wilson authored
The gdb CSR xml file has registers in documentation order, not numerical order, so we need a table to map the register numbers. This also adds fairly standard gdb hooks to access xml specified registers. notice: The fpu xml from gdb 8.3 has unused register #, 65 and make first csr register # become 69. We register extra register on gdb to correct csr offset calculation Signed-off-by:
Jim Wilson <jimw@sifive.com> Signed-off-by:
Chih-Min Chao <chihmin.chao@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Jim Wilson authored
Add a debugger field to CPURISCVState. Add riscv_csrrw_debug function to set it. Disable mode checks when debugger field true. Signed-off-by:
Jim Wilson <jimw@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-Id: <20190212230903.9215-1-jimw@sifive.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Jim Wilson authored
This adds some missing CSR_* register macros, and documents some as being priv v1.9.1 specific. Signed-off-by:
Jim Wilson <jimw@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-Id: <20190212230830.9160-1-jimw@sifive.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Jim Wilson authored
Signed-off-by:
Jim Wilson <jimw@sifive.com> Signed-off-by:
Chih-Min Chao <chihmin.chao@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Jim Wilson authored
Signed-off-by:
Jim Wilson <jimw@sifive.com> Signed-off-by:
Chih-Min Chao <chihmin.chao@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Peter Maydell authored
ppc patch queue for 2019-03-19 This is a small set, it has a number of fixes and a couple of minor cleanups to go in for the hard freeze. # gpg: Signature made Tue 19 Mar 2019 10:05:48 GMT # gpg: using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full] # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full] # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full] # gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown] # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * remotes/dgibson/tags/ppc-for-4.0-20190319: spapr: Remove NULL checks on error_propagate() calls ppc/xics/spapr: Fix H_IPOLL implementation ppc/pnv: Fix variable size in pnv_psi_power9_irq_set() ppc/pnv: Use local_err variable in pnv_chip_power9_intc_create() MAINTAINERS: PPC: add a PowerNV machine entry ppc/pnv: update skiboot to commit 261ca8e779e5. spapr: Correctly set LPCR[GTSE] in H_REGISTER_PROCESS_TABLE Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Peter Maydell authored
qemu-ga patch queue for 4.0 * fix w32 build breakages with VSS enabled * fix PCI topology reporting for Windows * fix OS version reporting for Windows * add systemd info to qga schema documentation * add proper 'id' handling to QGA so it conforms to QMP spec # gpg: Signature made Mon 18 Mar 2019 16:20:32 GMT # gpg: using RSA key CEACC9E15534EBABB82D3FA03353C9CEF108B584 # gpg: issuer "mdroth@linux.vnet.ibm.com" # gpg: Good signature from "Michael Roth <flukshun@gmail.com>" [full] # gpg: aka "Michael Roth <mdroth@utexas.edu>" [full] # gpg: aka "Michael Roth <mdroth@linux.vnet.ibm.com>" [full] # Primary key fingerprint: CEAC C9E1 5534 EBAB B82D 3FA0 3353 C9CE F108 B584 * remotes/mdroth/tags/qga-pull-2019-03-18-tag: qmp: common 'id' handling & make QGA conform to QMP spec qga: process_event() simplification qga: Fix guest-get-fsinfo PCI address collection in Windows qga-win: fix VSS build breakage due to unintended gnu99 C++ flag qga-win: include glib when building VSS DLL qga-win: Adding support for Windows Server 2019 get-osinfo command qga: update docs with systemd suspend support info Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Markus Armbruster authored
Patch created mechanically by rerunning: $ spatch --sp-file scripts/coccinelle/error_propagate_null.cocci \ --macro-file scripts/cocci-macro-file.h \ --dir . --in-place Signed-off-by:
Markus Armbruster <armbru@redhat.com> Message-Id: <20190318190148.18283-1-armbru@redhat.com> Signed-off-by:
David Gibson <david@gibson.dropbear.id.au>
-
Benjamin Herrenschmidt authored
H_IPOLL takes the CPU# of the processor to poll as an argument, it doesn't operate on self. Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by:
Cédric Le Goater <clg@kaod.org> Message-Id: <20190314063855.27890-1-clg@kaod.org> Reviewed-by:
Greg Kurz <groug@kaod.org> Signed-off-by:
David Gibson <david@gibson.dropbear.id.au>
-
Greg Kurz authored
PSI registers are 64-bit. Spotted by Coverity: CID 1399704 Signed-off-by:
Greg Kurz <groug@kaod.org> Message-Id: <155248884690.893204.5428179144527749023.stgit@bahia.lan> Reviewed-by:
Cédric Le Goater <clg@kaod.org> Signed-off-by:
David Gibson <david@gibson.dropbear.id.au>
-
Greg Kurz authored
Detected by Coverity: CID 1399702 Signed-off-by:
Greg Kurz <groug@kaod.org> Message-Id: <155248884129.893204.2293309859485638162.stgit@bahia.lan> Reviewed-by:
Cédric Le Goater <clg@kaod.org> Signed-off-by:
David Gibson <david@gibson.dropbear.id.au>
-
Cédric Le Goater authored
and declare David and myself as maintainers of the PPC PowerNV (Non-Virtualized) machine using the OPAL (skiboot) firmware. Signed-off-by:
Cédric Le Goater <clg@kaod.org> Reviewed-by:
Greg Kurz <groug@kaod.org> Message-Id: <20190313162423.22081-1-clg@kaod.org> Signed-off-by:
David Gibson <david@gibson.dropbear.id.au>
-
Cédric Le Goater authored
It includes better support for POWER9 processor and the QEMU platform. DD1.0 workarounds have been removed which simplifies a bit the XIVE PowerNV model. Built from submodule. Signed-off-by:
Cédric Le Goater <clg@kaod.org> Message-Id: <20190310175338.22266-1-clg@kaod.org> Signed-off-by:
David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
176dccee "target/ppc/spapr: Clear partition table entry when allocating hash table" reworked the H_REGISTER_PROCESS_TABLE hypercall, but unfortunately due to a small error no longer correctly sets the LPCR[GTSE] bit which allows the guest to directly execute (some types of) tlbie (TLB flush) instructions without involving the hypervisor. We got away with this, initially, because POWER9 did not have hypervisor mode enabled in its msr_mask, which meant we didn't actually run hypervisor privilege checks in TCG at all. However, da874d90 "target/ppc: add HV support for POWER9" turned on HV support on POWER9 for the benefit of the powernv machine type. This exposed the earlier bug in H_REGISTER_PROCESS_TABLE, and causes guests which rely on LPCR[GTSE] (i.e. basically all of them) to crash during early boot when their first tlbie instruction causes an unexpected trap. Fixes: 176dccee target/ppc/spapr: Clear partition table entry when allocating hash table Signed-off-by:
David Gibson <david@gibson.dropbear.id.au> Reviewed-by:
Cédric Le Goater <clg@kaod.org> Reviewed-by:
Greg Kurz <groug@kaod.org> Tested-by:
Cleber Rosa <crosa@redhat.com>
-
- Mar 18, 2019
-
-
Marc-André Lureau authored
Let qmp_dispatch() copy the 'id' field. That way any qmp client will conform to the specification, including QGA. Furthermore, it simplifies the work for qemu monitor. CC: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com> Signed-off-by:
Michael Roth <mdroth@linux.vnet.ibm.com>
-
Marc-André Lureau authored
Simplify the code around qmp_dispatch(): - rely on qmp_dispatch/check_obj() for message checking - have a single send_response() point - constify send_response() argument It changes a couple of error messages: * When @req isn't a dictionary, from Invalid JSON syntax to QMP input must be a JSON object * When @req lacks member "execute", from this feature or command is not currently supported to QMP input lacks member 'execute' CC: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by:
Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by:
Eric Blake <eblake@redhat.com>
-
Matt Hines authored
The Windows QEMU guest agent erroneously tries to collect PCI information directly from the physical drive. However, windows stores SCSI/IDE information with the drive and PCI information with the underlying storage controller This changes get_pci_info to use the physical drive's underlying storage controller to get PCI information. * Additionally Fixes incorrect size being passed to DeviceIoControl when getting volume extents. Can occasionally crash the guest agent Signed-off-by:
Matt Hines <mhines@scalecomputing.com> *fix up some checkpatch warnings *fix domain reporting and add some sanity checks for debug Signed-off-by:
Michael Roth <mdroth@linux.vnet.ibm.com>
-
Peter Maydell authored
In commit d0dead3b we changed to shipping the u-boot sources as a tarball, to work around a problem where they contained a file and directory that had the same name except for case, which was preventing QEMU's source tarball being unpacked on case-insensitive filesystems. In commit f2a3b549 we updated our u-boot blob and sources to v2019.01, which no longer has this problem, so we can finally remove our workaround (effectively reverting d0dead3b). Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by:
Michael Roth <mdroth@linux.vnet.ibm.com> Message-id: 20190314155628.8822-1-peter.maydell@linaro.org
-
Michael Roth authored
Commit 7be41675 set -std=gnu99 for C code via QEMU_CFLAGS. Currently we generate a "custom" QEMU_CXXFLAGS for VSS DLL C++ build by filtering out some options from QEMU_CFLAGS and adding some others. Since we don't filter out -std=gnu99 currently this breaks builds when VSS support is enabled. We could keep the existing approach, filter out -std=gnu99 from QEMU_CFLAGS, and add -std=gnu++98, like configure currently does for QEMU_CXXFLAGS, but as it turns out our resulting QEMU_CXXFLAGS would be exactly what configure already generates, just with these filtered out: -fstack-protector-all -fstack-protector-strong and these added: -Wno-unknown-pragmas -Wno-delete-non-virtual-dtor So fix the issue by re-using configure-generated QEMU_CXXFLAGS and just handling these specific changes. Signed-off-by:
Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by:
Daniel P. Berrangé <berrange@redhat.com>
-
Michael Roth authored
Commit 3ebee3b1 defined assert() as g_assert(), but when we build the VSS DLL component of QGA (to handle fsfreeze) we do not include glib, which results in breakage when building with VSS support enabled. Fix this by including glib (along with the -lintl and -lws2_32 dependencies it brings). Since the VSS DLL is built statically, this introduces an additional dependency on static glib and supporting libs for the mingw environment (possibly why we didn't include glib originally), but VSS support already has very specific prerequisites so it shouldn't affect too many build environments. Since the VSS DLL code does use qemu/osdep.h, this should also help avoid future breakages and possibly allow for some clean ups in current VSS code. Suggested-by:
Daniel P. Berrangé <berrange@redhat.com> Cc: Daniel P. Berrangé <berrange@redhat.com> Cc: qemu-stable@nongnu.org Signed-off-by:
Michael Roth <mdroth@linux.vnet.ibm.com>
-
Bishara AbuHattoum authored
Since Windows Server 2016, Microsoft stopped upgrading the major and minor versions of their new Windows Server product, so, the current functionality of checking major and minor version numbers to determine the Windows Server version wont work as expected. The implemented solution here is to use the build number in addition to the major and minor version numbers of the product to determine the Windows Server product version. The final build number of Windows Server 2016 is 14939, and the final build number of Windows Server 2019 is 17764, so any Windows Server product that has the major version of 10 and minor version of 0 with a build number lower or equal to 14939 will resemble 2016 and if the build number is lower or equal to 17763 will resemble 2019. Reference: https://techcommunity.microsoft.com/t5/Windows-Server-Insiders/Windows-Server-2019-version-info/m-p/293112/highlight/true#M859 Signed-off-by:
Bishara AbuHattoum <bishara@daynix.com> Signed-off-by:
Michael Roth <mdroth@linux.vnet.ibm.com>
-
Daniel Henrique Barboza authored
Commit 067927d6 ("qga: systemd hibernate/suspend/hybrid-sleep support") failed to update qapi-schema.json after adding systemd hibernate/suspend/hybrid-sleep capabilities to guest-suspend-* QGA commands. Signed-off-by:
Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by:
Eric Blake <eblake@redhat.com> Signed-off-by:
Michael Roth <mdroth@linux.vnet.ibm.com>
-
Peter Maydell authored
vga: fixes for 4.0 (ati trace, virtio-gpu reset). # gpg: Signature made Mon 18 Mar 2019 13:25:54 GMT # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full] # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full] # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full] # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/vga-20190318-pull-request: virtio-gpu: clear command and fence queues on reset virtio-gpu: delay virglrenderer reset when blocked. ati-vga: fix tracing Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Peter Maydell authored
Merge remote-tracking branch 'remotes/kraxel/tags/seabios-1.12.1-20190318-pull-request' into staging seabios update for 4.0 # gpg: Signature made Mon 18 Mar 2019 13:07:53 GMT # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full] # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full] # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full] # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/seabios-1.12.1-20190318-pull-request: seabios: update binaries to 1.12.1 seabios: turn off CONFIG_ATA_DMA seabios: update submodule to 1.12.1 Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Gerd Hoffmann authored
Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Gerd Hoffmann authored
There have been regressions reported, when booting FreeDOS. https://www.mail-archive.com/qemu-devel@nongnu.org/msg593254.html Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Gerd Hoffmann authored
git shortlog rel-1.12.0..rel-1.12.1 =================================== Kevin O'Connor (1): usb-ehci: Clear pipe token on pipe reallocate Stephen Douthit (1): tpm: Check for TPM related ACPI tables before attempting hw probe Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Peter Maydell authored
audio: pulseaudio fixes for 4.0 # gpg: Signature made Mon 18 Mar 2019 12:08:50 GMT # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full] # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full] # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full] # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/audio-20190318-pull-request: audio/paaudio: fix microphone input being unusable audio/paaudio: prolong and make latency configurable audio/paaudio: fix ignored buffer_length setting Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-