mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
* Add cpu0-id to query-sev-capabilities
* whpx support for breakpoints and stepping * initial support for Hyper-V Synthetic Debugging * use monotonic clock for QemuCond and QemuSemaphore * Remove qemu-common.h include from most units and lots of other clenaups * do not include headers for all virtio devices in virtio-ccw.h -----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmJXCQAUHHBib256aW5p QHJlZGhhdC5jb20ACgkQv/vSX3jHroNT6wf+NHDJUEdDiwaVGVTGXgHuiaycsymi FpNPiw/+XxSGN5xF3fkUGgqaDrcwIYwVfnXlghKSz8kp1cP3cjxa5CzNMLGTp5je N6BxFbD7yC6dhagGm3mj32jlsptv3M38OHqKc3t+RaUAotP5RF2VdCyfUBLG6vU0 aMzvMfMtB5aG0D8Fr5EV63t1JMTceFU0YxsG73UCFs2Yx4Z0cGBbNxMbHweRhd1q tPeVDS46MFPM3/2cGGHpeeqxkoCTU7A9j1VuNQI3k+Kg+6W5YVxiK/UP7bw77E/a yAHsmIVTNro8ajMBch73weuHtGtdfFLvCKc6QX6aVjzK4dF1voQ01E7gPQ== =rMle -----END PGP SIGNATURE----- Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging * Add cpu0-id to query-sev-capabilities * whpx support for breakpoints and stepping * initial support for Hyper-V Synthetic Debugging * use monotonic clock for QemuCond and QemuSemaphore * Remove qemu-common.h include from most units and lots of other clenaups * do not include headers for all virtio devices in virtio-ccw.h # -----BEGIN PGP SIGNATURE----- # # iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmJXCQAUHHBib256aW5p # QHJlZGhhdC5jb20ACgkQv/vSX3jHroNT6wf+NHDJUEdDiwaVGVTGXgHuiaycsymi # FpNPiw/+XxSGN5xF3fkUGgqaDrcwIYwVfnXlghKSz8kp1cP3cjxa5CzNMLGTp5je # N6BxFbD7yC6dhagGm3mj32jlsptv3M38OHqKc3t+RaUAotP5RF2VdCyfUBLG6vU0 # aMzvMfMtB5aG0D8Fr5EV63t1JMTceFU0YxsG73UCFs2Yx4Z0cGBbNxMbHweRhd1q # tPeVDS46MFPM3/2cGGHpeeqxkoCTU7A9j1VuNQI3k+Kg+6W5YVxiK/UP7bw77E/a # yAHsmIVTNro8ajMBch73weuHtGtdfFLvCKc6QX6aVjzK4dF1voQ01E7gPQ== # =rMle # -----END PGP SIGNATURE----- # gpg: Signature made Wed 13 Apr 2022 10:31:44 AM PDT # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonzini@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [undefined] # gpg: aka "Paolo Bonzini <pbonzini@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: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * tag 'for-upstream' of https://gitlab.com/bonzini/qemu: (53 commits) target/i386: Remove unused XMMReg, YMMReg types and CPUState fields target/i386: do not access beyond the low 128 bits of SSE registers virtio-ccw: do not include headers for all virtio devices virtio-ccw: move device type declarations to .c files virtio-ccw: move vhost_ccw_scsi to a separate file s390x: follow qdev tree to detect SCSI device on a CCW bus hw: hyperv: Initial commit for Synthetic Debugging device hyperv: Add support to process syndbg commands hyperv: Add definitions for syndbg hyperv: SControl is optional to enable SynIc thread-posix: optimize qemu_sem_timedwait with zero timeout thread-posix: implement Semaphore with QemuCond and QemuMutex thread-posix: use monotonic clock for QemuCond and QemuSemaphore thread-posix: remove the posix semaphore support whpx: Added support for breakpoints and stepping build-sys: simplify AF_VSOCK check build-sys: drop ntddscsi.h check Remove qemu-common.h include from most units qga: remove explicit environ argument from exec/spawn Move fcntl_setfl() to oslib-posix ... Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
1be5a765c0
515 changed files with 3179 additions and 1791 deletions
|
@ -11,7 +11,7 @@
|
|||
#include "qemu/iova-tree.h"
|
||||
#include "vhost-iova-tree.h"
|
||||
|
||||
#define iova_min_addr qemu_real_host_page_size
|
||||
#define iova_min_addr qemu_real_host_page_size()
|
||||
|
||||
/**
|
||||
* VhostIOVATree, able to:
|
||||
|
@ -86,7 +86,7 @@ const DMAMap *vhost_iova_tree_find_iova(const VhostIOVATree *tree,
|
|||
int vhost_iova_tree_map_alloc(VhostIOVATree *tree, DMAMap *map)
|
||||
{
|
||||
/* Some vhost devices do not like addr 0. Skip first page */
|
||||
hwaddr iova_first = tree->iova_first ?: qemu_real_host_page_size;
|
||||
hwaddr iova_first = tree->iova_first ?: qemu_real_host_page_size();
|
||||
|
||||
if (map->translated_addr + map->size < map->translated_addr ||
|
||||
map->perm == IOMMU_NONE) {
|
||||
|
|
|
@ -471,14 +471,14 @@ size_t vhost_svq_driver_area_size(const VhostShadowVirtqueue *svq)
|
|||
size_t avail_size = offsetof(vring_avail_t, ring) +
|
||||
sizeof(uint16_t) * svq->vring.num;
|
||||
|
||||
return ROUND_UP(desc_size + avail_size, qemu_real_host_page_size);
|
||||
return ROUND_UP(desc_size + avail_size, qemu_real_host_page_size());
|
||||
}
|
||||
|
||||
size_t vhost_svq_device_area_size(const VhostShadowVirtqueue *svq)
|
||||
{
|
||||
size_t used_size = offsetof(vring_used_t, ring) +
|
||||
sizeof(vring_used_elem_t) * svq->vring.num;
|
||||
return ROUND_UP(used_size, qemu_real_host_page_size);
|
||||
return ROUND_UP(used_size, qemu_real_host_page_size());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -533,11 +533,11 @@ void vhost_svq_start(VhostShadowVirtqueue *svq, VirtIODevice *vdev,
|
|||
svq->vring.num = virtio_queue_get_num(vdev, virtio_get_queue_index(vq));
|
||||
driver_size = vhost_svq_driver_area_size(svq);
|
||||
device_size = vhost_svq_device_area_size(svq);
|
||||
svq->vring.desc = qemu_memalign(qemu_real_host_page_size, driver_size);
|
||||
svq->vring.desc = qemu_memalign(qemu_real_host_page_size(), driver_size);
|
||||
desc_size = sizeof(vring_desc_t) * svq->vring.num;
|
||||
svq->vring.avail = (void *)((char *)svq->vring.desc + desc_size);
|
||||
memset(svq->vring.desc, 0, driver_size);
|
||||
svq->vring.used = qemu_memalign(qemu_real_host_page_size, device_size);
|
||||
svq->vring.used = qemu_memalign(qemu_real_host_page_size(), device_size);
|
||||
memset(svq->vring.used, 0, device_size);
|
||||
svq->ring_id_maps = g_new0(VirtQueueElement *, svq->vring.num);
|
||||
for (unsigned i = 0; i < svq->vring.num - 1; i++) {
|
||||
|
|
|
@ -1166,7 +1166,7 @@ static int vhost_user_set_vring_num(struct vhost_dev *dev,
|
|||
static void vhost_user_host_notifier_free(VhostUserHostNotifier *n)
|
||||
{
|
||||
assert(n && n->unmap_addr);
|
||||
munmap(n->unmap_addr, qemu_real_host_page_size);
|
||||
munmap(n->unmap_addr, qemu_real_host_page_size());
|
||||
n->unmap_addr = NULL;
|
||||
}
|
||||
|
||||
|
@ -1503,7 +1503,7 @@ static int vhost_user_slave_handle_vring_host_notifier(struct vhost_dev *dev,
|
|||
int fd)
|
||||
{
|
||||
int queue_idx = area->u64 & VHOST_USER_VRING_IDX_MASK;
|
||||
size_t page_size = qemu_real_host_page_size;
|
||||
size_t page_size = qemu_real_host_page_size();
|
||||
struct vhost_user *u = dev->opaque;
|
||||
VhostUserState *user = u->user;
|
||||
VirtIODevice *vdev = dev->vdev;
|
||||
|
|
|
@ -20,10 +20,10 @@
|
|||
#include "hw/virtio/vhost-shadow-virtqueue.h"
|
||||
#include "hw/virtio/vhost-vdpa.h"
|
||||
#include "exec/address-spaces.h"
|
||||
#include "qemu/cutils.h"
|
||||
#include "qemu/main-loop.h"
|
||||
#include "cpu.h"
|
||||
#include "trace.h"
|
||||
#include "qemu-common.h"
|
||||
#include "qapi/error.h"
|
||||
|
||||
/*
|
||||
|
@ -468,7 +468,7 @@ err:
|
|||
static void vhost_vdpa_host_notifier_uninit(struct vhost_dev *dev,
|
||||
int queue_index)
|
||||
{
|
||||
size_t page_size = qemu_real_host_page_size;
|
||||
size_t page_size = qemu_real_host_page_size();
|
||||
struct vhost_vdpa *v = dev->opaque;
|
||||
VirtIODevice *vdev = dev->vdev;
|
||||
VhostVDPAHostNotifier *n;
|
||||
|
@ -485,7 +485,7 @@ static void vhost_vdpa_host_notifier_uninit(struct vhost_dev *dev,
|
|||
|
||||
static int vhost_vdpa_host_notifier_init(struct vhost_dev *dev, int queue_index)
|
||||
{
|
||||
size_t page_size = qemu_real_host_page_size;
|
||||
size_t page_size = qemu_real_host_page_size();
|
||||
struct vhost_vdpa *v = dev->opaque;
|
||||
VirtIODevice *vdev = dev->vdev;
|
||||
VhostVDPAHostNotifier *n;
|
||||
|
@ -875,7 +875,7 @@ static bool vhost_vdpa_svq_unmap_ring(struct vhost_vdpa *v,
|
|||
return false;
|
||||
}
|
||||
|
||||
size = ROUND_UP(result->size, qemu_real_host_page_size);
|
||||
size = ROUND_UP(result->size, qemu_real_host_page_size());
|
||||
r = vhost_vdpa_dma_unmap(v, result->iova, size);
|
||||
return r == 0;
|
||||
}
|
||||
|
|
|
@ -989,7 +989,7 @@ static inline bool vhost_needs_vring_endian(VirtIODevice *vdev)
|
|||
if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) {
|
||||
return false;
|
||||
}
|
||||
#ifdef HOST_WORDS_BIGENDIAN
|
||||
#if HOST_BIG_ENDIAN
|
||||
return vdev->device_endian == VIRTIO_DEVICE_ENDIAN_LITTLE;
|
||||
#else
|
||||
return vdev->device_endian == VIRTIO_DEVICE_ENDIAN_BIG;
|
||||
|
|
|
@ -452,7 +452,6 @@ static void virtio_balloon_receive_stats(VirtIODevice *vdev, VirtQueue *vq)
|
|||
VirtQueueElement *elem;
|
||||
VirtIOBalloonStat stat;
|
||||
size_t offset = 0;
|
||||
qemu_timeval tv;
|
||||
|
||||
elem = virtqueue_pop(vq, sizeof(VirtQueueElement));
|
||||
if (!elem) {
|
||||
|
@ -484,13 +483,7 @@ static void virtio_balloon_receive_stats(VirtIODevice *vdev, VirtQueue *vq)
|
|||
s->stats[tag] = val;
|
||||
}
|
||||
s->stats_vq_offset = offset;
|
||||
|
||||
if (qemu_gettimeofday(&tv) < 0) {
|
||||
warn_report("%s: failed to get time of day", __func__);
|
||||
goto out;
|
||||
}
|
||||
|
||||
s->stats_last_update = tv.tv_sec;
|
||||
s->stats_last_update = g_get_real_time() / G_USEC_PER_SEC;
|
||||
|
||||
out:
|
||||
if (balloon_stats_enabled(s)) {
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
#include "qemu/osdep.h"
|
||||
#include "qemu/log.h"
|
||||
#include "qemu/iov.h"
|
||||
#include "qemu-common.h"
|
||||
#include "hw/qdev-properties.h"
|
||||
#include "hw/virtio/virtio.h"
|
||||
#include "sysemu/kvm.h"
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
*/
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu-common.h"
|
||||
#include "qemu/iov.h"
|
||||
#include "qemu/cutils.h"
|
||||
#include "qemu/error-report.h"
|
||||
|
@ -53,11 +52,11 @@ static uint32_t virtio_mem_default_thp_size(void)
|
|||
#if defined(__x86_64__) || defined(__arm__) || defined(__powerpc64__)
|
||||
default_thp_size = 2 * MiB;
|
||||
#elif defined(__aarch64__)
|
||||
if (qemu_real_host_page_size == 4 * KiB) {
|
||||
if (qemu_real_host_page_size() == 4 * KiB) {
|
||||
default_thp_size = 2 * MiB;
|
||||
} else if (qemu_real_host_page_size == 16 * KiB) {
|
||||
} else if (qemu_real_host_page_size() == 16 * KiB) {
|
||||
default_thp_size = 32 * MiB;
|
||||
} else if (qemu_real_host_page_size == 64 * KiB) {
|
||||
} else if (qemu_real_host_page_size() == 64 * KiB) {
|
||||
default_thp_size = 512 * MiB;
|
||||
}
|
||||
#endif
|
||||
|
@ -120,7 +119,7 @@ static uint64_t virtio_mem_default_block_size(RAMBlock *rb)
|
|||
const uint64_t page_size = qemu_ram_pagesize(rb);
|
||||
|
||||
/* We can have hugetlbfs with a page size smaller than the THP size. */
|
||||
if (page_size == qemu_real_host_page_size) {
|
||||
if (page_size == qemu_real_host_page_size()) {
|
||||
return MAX(page_size, virtio_mem_thp_size());
|
||||
}
|
||||
return MAX(page_size, VIRTIO_MEM_MIN_BLOCK_SIZE);
|
||||
|
@ -135,7 +134,7 @@ static bool virtio_mem_has_shared_zeropage(RAMBlock *rb)
|
|||
* fresh page, consuming actual memory.
|
||||
*/
|
||||
return !qemu_ram_is_shared(rb) && rb->fd < 0 &&
|
||||
qemu_ram_pagesize(rb) == qemu_real_host_page_size;
|
||||
qemu_ram_pagesize(rb) == qemu_real_host_page_size();
|
||||
}
|
||||
#endif /* VIRTIO_MEM_HAS_LEGACY_GUESTS */
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
|
||||
#include "qemu/osdep.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qemu-common.h"
|
||||
#include "qemu/error-report.h"
|
||||
#include "qemu/main-loop.h"
|
||||
#include "hw/virtio/virtio-pmem.h"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue