- 26 12月, 2018 2 次提交
-
-
由 Alistair Francis 提交于
Signed-off-by: NAlistair Francis <alistair.francis@wdc.com> Signed-off-by: NMichael Clark <mjc@sifive.com> Reviewed-by: NRichard Henderson <richard.henderson@linaro.org> Message-Id: <76f8f9383a766dbcade883e897dec8cfef669799.1545246859.git.alistair.francis@wdc.com> Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
-
由 Alistair Francis 提交于
Signed-off-by: NAlistair Francis <alistair.francis@wdc.com> Signed-off-by: NMichael Clark <mjc@sifive.com> Reviewed-by: NRichard Henderson <richard.henderson@linaro.org> Message-Id: <02fc0b3a733f5f08eb396bee5afd3d327941f0c9.1545246859.git.alistair.francis@wdc.com> Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
-
- 22 12月, 2018 32 次提交
-
-
由 Peter Maydell 提交于
RDMA queue * Add support for RDMA MAD * Various fixes for the pvrdma backend # gpg: Signature made Sat 22 Dec 2018 09:36:36 GMT # gpg: using RSA key 36D4C0F0CF2FE46D # gpg: Good signature from "Marcel Apfelbaum <marcel.apfelbaum@zoho.com>" # gpg: aka "Marcel Apfelbaum <marcel@redhat.com>" # gpg: aka "Marcel Apfelbaum <marcel.apfelbaum@gmail.com>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: B1C6 3A57 F92E 08F2 640F 31F5 36D4 C0F0 CF2F E46D * remotes/marcel/tags/rdma-pull-request: (31 commits) pvrdma: check return value from pvrdma_idx_ring_has_ routines rdma: remove unused VENDOR_ERR_NO_SGE macro pvrdma: release ring object in case of an error pvrdma: check number of pages when creating rings pvrdma: add uar_read routine rdma: check num_sge does not exceed MAX_SGE pvrdma: release device resources in case of an error docs: Update pvrdma device documentation hw/rdma: Do not call rdma_backend_del_gid on an empty gid hw/rdma: Do not use bitmap_zero_extend to free bitmap hw/pvrdma: Clean device's resource when system is shutdown vl: Introduce shutdown_notifiers hw/rdma: Remove unneeded code that handles more that one port hw/pvrdma: Fill error code in command's response hw/pvrdma: Fill all CQE fields hw/pvrdma: Make device state depend on Ethernet function state hw/rdma: Initialize node_guid from vmxnet3 mac address hw/pvrdma: Make sure PCI function 0 is vmxnet3 vmxnet3: Move some definitions to header file hw/pvrdma: Add support to allow guest to configure GID table ... Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Prasad J Pandit 提交于
pvrdma_idx_ring_has_[data/space] routines also return invalid index PVRDMA_INVALID_IDX[=-1], if ring has no data/space. Check return value from these routines to avoid plausible infinite loops. Reported-by: NLi Qiang <liq3ea@163.com> Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org> Reviewed-by: NYuval Shaia <yuval.shaia@oracle.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Prasad J Pandit 提交于
With commit 4481985c (rdma: check num_sge does not exceed MAX_SGE) macro VENDOR_ERR_NO_SGE is no longer in use - delete it. Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org> Reviewed-by: NYuval Shaia <yuval.shaia@oracle.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Prasad J Pandit 提交于
create_cq and create_qp routines allocate ring object, but it's not released in case of an error, leading to memory leakage. Reported-by: NLi Qiang <liq3ea@163.com> Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org> Reviewed-by: NYuval Shaia <yuval.shaia@oracle.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Prasad J Pandit 提交于
When creating CQ/QP rings, an object can have up to PVRDMA_MAX_FAST_REG_PAGES 8 pages. Check 'npages' parameter to avoid excessive memory allocation or a null dereference. Reported-by: NLi Qiang <liq3ea@163.com> Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org> Reviewed-by: NYuval Shaia <yuval.shaia@oracle.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Prasad J Pandit 提交于
Define skeleton 'uar_read' routine. Avoid NULL dereference. Reported-by: NLi Qiang <liq3ea@163.com> Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Prasad J Pandit 提交于
rdma back-end has scatter/gather array ibv_sge[MAX_SGE=4] set to have 4 elements. A guest could send a 'PvrdmaSqWqe' ring element with 'num_sge' set to > MAX_SGE, which may lead to OOB access issue. Add check to avoid it. Reported-by: NSaar Amar <saaramar5@gmail.com> Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org> Reviewed-by: NYuval Shaia <yuval.shaia@oracle.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Prasad J Pandit 提交于
If during pvrdma device initialisation an error occurs, pvrdma_realize() does not release memory resources, leading to memory leakage. Reported-by: NLi Qiang <liq3ea@163.com> Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org> Message-Id: <20181212175817.815-1-ppandit@redhat.com> Reviewed-by: NYuval Shaia <yuval.shaia@oracle.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Interface with the device is changed with the addition of support for MAD packets. Adjust documentation accordingly. While there fix a minor mistake which may lead to think that there is a relation between using RXE on host and the compatibility with bare-metal peers. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
When device goes down the function fini_ports loops over all entries in gid table regardless of the fact whether entry is valid or not. In case that entry is not valid we'd like to skip from any further processing in backend device. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
bitmap_zero_extend is designed to work for extending, not for shrinking. Using g_free instead. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
In order to clean some external resources such as GIDs, QPs etc, register to receive notification when VM is shutdown. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Notifier will be used for signaling shutdown event to inform system is shutdown. This will allow devices and other component to run some cleanup code needed before VM is shutdown. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NCornelia Huck <cohuck@redhat.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Device supports only one port, let's remove a dead code that handles more than one port. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Driver checks error code let's set it. In addition, for code simplification purposes, set response's fields ack, response and err outside of the scope of command handlers. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Add ability to pass specific WC attributes to CQE such as GRH_BIT flag. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
User should be able to control the device by changing Ethernet function state so if user runs 'ifconfig ens3 down' the PVRDMA function should be down as well. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
node_guid should be set once device is load. Make node_guid be GID format (32 bit) of PCI function 0 vmxnet3 device's MAC. A new function was added to do the conversion. So for example the MAC 56:b6:44:e9:62:dc will be converted to GID 54b6:44ff:fee9:62dc. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Guest driver enforces it, we should also. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
pvrdma setup requires vmxnet3 device on PCI function 0 and PVRDMA device on PCI function 1. pvrdma device needs to access vmxnet3 device object for several reasons: 1. Make sure PCI function 0 is vmxnet3. 2. To monitor vmxnet3 device state. 3. To configure node_guid accoring to vmxnet3 device's MAC address. To be able to access vmxnet3 device the definition of VMXNET3State is moved to a new header file. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NDmitry Fleytman <dmitry.fleytman@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
The control over the RDMA device's GID table is done by updating the device's Ethernet function addresses. Usually the first GID entry is determined by the MAC address, the second by the first IPv6 address and the third by the IPv4 address. Other entries can be added by adding more IP addresses. The opposite is the same, i.e. whenever an address is removed, the corresponding GID entry is removed. The process is done by the network and RDMA stacks. Whenever an address is added the ib_core driver is notified and calls the device driver add_gid function which in turn update the device. To support this in pvrdma device we need to hook into the create_bind and destroy_bind HW commands triggered by pvrdma driver in guest. Whenever a change is made to the pvrdma port's GID table a special QMP message is sent to be processed by libvirt to update the address of the backend Ethernet device. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
pvrdma requires that the same GID attached to it will be attached to the backend device in the host. A new QMP messages is defined so pvrdma device can broadcast any change made to its GID table. This event is captured by libvirt which in turn will update the GID table in the backend device. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Acked-by: NMarkus Armbruster <armbru@redhat.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
opcode for WC should be set by the device and not taken from work element. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
The function pvrdma_post_cqe populates CQE entry with opcode from the given completion element. For receive operation value was not set. Fix it by setting it to IBV_WC_RECV. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Commit 6e7dba23 ("hw/pvrdma: Make default pkey 0xFFFF") exports default pkey as external definition but omit the change from 0x7FFF to 0xFFFF. Fixes: 6e7dba23 ("hw/pvrdma: Make default pkey 0xFFFF") Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
This function cannot fail - fix it to return void Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
MAD (Management Datagram) packets are widely used by various modules both in kernel and in user space for example the rdma_* API which is used to create and maintain "connection" layer on top of RDMA uses several types of MAD packets. For more information please refer to chapter 13.4 in Volume 1 Architecture Specification, Release 1.1 available here: https://www.infinibandta.org/ibta-specifications-download/ To support MAD packets the device uses an external utility (contrib/rdmacm-mux) to relay packets from and to the guest driver. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Function create_ah might return NULL, let's exit with an error. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Device is not supporting QP0, only QP1. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Upon completion of incoming packet the device pushes CQE to driver's RX ring and notify the driver (msix). While for data-path incoming packets the driver needs the ability to control whether it wished to receive interrupts or not, for control-path packets such as incoming MAD the driver needs to be notified anyway, it even do not need to re-arm the notification bit. Enhance the notification field to support this. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
RDMA MAD kernel module (ibcm) disallow more than one MAD-agent for a given MAD class. This does not go hand-by-hand with qemu pvrdma device's requirements where each VM is MAD agent. Fix it by adding implementation of RDMA MAD multiplexer service which on one hand register as a sole MAD agent with the kernel module and on the other hand gives service to more than one VM. Design Overview: Reviewed-by: NShamir Rabinovitch <shamir.rabinovitch@oracle.com> ---------------- A server process is registered to UMAD framework (for this to work the rdma_cm kernel module needs to be unloaded) and creates a unix socket to listen to incoming request from clients. A client process (such as QEMU) connects to this unix socket and registers with its own GID. TX: ---- When client needs to send rdma_cm MAD message it construct it the same way as without this multiplexer, i.e. creates a umad packet but this time it writes its content to the socket instead of calling umad_send(). The server, upon receiving such a message fetch local_comm_id from it so a context for this session can be maintain and relay the message to UMAD layer by calling umad_send(). RX: ---- The server creates a worker thread to process incoming rdma_cm MAD messages. When an incoming message arrived (umad_recv()) the server, depending on the message type (attr_id) looks for target client by either searching in gid->fd table or in local_comm_id->fd table. With the extracted fd the server relays to incoming message to the client. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Reviewed-by: NShamir Rabinovitch <shamir.rabinovitch@oracle.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
由 Yuval Shaia 提交于
Return value of 0 means ok, we want to free the memory only in case of error. Signed-off-by: NYuval Shaia <yuval.shaia@oracle.com> Message-Id: <20181025061700.17050-1-yuval.shaia@oracle.com> Reviewed-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com> Signed-off-by: NMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
-
- 21 12月, 2018 6 次提交
-
-
由 Peter Maydell 提交于
ppc patch queue 2018-12-21 This pull request supersedes the one from 2018-12-13. This is a revised first ppc pull request for qemu-4.0. Highlights are: * Most of the code for the POWER9 "XIVE" interrupt controller (not complete yet, but we're getting there) * A number of g_new vs. g_malloc cleanups * Some IRQ wiring cleanups * A fix for how we advertise NUMA nodes to the guest for pseries # gpg: Signature made Fri 21 Dec 2018 05:34:12 GMT # gpg: using RSA key 6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" # gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * remotes/dgibson/tags/ppc-for-4.0-20181221: (40 commits) MAINTAINERS: PPC: add a XIVE section spapr: change default CPU type to POWER9 spapr: introduce an 'ic-mode' machine option spapr: add an extra OV5 field to the sPAPR IRQ backend spapr: add a 'reset' method to the sPAPR IRQ backend spapr: extend the sPAPR IRQ backend for XICS migration spapr: allocate the interrupt thread context under the CPU core spapr: add device tree support for the XIVE exploitation mode spapr: add hcalls support for the XIVE exploitation interrupt mode spapr: introduce a new machine IRQ backend for XIVE spapr-iommu: Always advertise the maximum possible DMA window size spapr/xive: use the VCPU id as a NVT identifier spapr/xive: introduce a XIVE interrupt controller ppc/xive: notify the CPU when the interrupt priority is more privileged ppc/xive: introduce a simplified XIVE presenter ppc/xive: introduce the XIVE interrupt thread context ppc/xive: add support for the END Event State Buffers Changes requirement for "vsubsbs" instruction spapr: export and rename the xics_max_server_number() routine spapr: introduce a spapr_irq_init() routine ... Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Peter Maydell 提交于
pci, pc, virtio: fixes, features VTD fixes IR and split irqchip are now the default for Q35 ACPI refactoring hotplug refactoring new names for virtio devices multiple pcie link width/speeds PCI fixes Signed-off-by: NMichael S. Tsirkin <mst@redhat.com> # gpg: Signature made Thu 20 Dec 2018 18:26:03 GMT # gpg: using RSA key 281F0DB8D28D5469 # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" # gpg: aka "Michael S. Tsirkin <mst@redhat.com>" # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67 # Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469 * remotes/mst/tags/for_upstream: (44 commits) x86-iommu: turn on IR by default if proper x86-iommu: switch intr_supported to OnOffAuto type q35: set split kernel irqchip as default pci: Adjust PCI config limit based on bus topology spapr_pci: perform unplug via the hotplug handler pci/shpc: perform unplug via the hotplug handler pci: Reuse pci-bridge hotplug handler handlers for pcie-pci-bridge pci/pcie: perform unplug via the hotplug handler pci/pcihp: perform unplug via the hotplug handler pci/pcihp: overwrite hotplug handler recursively from the start pci/pcihp: perform check for bus capability in pre_plug handler s390x/pci: rename hotplug handler callbacks pci/shpc: rename hotplug handler callbacks pci/pcie: rename hotplug handler callbacks hw/i386: Remove deprecated machines pc-0.10 and pc-0.11 hw: acpi: Remove AcpiRsdpDescriptor and fix tests hw: acpi: Export and share the ARM RSDP build hw: arm: Support both legacy and current RSDP build hw: arm: Convert the RSDP build to the buid_append_foo() API hw: arm: Carry RSDP specific data through AcpiRsdpData ... Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
-
由 Cédric Le Goater 提交于
Signed-off-by: NCédric Le Goater <clg@kaod.org> Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
-
由 Cédric Le Goater 提交于
Signed-off-by: NCédric Le Goater <clg@kaod.org> Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
-
由 Cédric Le Goater 提交于
This option is used to select the interrupt controller mode (XICS or XIVE) with which the machine will operate. XICS being the default mode for now. When running a machine with the XIVE interrupt mode backend, the guest OS is required to have support for the XIVE exploitation mode. In the case of legacy OS, the mode selected by CAS should be XICS and the OS should fail to boot. However, QEMU could possibly detect it, terminate the boot process and reset to stop in the SLOF firmware. This is not yet handled. Signed-off-by: NCédric Le Goater <clg@kaod.org> Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au> Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
-
由 Cédric Le Goater 提交于
The interrupt modes supported by the hypervisor are advertised to the guest with new bits definitions of the option vector 5 of property "ibm,arch-vec-5-platform-support. The byte 23 bits 0-1 of the OV5 are defined as follow : 0b00 PAPR 2.7 and earlier (Legacy systems) 0b01 XIVE Exploitation mode only 0b10 Either available If the client/guest selects the XIVE interrupt mode, it informs the hypervisor by returning the value 0b01 in byte 23 bits 0-1. A 0b00 value indicates the use of the XICS interrupt mode (Legacy systems). The sPAPR IRQ backend is extended with these definitions and the values are directly used to populate the "ibm,arch-vec-5-platform-support" property. The interrupt mode is advertised under TCG and under KVM. Although a KVM XIVE device is not yet available, the machine can still operate with kernel_irqchip=off. However, we apply a restriction on the CPU which is required to be a POWER9 when a XIVE interrupt controller is in use. Signed-off-by: NCédric Le Goater <clg@kaod.org> Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
-