Pull request trivial patches 20220426
-----BEGIN PGP SIGNATURE----- iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmJn6XkSHGxhdXJlbnRA dml2aWVyLmV1AAoJEPMMOL0/L748TVwP/0zbxhynu1Eff4jsSHEMmk7UCkNvFNs+ htebWHrLViUhHnRzJZJl2GNnw7X4p3A+IqnzBDqDBN3ikfnjbu+D33Sze25vVkpD OVAJAhP7SA4jO2IdKrGgXoP7vGWrE4YGMnvhaJjEmGiKrm79oFSwIM6Cay/3IApm 87ngcRQyb4lr66wJP+i6sr6jCU0Hq8nbmdeKYKNDAYKGqaDmuipbh+8Dt+FXzFWZ N2l4CjtypQjF3U3s6FmL/8OWBJCQRLZkaNMH2Zv2ne9iWa1wBy4wuQ4qiFGz6b5L g1uBHRIDsMhAggYc97mqJesz5gbAYwSVJ1abe7ZmZSzOCXMFsdXbRpPIh4ZSIjCW OOwT+WkP5Yrlwyf1+K4YYx2CCsw713p0b8c9xlvP5xjF8gANfZeC1lH05ZHt3yoS W+q2jHhPszigY0xjhM1xa6B21a+ZWhvfa3uZnDoGXOY3Xri/Itv9h0GVGxA/ccTs rDtV1lK7oqWErxN6G6/rnAMo2vgJZ+CRwqubgE/vPhkOcDDtmwlDRNbqGfhGYPpx n4Ytu5ygxv1+6DbkPx4RCVJ725fybGMUPlBi1iL9l7DYg5QiKlHXUQxkeJ8YllOf unGAsfOhFZhJ7gMZlfQERQRZQGJjvTopl+zf49/HDT+NiRlxGAE4lTmHXG6vA7kX po+0LJ+pbrX+ =NHM0 -----END PGP SIGNATURE----- Merge tag 'trivial-branch-for-7.1-pull-request' of https://gitlab.com/laurent_vivier/qemu into staging Pull request trivial patches 20220426 # -----BEGIN PGP SIGNATURE----- # # iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmJn6XkSHGxhdXJlbnRA # dml2aWVyLmV1AAoJEPMMOL0/L748TVwP/0zbxhynu1Eff4jsSHEMmk7UCkNvFNs+ # htebWHrLViUhHnRzJZJl2GNnw7X4p3A+IqnzBDqDBN3ikfnjbu+D33Sze25vVkpD # OVAJAhP7SA4jO2IdKrGgXoP7vGWrE4YGMnvhaJjEmGiKrm79oFSwIM6Cay/3IApm # 87ngcRQyb4lr66wJP+i6sr6jCU0Hq8nbmdeKYKNDAYKGqaDmuipbh+8Dt+FXzFWZ # N2l4CjtypQjF3U3s6FmL/8OWBJCQRLZkaNMH2Zv2ne9iWa1wBy4wuQ4qiFGz6b5L # g1uBHRIDsMhAggYc97mqJesz5gbAYwSVJ1abe7ZmZSzOCXMFsdXbRpPIh4ZSIjCW # OOwT+WkP5Yrlwyf1+K4YYx2CCsw713p0b8c9xlvP5xjF8gANfZeC1lH05ZHt3yoS # W+q2jHhPszigY0xjhM1xa6B21a+ZWhvfa3uZnDoGXOY3Xri/Itv9h0GVGxA/ccTs # rDtV1lK7oqWErxN6G6/rnAMo2vgJZ+CRwqubgE/vPhkOcDDtmwlDRNbqGfhGYPpx # n4Ytu5ygxv1+6DbkPx4RCVJ725fybGMUPlBi1iL9l7DYg5QiKlHXUQxkeJ8YllOf # unGAsfOhFZhJ7gMZlfQERQRZQGJjvTopl+zf49/HDT+NiRlxGAE4lTmHXG6vA7kX # po+0LJ+pbrX+ # =NHM0 # -----END PGP SIGNATURE----- # gpg: Signature made Tue 26 Apr 2022 05:45:45 AM PDT # gpg: using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C # gpg: issuer "laurent@vivier.eu" # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [undefined] # gpg: aka "Laurent Vivier <laurent@vivier.eu>" [undefined] # gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [undefined] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C * tag 'trivial-branch-for-7.1-pull-request' of https://gitlab.com/laurent_vivier/qemu: docs: Replace HomeBrew -> Homebrew docs: Replace Qemu -> QEMU target/mips: Remove stale TODO file vdpa: Add missing tracing to batch mapping functions hw/pvrdma: Some cosmetic fixes Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
80a172de55
@ -80,7 +80,7 @@ Ubuntu LTS. Other distros will be assumed to ship similar software versions.
|
||||
For FreeBSD and OpenBSD, decisions will be made based on the contents of the
|
||||
respective ports repository, while NetBSD will use the pkgsrc repository.
|
||||
|
||||
For macOS, `HomeBrew`_ will be used, although `MacPorts`_ is expected to carry
|
||||
For macOS, `Homebrew`_ will be used, although `MacPorts`_ is expected to carry
|
||||
similar versions.
|
||||
|
||||
Windows
|
||||
@ -92,6 +92,6 @@ hosted on Linux (Debian/Fedora).
|
||||
The version of the Windows API that's currently targeted is Vista / Server
|
||||
2008.
|
||||
|
||||
.. _HomeBrew: https://brew.sh/
|
||||
.. _Homebrew: https://brew.sh/
|
||||
.. _MacPorts: https://www.macports.org/
|
||||
.. _Repology: https://repology.org/
|
||||
|
@ -8,8 +8,8 @@ of a PCI Express device. It allows a single physical function (PF) to appear as
|
||||
virtual functions (VFs) for the main purpose of eliminating software
|
||||
overhead in I/O from virtual machines.
|
||||
|
||||
Qemu now implements the basic common functionality to enable an emulated device
|
||||
to support SR/IOV. Yet no fully implemented devices exists in Qemu, but a
|
||||
QEMU now implements the basic common functionality to enable an emulated device
|
||||
to support SR/IOV. Yet no fully implemented devices exists in QEMU, but a
|
||||
proof-of-concept hack of the Intel igb can be found here:
|
||||
|
||||
git://github.com/knuto/qemu.git sriov_patches_v5
|
||||
@ -18,7 +18,7 @@ Implementation
|
||||
==============
|
||||
Implementing emulation of an SR/IOV capable device typically consists of
|
||||
implementing support for two types of device classes; the "normal" physical device
|
||||
(PF) and the virtual device (VF). From Qemu's perspective, the VFs are just
|
||||
(PF) and the virtual device (VF). From QEMU's perspective, the VFs are just
|
||||
like other devices, except that some of their properties are derived from
|
||||
the PF.
|
||||
|
||||
|
@ -159,13 +159,13 @@ static void free_dsr(PVRDMADev *dev)
|
||||
free_dev_ring(pci_dev, &dev->dsr_info.cq, dev->dsr_info.cq_ring_state);
|
||||
|
||||
rdma_pci_dma_unmap(pci_dev, dev->dsr_info.req,
|
||||
sizeof(union pvrdma_cmd_req));
|
||||
sizeof(union pvrdma_cmd_req));
|
||||
|
||||
rdma_pci_dma_unmap(pci_dev, dev->dsr_info.rsp,
|
||||
sizeof(union pvrdma_cmd_resp));
|
||||
sizeof(union pvrdma_cmd_resp));
|
||||
|
||||
rdma_pci_dma_unmap(pci_dev, dev->dsr_info.dsr,
|
||||
sizeof(struct pvrdma_device_shared_region));
|
||||
sizeof(struct pvrdma_device_shared_region));
|
||||
|
||||
dev->dsr_info.dsr = NULL;
|
||||
}
|
||||
@ -249,7 +249,8 @@ static void init_dsr_dev_caps(PVRDMADev *dev)
|
||||
{
|
||||
struct pvrdma_device_shared_region *dsr;
|
||||
|
||||
if (dev->dsr_info.dsr == NULL) {
|
||||
if (!dev->dsr_info.dsr) {
|
||||
/* Buggy or malicious guest driver */
|
||||
rdma_error_report("Can't initialized DSR");
|
||||
return;
|
||||
}
|
||||
|
@ -25,6 +25,8 @@ vhost_user_postcopy_waker_nomatch(const char *rb, uint64_t rb_offset) "%s + 0x%"
|
||||
# vhost-vdpa.c
|
||||
vhost_vdpa_dma_map(void *vdpa, int fd, uint32_t msg_type, uint64_t iova, uint64_t size, uint64_t uaddr, uint8_t perm, uint8_t type) "vdpa:%p fd: %d msg_type: %"PRIu32" iova: 0x%"PRIx64" size: 0x%"PRIx64" uaddr: 0x%"PRIx64" perm: 0x%"PRIx8" type: %"PRIu8
|
||||
vhost_vdpa_dma_unmap(void *vdpa, int fd, uint32_t msg_type, uint64_t iova, uint64_t size, uint8_t type) "vdpa:%p fd: %d msg_type: %"PRIu32" iova: 0x%"PRIx64" size: 0x%"PRIx64" type: %"PRIu8
|
||||
vhost_vdpa_listener_begin_batch(void *v, int fd, uint32_t msg_type, uint8_t type) "vdpa:%p fd: %d msg_type: %"PRIu32" type: %"PRIu8
|
||||
vhost_vdpa_listener_commit(void *v, int fd, uint32_t msg_type, uint8_t type) "vdpa:%p fd: %d msg_type: %"PRIu32" type: %"PRIu8
|
||||
vhost_vdpa_listener_region_add(void *vdpa, uint64_t iova, uint64_t llend, void *vaddr, bool readonly) "vdpa: %p iova 0x%"PRIx64" llend 0x%"PRIx64" vaddr: %p read-only: %d"
|
||||
vhost_vdpa_listener_region_del(void *vdpa, uint64_t iova, uint64_t llend) "vdpa: %p iova 0x%"PRIx64" llend 0x%"PRIx64
|
||||
vhost_vdpa_add_status(void *dev, uint8_t status) "dev: %p status: 0x%"PRIx8
|
||||
|
@ -129,6 +129,7 @@ static void vhost_vdpa_listener_begin_batch(struct vhost_vdpa *v)
|
||||
.iotlb.type = VHOST_IOTLB_BATCH_BEGIN,
|
||||
};
|
||||
|
||||
trace_vhost_vdpa_listener_begin_batch(v, fd, msg.type, msg.iotlb.type);
|
||||
if (write(fd, &msg, sizeof(msg)) != sizeof(msg)) {
|
||||
error_report("failed to write, fd=%d, errno=%d (%s)",
|
||||
fd, errno, strerror(errno));
|
||||
@ -163,6 +164,7 @@ static void vhost_vdpa_listener_commit(MemoryListener *listener)
|
||||
msg.type = v->msg_type;
|
||||
msg.iotlb.type = VHOST_IOTLB_BATCH_END;
|
||||
|
||||
trace_vhost_vdpa_listener_commit(v, fd, msg.type, msg.iotlb.type);
|
||||
if (write(fd, &msg, sizeof(msg)) != sizeof(msg)) {
|
||||
error_report("failed to write, fd=%d, errno=%d (%s)",
|
||||
fd, errno, strerror(errno));
|
||||
|
@ -1,51 +0,0 @@
|
||||
Unsolved issues/bugs in the mips/mipsel backend
|
||||
-----------------------------------------------
|
||||
|
||||
General
|
||||
-------
|
||||
- Unimplemented ASEs:
|
||||
- MDMX
|
||||
- SmartMIPS
|
||||
- microMIPS DSP r1 & r2 encodings
|
||||
- MT ASE only partially implemented and not functional
|
||||
- Shadow register support only partially implemented,
|
||||
lacks set switching on interrupt/exception.
|
||||
- 34K ITC not implemented.
|
||||
- A general lack of documentation, especially for technical internals.
|
||||
Existing documentation is x86-centric.
|
||||
- Reverse endianness bit not implemented
|
||||
- The TLB emulation is very inefficient:
|
||||
QEMU's softmmu implements a x86-style MMU, with separate entries
|
||||
for read/write/execute, a TLB index which is just a modulo of the
|
||||
virtual address, and a set of TLBs for each user/kernel/supervisor
|
||||
MMU mode.
|
||||
MIPS has a single entry for read/write/execute and only one MMU mode.
|
||||
But it is fully associative with randomized entry indices, and uses
|
||||
up to 256 ASID tags as additional matching criterion (which roughly
|
||||
equates to 256 MMU modes). It also has a global flag which causes
|
||||
entries to match regardless of ASID.
|
||||
To cope with these differences, QEMU currently flushes the TLB at
|
||||
each ASID change. Using the MMU modes to implement ASIDs hinges on
|
||||
implementing the global bit efficiently.
|
||||
- save/restore of the CPU state is not implemented (see machine.c).
|
||||
|
||||
MIPS64
|
||||
------
|
||||
- Userland emulation (both n32 and n64) not functional.
|
||||
|
||||
"Generic" 4Kc system emulation
|
||||
------------------------------
|
||||
- Doesn't correspond to any real hardware. Should be removed some day,
|
||||
U-Boot is the last remaining user.
|
||||
|
||||
PICA 61 system emulation
|
||||
------------------------
|
||||
- No framebuffer support yet.
|
||||
|
||||
MALTA system emulation
|
||||
----------------------
|
||||
- We fake firmware support instead of doing the real thing
|
||||
- Real firmware (YAMON) falls over when trying to init RAM, presumably
|
||||
due to lacking system controller emulation.
|
||||
- Bonito system controller not implemented
|
||||
- MSC1 system controller not implemented
|
Loading…
x
Reference in New Issue
Block a user