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:
Richard Henderson 2022-04-26 07:54:22 -07:00
commit 80a172de55
6 changed files with 14 additions and 60 deletions

View File

@ -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/

View File

@ -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.

View File

@ -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;
}

View File

@ -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

View File

@ -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));

View File

@ -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