[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] ec132e: spapr: Support NVIDIA V100 GPU with N
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] ec132e: spapr: Support NVIDIA V100 GPU with NVLink2 |
Date: |
Sun, 28 Apr 2019 03:42:09 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: ec132efaa81f09861a3bd6afad94827e74543b3f
https://github.com/qemu/qemu/commit/ec132efaa81f09861a3bd6afad94827e74543b3f
Author: Alexey Kardashevskiy <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M hw/ppc/Makefile.objs
M hw/ppc/spapr.c
M hw/ppc/spapr_pci.c
A hw/ppc/spapr_pci_nvlink2.c
M hw/vfio/pci-quirks.c
M hw/vfio/pci.c
M hw/vfio/pci.h
M hw/vfio/trace-events
M include/hw/pci-host/spapr.h
M include/hw/ppc/spapr.h
Log Message:
-----------
spapr: Support NVIDIA V100 GPU with NVLink2
NVIDIA V100 GPUs have on-board RAM which is mapped into the host memory
space and accessible as normal RAM via an NVLink bus. The VFIO-PCI driver
implements special regions for such GPUs and emulates an NVLink bridge.
NVLink2-enabled POWER9 CPUs also provide address translation services
which includes an ATS shootdown (ATSD) register exported via the NVLink
bridge device.
This adds a quirk to VFIO to map the GPU memory and create an MR;
the new MR is stored in a PCI device as a QOM link. The sPAPR PCI uses
this to get the MR and map it to the system address space.
Another quirk does the same for ATSD.
This adds additional steps to sPAPR PHB setup:
1. Search for specific GPUs and NPUs, collect findings in
sPAPRPHBState::nvgpus, manage system address space mappings;
2. Add device-specific properties such as "ibm,npu", "ibm,gpu",
"memory-block", "link-speed" to advertise the NVLink2 function to
the guest;
3. Add "mmio-atsd" to vPHB to advertise the ATSD capability;
4. Add new memory blocks (with extra "linux,memory-usable" to prevent
the guest OS from accessing the new memory until it is onlined) and
npuphb# nodes representing an NPU unit for every vPHB as the GPU driver
uses it for link discovery.
This allocates space for GPU RAM and ATSD like we do for MMIOs by
adding 2 new parameters to the phb_placement() hook. Older machine types
set these to zero.
This puts new memory nodes in a separate NUMA node to as the GPU RAM
needs to be configured equally distant from any other node in the system.
Unlike the host setup which assigns numa ids from 255 downwards, this
adds new NUMA nodes after the user configures nodes or from 1 if none
were configured.
This adds requirement similar to EEH - one IOMMU group per vPHB.
The reason for this is that ATSD registers belong to a physical NPU
so they cannot invalidate translations on GPUs attached to another NPU.
It is guaranteed by the host platform as it does not mix NVLink bridges
or GPUs from different NPU in the same IOMMU group. If more than one
IOMMU group is detected on a vPHB, this disables ATSD support for that
vPHB and prints a warning.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
[aw: for vfio portions]
Acked-by: Alex Williamson <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: 7cbf3f113a52947a77b88132915f136bd8450e56
https://github.com/qemu/qemu/commit/7cbf3f113a52947a77b88132915f136bd8450e56
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M hw/ppc/prep.c
Log Message:
-----------
hw/ppc/prep: Drop useless inclusion of "hw/input/i8042.h"
In commit 47973a2dbf we split the last generic chipset out of
the PC board, but missed to remove the i8042 keyboard controller.
This omission was later fixed in commit 7cb00357c1, but here we
forgot to remove the "i8042.h" include. Do it now.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: 64db6c70dc5d41cb7ad0c6c9d7a81a905a0d321b
https://github.com/qemu/qemu/commit/64db6c70dc5d41cb7ad0c6c9d7a81a905a0d321b
Author: Cédric Le Goater <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M hw/ppc/spapr_rtas.c
M include/hw/ppc/spapr.h
Log Message:
-----------
spapr/rtas: modify spapr_rtas_register() to remove RTAS handlers
Removing RTAS handlers will become necessary when the new pseries
machine supporting multiple interrupt mode is introduced.
Signed-off-by: Cédric Le Goater <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: f56275a2fc4b627604c71e5833bd357ee9b6ecbb
https://github.com/qemu/qemu/commit/f56275a2fc4b627604c71e5833bd357ee9b6ecbb
Author: Cédric Le Goater <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M hw/ppc/spapr_irq.c
Log Message:
-----------
spapr/irq: remove spapr_ics_create()
spapr_ics_create() is only called once. Merge it in spapr_irq_init_xics()
and simplify a bit the error handling by using 'error_fatal' .
Signed-off-by: Cédric Le Goater <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: b93745bba40eb0ec851d8954de91057d79902b06
https://github.com/qemu/qemu/commit/b93745bba40eb0ec851d8954de91057d79902b06
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/cpu-models.c
M target/ppc/cpu-models.h
Log Message:
-----------
target/ppc: Style fixes for ppc-models.[ch]
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: c647e3fe3d6a8bcc47fefd14e30c926948732951
https://github.com/qemu/qemu/commit/c647e3fe3d6a8bcc47fefd14e30c926948732951
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/cpu.h
Log Message:
-----------
target/ppc: Style fixes for cpu.[ch]
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: b6cb41b22ce247bd24d037cd299eb98667ecf00a
https://github.com/qemu/qemu/commit/b6cb41b22ce247bd24d037cd299eb98667ecf00a
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/int_helper.c
Log Message:
-----------
target/ppc: Style fixes for int_helper.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: fa9ebf8c3e39cafa60e16116b74405ac935c0674
https://github.com/qemu/qemu/commit/fa9ebf8c3e39cafa60e16116b74405ac935c0674
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/fpu_helper.c
Log Message:
-----------
target/ppc: Style fixes for fpu_helper.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: 95ef66ed70181e2054b64ed078fc342236796d43
https://github.com/qemu/qemu/commit/95ef66ed70181e2054b64ed078fc342236796d43
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/dfp_helper.c
Log Message:
-----------
target/ppc: Style fixes for dfp_helper.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: 47733729b0c91f991ac0ca54d532d612d7fe727e
https://github.com/qemu/qemu/commit/47733729b0c91f991ac0ca54d532d612d7fe727e
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/excp_helper.c
Log Message:
-----------
target/ppc: Style fixes for excp_helper.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: 02381ec16e71c9a37321195a1b426e850b2ca241
https://github.com/qemu/qemu/commit/02381ec16e71c9a37321195a1b426e850b2ca241
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/gdbstub.c
Log Message:
-----------
target/ppc: Style fixes for gdbstub.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: c86f377c850a5217c32579a11aae05272f27b668
https://github.com/qemu/qemu/commit/c86f377c850a5217c32579a11aae05272f27b668
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/helper_regs.h
Log Message:
-----------
target/ppc: Style fixes for helper_regs.h
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: c995e942bf1e8bc9b6ab0dbc9ceae3e661e7af17
https://github.com/qemu/qemu/commit/c995e942bf1e8bc9b6ab0dbc9ceae3e661e7af17
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/kvm.c
M target/ppc/kvm_ppc.h
Log Message:
-----------
target/ppc: Style fixes for kvm_ppc.h and kvm.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: 6f7a69936b0b09b7cc8451aaa7589cccaab7e88c
https://github.com/qemu/qemu/commit/6f7a69936b0b09b7cc8451aaa7589cccaab7e88c
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/machine.c
Log Message:
-----------
target/ppc: Style fixes for machine.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: 5a2c8b9ed9c1f2e52a40945b7728e5c6a76facc6
https://github.com/qemu/qemu/commit/5a2c8b9ed9c1f2e52a40945b7728e5c6a76facc6
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/mem_helper.c
Log Message:
-----------
target/ppc: Style fixes for mem_helper.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: 55b8f8beb66f54705f67976a29977534ef9bab64
https://github.com/qemu/qemu/commit/55b8f8beb66f54705f67976a29977534ef9bab64
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/mfrom_table.inc.c
M target/ppc/mfrom_table_gen.c
Log Message:
-----------
target/ppc: Style fixes for mfrom_table.inc.c & mfrom_table_gen.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: d81b43279b2658a5136edf862ca672161a6aa85b
https://github.com/qemu/qemu/commit/d81b43279b2658a5136edf862ca672161a6aa85b
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/misc_helper.c
Log Message:
-----------
target/ppc: Style fixes for misc_helper.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: 596e3ca852af9627462bcc325fa8a718a686099b
https://github.com/qemu/qemu/commit/596e3ca852af9627462bcc325fa8a718a686099b
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/mmu-hash32.c
Log Message:
-----------
target/ppc: Style fixes for mmu-hash32.[ch]
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: d75cbae8533d6e9e441aa16524b0ad73cf6e1bbe
https://github.com/qemu/qemu/commit/d75cbae8533d6e9e441aa16524b0ad73cf6e1bbe
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/mmu-hash64.c
Log Message:
-----------
target/ppc: Style fixes for mmu-hash64.[ch]
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: fe4ade3155140cbcbc9d876b29fa6c2993fd0188
https://github.com/qemu/qemu/commit/fe4ade3155140cbcbc9d876b29fa6c2993fd0188
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Style fixes for mmu_helper.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: a65820908a41885da5729b2501ea14b4258cfdb4
https://github.com/qemu/qemu/commit/a65820908a41885da5729b2501ea14b4258cfdb4
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/monitor.c
Log Message:
-----------
target/ppc: Style fixes for monitor.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: 1d28b5f6ef89cca680ef2075a72b084cafbbb07c
https://github.com/qemu/qemu/commit/1d28b5f6ef89cca680ef2075a72b084cafbbb07c
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/translate_init.inc.c
Log Message:
-----------
target/ppc: Style fixes for translate_init.inc.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: efe843d8ab5927c07e8cb463188f78dc4a9e8158
https://github.com/qemu/qemu/commit/efe843d8ab5927c07e8cb463188f78dc4a9e8158
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Style fixes for translate.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: f895d2c820b697045e760fc219700abc2e441983
https://github.com/qemu/qemu/commit/f895d2c820b697045e760fc219700abc2e441983
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/translate/fp-impl.inc.c
Log Message:
-----------
target/ppc: Style fixes for translate/fp-impl.inc.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: 34b2300cbb63a64e5aafd426ff65b6c45ff26611
https://github.com/qemu/qemu/commit/34b2300cbb63a64e5aafd426ff65b6c45ff26611
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/translate/vsx-impl.inc.c
Log Message:
-----------
target/ppc: Style fixes for translate/vsx-impl.inc.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: 3255386633c9110dc05f3545ea967585a3b38c75
https://github.com/qemu/qemu/commit/3255386633c9110dc05f3545ea967585a3b38c75
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/translate/vmx-impl.inc.c
Log Message:
-----------
target/ppc: Style fixes for translate/vmx-impl.inc.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: eb512d15a0c90a90400f7e4d2e40cb27eb1e914a
https://github.com/qemu/qemu/commit/eb512d15a0c90a90400f7e4d2e40cb27eb1e914a
Author: David Gibson <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/translate/spe-impl.inc.c
Log Message:
-----------
target/ppc: Style fixes for translate/spe-impl.inc.c
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Commit: c413605ba6bfe9ae9f27d316f573df562d70830a
https://github.com/qemu/qemu/commit/c413605ba6bfe9ae9f27d316f573df562d70830a
Author: Greg Kurz <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M hw/ppc/spapr_pci.c
Log Message:
-----------
spapr_pci: Get rid of duplicate code for node name creation
According to the changelog of 298a971024534, SpaprPhbState::dtbusname was
introduced to "make it easier to relate the guest and qemu views of memory
to each other", hence its name.
Use it when creating the PHB node to avoid code duplication.
Signed-off-by: Greg Kurz <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: e8ec4adfe2de8603e271e38b0d50d7d453c0c21b
https://github.com/qemu/qemu/commit/e8ec4adfe2de8603e271e38b0d50d7d453c0c21b
Author: Greg Kurz <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M hw/pci/pci.c
M hw/ppc/spapr_pci.c
M include/hw/pci/pci.h
Log Message:
-----------
spapr: Drop duplicate PCI swizzle code
LSI mapping in spapr currently open-codes standard PCI swizzling. It thus
duplicates the code of pci_swizzle_map_irq_fn().
Expose the swizzling formula so that it can be used with a slot number
when building the device tree. Simply drop pci_spapr_map_irq() and call
pci_swizzle_map_irq_fn() instead.
Signed-off-by: Greg Kurz <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: 83416be886d92bfeda668e9a3325f180e3a36766
https://github.com/qemu/qemu/commit/83416be886d92bfeda668e9a3325f180e3a36766
Author: Greg Kurz <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/trace-events
Log Message:
-----------
target/ppc/trace-events: Fix trivial typo
Signed-off-by: Greg Kurz <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: 8d83cbf1015f547cd9336881e6b62ae2ca293849
https://github.com/qemu/qemu/commit/8d83cbf1015f547cd9336881e6b62ae2ca293849
Author: Greg Kurz <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/kvm.c
M target/ppc/trace-events
Log Message:
-----------
target/ppc/kvm: Convert DPRINTF to traces
Signed-off-by: Greg Kurz <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: 24b5e0a5ce36975c24d1870832ad3a97876f460a
https://github.com/qemu/qemu/commit/24b5e0a5ce36975c24d1870832ad3a97876f460a
Author: Benjamin Herrenschmidt <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/mmu-radix64.c
Log Message:
-----------
target/ppc: Don't check UPRT in radix mode when in HV real mode
It appears that during kexec, we run for a while in hypervisor
real mode with LPCR:HR set and LPCR:UPRT clear, which trips
the assertion in ppc_radix64_handle_mmu_fault().
First this shouldn't be an assertion, it's a guest error.
Then we shouldn't be checking these things in hypervisor real
mode (or in virtual hypervisor guest real mode which is similar)
as the real HW won't use those LPCR bits in those cases anyway,
so technically it's ok to have this discrepancy.
Signed-off-by: Benjamin Herrenschmidt <address@hidden>
Signed-off-by: Cédric Le Goater <address@hidden>
Message-Id: <address@hidden>
[dwg: Fix for 32-bit builds]
Signed-off-by: David Gibson <address@hidden>
Commit: 993aaf0c0003f7af1bf62c1c2d5cc3c0fe687f5b
https://github.com/qemu/qemu/commit/993aaf0c0003f7af1bf62c1c2d5cc3c0fe687f5b
Author: Benjamin Herrenschmidt <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M hw/ppc/spapr_hcall.c
Log Message:
-----------
ppc/spapr: Use proper HPTE accessors for H_READ
Signed-off-by: Benjamin Herrenschmidt <address@hidden>
Signed-off-by: Cédric Le Goater <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: a2dd4e83e76ba9c0d432145059dd9e2b2a096e2b
https://github.com/qemu/qemu/commit/a2dd4e83e76ba9c0d432145059dd9e2b2a096e2b
Author: Benjamin Herrenschmidt <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M hw/ppc/spapr.c
M hw/ppc/spapr_hcall.c
M include/hw/ppc/spapr.h
M target/ppc/cpu.h
M target/ppc/mmu-hash64.c
M target/ppc/mmu-hash64.h
Log Message:
-----------
ppc/hash64: Rework R and C bit updates
With MT-TCG, we are now running translation in a racy way, thus
we need to mimic hardware when it comes to updating the R and
C bits, by doing byte stores.
The current "store_hpte" abstraction is ill suited for this, we
replace it with two separate callbacks for setting R and C.
Signed-off-by: Benjamin Herrenschmidt <address@hidden>
Signed-off-by: Cédric Le Goater <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: 6e8a65abbbd47a870ddc37484e7c9f183b7a7cce
https://github.com/qemu/qemu/commit/6e8a65abbbd47a870ddc37484e7c9f183b7a7cce
Author: Benjamin Herrenschmidt <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/mmu-hash32.c
Log Message:
-----------
ppc/hash32: Rework R and C bit updates
With MT-TCG, we are now running translation in a racy way, thus
we need to mimic hardware when it comes to updating the R and
C bits, by doing byte stores.
Signed-off-by: Benjamin Herrenschmidt <address@hidden>
Signed-off-by: Cédric Le Goater <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: aaef873b130f4f9c78f8e97b69c235c81b8b8b88
https://github.com/qemu/qemu/commit/aaef873b130f4f9c78f8e97b69c235c81b8b8b88
Author: Artyom Tarasenko <address@hidden>
Date: 2019-04-26 (Fri, 26 Apr 2019)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: improve performance of large BAT invalidations
Performing a complete flush is ~ 100 times faster than flushing
256MiB of 4KiB pages. Set a limit of 1024 pages and perform a complete
flush afterwards.
This patch significantly speeds up AIX 5.1 and NetBSD-ofppc.
Signed-off-by: Artyom Tarasenko <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Hervé Poussineau <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Commit: 9ec34ecc97bcd5df04b0f67a774d79ffcd6b0a11
https://github.com/qemu/qemu/commit/9ec34ecc97bcd5df04b0f67a774d79ffcd6b0a11
Author: Peter Maydell <address@hidden>
Date: 2019-04-27 (Sat, 27 Apr 2019)
Changed paths:
M hw/pci/pci.c
M hw/ppc/Makefile.objs
M hw/ppc/prep.c
M hw/ppc/spapr.c
M hw/ppc/spapr_hcall.c
M hw/ppc/spapr_irq.c
M hw/ppc/spapr_pci.c
A hw/ppc/spapr_pci_nvlink2.c
M hw/ppc/spapr_rtas.c
M hw/vfio/pci-quirks.c
M hw/vfio/pci.c
M hw/vfio/pci.h
M hw/vfio/trace-events
M include/hw/pci-host/spapr.h
M include/hw/pci/pci.h
M include/hw/ppc/spapr.h
M target/ppc/cpu-models.c
M target/ppc/cpu-models.h
M target/ppc/cpu.h
M target/ppc/dfp_helper.c
M target/ppc/excp_helper.c
M target/ppc/fpu_helper.c
M target/ppc/gdbstub.c
M target/ppc/helper_regs.h
M target/ppc/int_helper.c
M target/ppc/kvm.c
M target/ppc/kvm_ppc.h
M target/ppc/machine.c
M target/ppc/mem_helper.c
M target/ppc/mfrom_table.inc.c
M target/ppc/mfrom_table_gen.c
M target/ppc/misc_helper.c
M target/ppc/mmu-hash32.c
M target/ppc/mmu-hash64.c
M target/ppc/mmu-hash64.h
M target/ppc/mmu-radix64.c
M target/ppc/mmu_helper.c
M target/ppc/monitor.c
M target/ppc/trace-events
M target/ppc/translate.c
M target/ppc/translate/fp-impl.inc.c
M target/ppc/translate/spe-impl.inc.c
M target/ppc/translate/vmx-impl.inc.c
M target/ppc/translate/vsx-impl.inc.c
M target/ppc/translate_init.inc.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.1-20190426' into
staging
ppc patch queue 2019-04-26
Here's the first ppc target pull request for qemu-4.1. This has a
number of things that have accumulated while qemu-4.0 was frozen.
* A number of emulated MMU improvements from Ben Herrenschmidt
* Assorted cleanups fro Greg Kurz
* A large set of mostly mechanical cleanups from me to make target/ppc
much closer to compliant with the modern coding style
* Support for passthrough of NVIDIA GPUs using NVLink2
As well as some other assorted fixes.
# gpg: Signature made Fri 26 Apr 2019 07:02:19 BST
# gpg: using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392
# gpg: Good signature from "David Gibson <address@hidden>" [full]
# gpg: aka "David Gibson (Red Hat) <address@hidden>" [full]
# gpg: aka "David Gibson (ozlabs.org) <address@hidden>" [full]
# gpg: aka "David Gibson (kernel.org) <address@hidden>"
[unknown]
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392
* remotes/dgibson/tags/ppc-for-4.1-20190426: (36 commits)
target/ppc: improve performance of large BAT invalidations
ppc/hash32: Rework R and C bit updates
ppc/hash64: Rework R and C bit updates
ppc/spapr: Use proper HPTE accessors for H_READ
target/ppc: Don't check UPRT in radix mode when in HV real mode
target/ppc/kvm: Convert DPRINTF to traces
target/ppc/trace-events: Fix trivial typo
spapr: Drop duplicate PCI swizzle code
spapr_pci: Get rid of duplicate code for node name creation
target/ppc: Style fixes for translate/spe-impl.inc.c
target/ppc: Style fixes for translate/vmx-impl.inc.c
target/ppc: Style fixes for translate/vsx-impl.inc.c
target/ppc: Style fixes for translate/fp-impl.inc.c
target/ppc: Style fixes for translate.c
target/ppc: Style fixes for translate_init.inc.c
target/ppc: Style fixes for monitor.c
target/ppc: Style fixes for mmu_helper.c
target/ppc: Style fixes for mmu-hash64.[ch]
target/ppc: Style fixes for mmu-hash32.[ch]
target/ppc: Style fixes for misc_helper.c
...
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/db7f1c3fafa8...9ec34ecc97bc
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] ec132e: spapr: Support NVIDIA V100 GPU with NVLink2,
Peter Maydell <=