mirror of https://github.com/xemu-project/xemu.git
Misc HW patch queue
- MAINTAINERS updates (Zhao, Glenn) - Replace incorrect mentions of 'softmmu' by 'system' (Phil) - Avoid using inlined functions with external linkage (Phil) - Restrict CXL to x86 PC PCI-based machines (Phil) - Remove unnecessary NULL check in bdrv_pad_request (Kevin) - Fix a pair of -Werror=maybe-uninitialized (Marc-André) - Initialize variable in xen_evtchn_soft_reset (Artem) - Do not access virtio-net tx queue until vhost is started (Yajun) -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmYMFMgACgkQ4+MsLN6t wN4wNA/+Pr4Qvt7xZ3ai5Ss4LUdFYw+qaw6di9KvHIkti8MlySHdniPraV7Uw2VR jrnI5sN488l6yjFQh3VIurrAvql6MruRR1/Pa3bIC4uGzydNVS75B7CA2pmIQ5hl Qiy4uQdgMk0dHiKdBjTVSnZaEkJ1+CNYvRK0aQcLUh3Dp/S+oGp6iyq2kWDhhgc6 wYWDnfUICuYiz+ButXKaeGOhX3kJ6x4XQWKehF7G/DWxj2TWdoo8AchVM0jFe9/w W+EiOrdH8dHqJ3vKhsZnE/FuN4SObt1LuzLaNUVz8GVfeDcmek6U/5J6iCoqiRsG PbhBSlr87yoz8w4YPXVSGkq/1g1lU5QuK68tAEo0tjx+ipJz9i23QKUGF42YJH9R yruyp+cA0KfgyoaOsaXyWFzHRH6N13sIakBUF39B53d/pb5MqSwMjwcFDa6za+bY W4DS4T+5gRSmfjgFtdvaFdGJXa51blRttcBbwjcCmpg/1WCRBZoQv2bYNijil1F4 jL+hrO60eJlaLrdyLDuXNvuOk4QE2qedxJo59oJO1DyGR8jzSN4a92xpasKIaazT vlZbRE1S2HPMQhfQIwa1yx2ul+tSXbvdtMyFPzKKNIIqFJcG/7VZLM+zvuFWn82I GDExQYJugFSEg9MGvwMeIXDzp5LiuxnIqyMw7GjSUdtsCFXfaDI= =Y4gO -----END PGP SIGNATURE----- Merge tag 'hw-misc-20240402' of https://github.com/philmd/qemu into staging Misc HW patch queue - MAINTAINERS updates (Zhao, Glenn) - Replace incorrect mentions of 'softmmu' by 'system' (Phil) - Avoid using inlined functions with external linkage (Phil) - Restrict CXL to x86 PC PCI-based machines (Phil) - Remove unnecessary NULL check in bdrv_pad_request (Kevin) - Fix a pair of -Werror=maybe-uninitialized (Marc-André) - Initialize variable in xen_evtchn_soft_reset (Artem) - Do not access virtio-net tx queue until vhost is started (Yajun) # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmYMFMgACgkQ4+MsLN6t # wN4wNA/+Pr4Qvt7xZ3ai5Ss4LUdFYw+qaw6di9KvHIkti8MlySHdniPraV7Uw2VR # jrnI5sN488l6yjFQh3VIurrAvql6MruRR1/Pa3bIC4uGzydNVS75B7CA2pmIQ5hl # Qiy4uQdgMk0dHiKdBjTVSnZaEkJ1+CNYvRK0aQcLUh3Dp/S+oGp6iyq2kWDhhgc6 # wYWDnfUICuYiz+ButXKaeGOhX3kJ6x4XQWKehF7G/DWxj2TWdoo8AchVM0jFe9/w # W+EiOrdH8dHqJ3vKhsZnE/FuN4SObt1LuzLaNUVz8GVfeDcmek6U/5J6iCoqiRsG # PbhBSlr87yoz8w4YPXVSGkq/1g1lU5QuK68tAEo0tjx+ipJz9i23QKUGF42YJH9R # yruyp+cA0KfgyoaOsaXyWFzHRH6N13sIakBUF39B53d/pb5MqSwMjwcFDa6za+bY # W4DS4T+5gRSmfjgFtdvaFdGJXa51blRttcBbwjcCmpg/1WCRBZoQv2bYNijil1F4 # jL+hrO60eJlaLrdyLDuXNvuOk4QE2qedxJo59oJO1DyGR8jzSN4a92xpasKIaazT # vlZbRE1S2HPMQhfQIwa1yx2ul+tSXbvdtMyFPzKKNIIqFJcG/7VZLM+zvuFWn82I # GDExQYJugFSEg9MGvwMeIXDzp5LiuxnIqyMw7GjSUdtsCFXfaDI= # =Y4gO # -----END PGP SIGNATURE----- # gpg: Signature made Tue 02 Apr 2024 15:23:04 BST # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full] # Primary key fingerprint: FAAB E75E 1291 7221 DCFD 6BB2 E3E3 2C2C DEAD C0DE * tag 'hw-misc-20240402' of https://github.com/philmd/qemu: hw/net/virtio-net: fix qemu set used ring flag even vhost started hw/xen_evtchn: Initialize flush_kvm_routes gpio/pca955x: Update maintainer email address hw/nvme: fix -Werror=maybe-uninitialized plugins: fix -Werror=maybe-uninitialized false-positive block: Remove unnecessary NULL check in bdrv_pad_request() hw/i386/pc: Restrict CXL to PCI-based machines MAINTAINERS: Fix error-report.c entry qtest/libqos: Reduce size_to_prdtl() declaration scope accel/hvf: Un-inline hvf_arch_supports_guest_debug() hw/arm/smmu: Avoid using inlined functions with external linkage again target/ppc: Rename init_excp_4xx_softmmu() -> init_excp_4xx() gdbstub/system: Rename 'user_ctx' argument as 'ctx' gdbstub: Correct invalid mentions of 'softmmu' by 'system' accel/tcg/plugin: Remove CONFIG_SOFTMMU_GATE definition Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
5456f2e235
|
@ -1545,7 +1545,7 @@ F: pc-bios/skiboot.lid
|
|||
F: tests/qtest/pnv*
|
||||
|
||||
pca955x
|
||||
M: Glenn Miles <milesg@linux.vnet.ibm.com>
|
||||
M: Glenn Miles <milesg@linux.ibm.com>
|
||||
L: qemu-ppc@nongnu.org
|
||||
L: qemu-arm@nongnu.org
|
||||
S: Odd Fixes
|
||||
|
@ -3013,7 +3013,7 @@ F: include/qapi/error.h
|
|||
F: include/qemu/error-report.h
|
||||
F: qapi/error.json
|
||||
F: util/error.c
|
||||
F: util/qemu-error.c
|
||||
F: util/error-report.c
|
||||
F: scripts/coccinelle/err-bad-newline.cocci
|
||||
F: scripts/coccinelle/error-use-after-free.cocci
|
||||
F: scripts/coccinelle/error_propagate_null.cocci
|
||||
|
|
|
@ -57,12 +57,6 @@
|
|||
#include "exec/helper-info.c.inc"
|
||||
#undef HELPER_H
|
||||
|
||||
#ifdef CONFIG_SOFTMMU
|
||||
# define CONFIG_SOFTMMU_GATE 1
|
||||
#else
|
||||
# define CONFIG_SOFTMMU_GATE 0
|
||||
#endif
|
||||
|
||||
/*
|
||||
* plugin_cb_start TCG op args[]:
|
||||
* 0: enum plugin_gen_from
|
||||
|
|
|
@ -1730,7 +1730,7 @@ static int bdrv_pad_request(BlockDriverState *bs,
|
|||
* For prefetching in stream_populate(), no qiov is passed along, because
|
||||
* only copy-on-read matters.
|
||||
*/
|
||||
if (qiov && *qiov) {
|
||||
if (*qiov) {
|
||||
sliced_iov = qemu_iovec_slice(*qiov, *qiov_offset, *bytes,
|
||||
&sliced_head, &sliced_tail,
|
||||
&sliced_niov);
|
||||
|
|
|
@ -115,7 +115,7 @@ void gdb_read_byte(uint8_t ch);
|
|||
|
||||
/*
|
||||
* Packet acknowledgement - we handle this slightly differently
|
||||
* between user and softmmu mode, mainly to deal with the differences
|
||||
* between user and system mode, mainly to deal with the differences
|
||||
* between the flexible chardev and the direct fd approaches.
|
||||
*
|
||||
* We currently don't support a negotiated QStartNoAckMode
|
||||
|
@ -125,7 +125,7 @@ void gdb_read_byte(uint8_t ch);
|
|||
* gdb_got_immediate_ack() - check ok to continue
|
||||
*
|
||||
* Returns true to continue, false to re-transmit for user only, the
|
||||
* softmmu stub always returns true.
|
||||
* system stub always returns true.
|
||||
*/
|
||||
bool gdb_got_immediate_ack(void);
|
||||
/* utility helpers */
|
||||
|
@ -135,12 +135,12 @@ CPUState *gdb_first_attached_cpu(void);
|
|||
void gdb_append_thread_id(CPUState *cpu, GString *buf);
|
||||
int gdb_get_cpu_index(CPUState *cpu);
|
||||
unsigned int gdb_get_max_cpus(void); /* both */
|
||||
bool gdb_can_reverse(void); /* softmmu, stub for user */
|
||||
bool gdb_can_reverse(void); /* system emulation, stub for user */
|
||||
int gdb_target_sigtrap(void); /* user */
|
||||
|
||||
void gdb_create_default_process(GDBState *s);
|
||||
|
||||
/* signal mapping, common for softmmu, specialised for user-mode */
|
||||
/* signal mapping, common for system, specialised for user-mode */
|
||||
int gdb_signal_to_target(int sig);
|
||||
int gdb_target_signal_to_gdb(int sig);
|
||||
|
||||
|
@ -157,12 +157,12 @@ void gdb_continue(void);
|
|||
int gdb_continue_partial(char *newstates);
|
||||
|
||||
/*
|
||||
* Helpers with separate softmmu and user implementations
|
||||
* Helpers with separate system and user implementations
|
||||
*/
|
||||
void gdb_put_buffer(const uint8_t *buf, int len);
|
||||
|
||||
/*
|
||||
* Command handlers - either specialised or softmmu or user only
|
||||
* Command handlers - either specialised or system or user only
|
||||
*/
|
||||
void gdb_init_gdbserver_state(void);
|
||||
|
||||
|
@ -187,7 +187,7 @@ typedef union GdbCmdVariant {
|
|||
|
||||
#define get_param(p, i) (&g_array_index(p, GdbCmdVariant, i))
|
||||
|
||||
void gdb_handle_query_rcmd(GArray *params, void *user_ctx); /* softmmu */
|
||||
void gdb_handle_query_rcmd(GArray *params, void *ctx); /* system */
|
||||
void gdb_handle_query_offsets(GArray *params, void *user_ctx); /* user */
|
||||
void gdb_handle_query_xfer_auxv(GArray *params, void *user_ctx); /*user */
|
||||
void gdb_handle_query_xfer_siginfo(GArray *params, void *user_ctx); /*user */
|
||||
|
@ -201,11 +201,11 @@ void gdb_handle_query_supported_user(const char *gdb_supported); /* user */
|
|||
bool gdb_handle_set_thread_user(uint32_t pid, uint32_t tid); /* user */
|
||||
bool gdb_handle_detach_user(uint32_t pid); /* user */
|
||||
|
||||
void gdb_handle_query_attached(GArray *params, void *user_ctx); /* both */
|
||||
void gdb_handle_query_attached(GArray *params, void *ctx); /* both */
|
||||
|
||||
/* softmmu only */
|
||||
void gdb_handle_query_qemu_phy_mem_mode(GArray *params, void *user_ctx);
|
||||
void gdb_handle_set_qemu_phy_mem_mode(GArray *params, void *user_ctx);
|
||||
/* system only */
|
||||
void gdb_handle_query_qemu_phy_mem_mode(GArray *params, void *ctx);
|
||||
void gdb_handle_set_qemu_phy_mem_mode(GArray *params, void *ctx);
|
||||
|
||||
/* sycall handling */
|
||||
void gdb_handle_file_io(GArray *params, void *user_ctx);
|
||||
|
@ -213,11 +213,11 @@ bool gdb_handled_syscall(void);
|
|||
void gdb_disable_syscalls(void);
|
||||
void gdb_syscall_reset(void);
|
||||
|
||||
/* user/softmmu specific syscall handling */
|
||||
/* user/system specific syscall handling */
|
||||
void gdb_syscall_handling(const char *syscall_packet);
|
||||
|
||||
/*
|
||||
* Break/Watch point support - there is an implementation for softmmu
|
||||
* Break/Watch point support - there is an implementation for system
|
||||
* and user mode.
|
||||
*/
|
||||
bool gdb_supports_guest_debug(void);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* gdb server stub - softmmu specific bits
|
||||
* gdb server stub - system specific bits
|
||||
*
|
||||
* Debug integration depends on support from the individual
|
||||
* accelerators so most of this involves calling the ops helpers.
|
||||
|
@ -488,13 +488,13 @@ bool gdb_can_reverse(void)
|
|||
*/
|
||||
|
||||
void gdb_handle_query_qemu_phy_mem_mode(GArray *params,
|
||||
void *user_ctx)
|
||||
void *ctx)
|
||||
{
|
||||
g_string_printf(gdbserver_state.str_buf, "%d", phy_memory_mode);
|
||||
gdb_put_strbuf();
|
||||
}
|
||||
|
||||
void gdb_handle_set_qemu_phy_mem_mode(GArray *params, void *user_ctx)
|
||||
void gdb_handle_set_qemu_phy_mem_mode(GArray *params, void *ctx)
|
||||
{
|
||||
if (!params->len) {
|
||||
gdb_put_packet("E22");
|
||||
|
@ -509,7 +509,7 @@ void gdb_handle_set_qemu_phy_mem_mode(GArray *params, void *user_ctx)
|
|||
gdb_put_packet("OK");
|
||||
}
|
||||
|
||||
void gdb_handle_query_rcmd(GArray *params, void *user_ctx)
|
||||
void gdb_handle_query_rcmd(GArray *params, void *ctx)
|
||||
{
|
||||
const guint8 zero = 0;
|
||||
int len;
|
||||
|
@ -539,7 +539,7 @@ void gdb_handle_query_rcmd(GArray *params, void *user_ctx)
|
|||
* Execution state helpers
|
||||
*/
|
||||
|
||||
void gdb_handle_query_attached(GArray *params, void *user_ctx)
|
||||
void gdb_handle_query_attached(GArray *params, void *ctx)
|
||||
{
|
||||
gdb_put_packet("1");
|
||||
}
|
||||
|
|
|
@ -197,7 +197,7 @@ void smmu_iotlb_inv_asid(SMMUState *s, uint16_t asid)
|
|||
g_hash_table_foreach_remove(s->iotlb, smmu_hash_remove_by_asid, &asid);
|
||||
}
|
||||
|
||||
inline void smmu_iotlb_inv_vmid(SMMUState *s, uint16_t vmid)
|
||||
void smmu_iotlb_inv_vmid(SMMUState *s, uint16_t vmid)
|
||||
{
|
||||
trace_smmu_iotlb_inv_vmid(vmid);
|
||||
g_hash_table_foreach_remove(s->iotlb, smmu_hash_remove_by_vmid, &vmid);
|
||||
|
|
|
@ -1097,7 +1097,7 @@ static int close_port(XenEvtchnState *s, evtchn_port_t port,
|
|||
int xen_evtchn_soft_reset(void)
|
||||
{
|
||||
XenEvtchnState *s = xen_evtchn_singleton;
|
||||
bool flush_kvm_routes;
|
||||
bool flush_kvm_routes = false;
|
||||
int i;
|
||||
|
||||
if (!s) {
|
||||
|
|
|
@ -1738,7 +1738,9 @@ static void pc_machine_initfn(Object *obj)
|
|||
pcms->pcspk = isa_new(TYPE_PC_SPEAKER);
|
||||
object_property_add_alias(OBJECT(pcms), "pcspk-audiodev",
|
||||
OBJECT(pcms->pcspk), "audiodev");
|
||||
cxl_machine_init(obj, &pcms->cxl_devices_state);
|
||||
if (pcmc->pci_enabled) {
|
||||
cxl_machine_init(obj, &pcms->cxl_devices_state);
|
||||
}
|
||||
|
||||
pcms->machine_done.notify = pc_machine_done;
|
||||
qemu_add_machine_init_done_notifier(&pcms->machine_done);
|
||||
|
|
|
@ -2865,6 +2865,10 @@ static void virtio_net_handle_tx_bh(VirtIODevice *vdev, VirtQueue *vq)
|
|||
VirtIONet *n = VIRTIO_NET(vdev);
|
||||
VirtIONetQueue *q = &n->vqs[vq2q(virtio_get_queue_index(vq))];
|
||||
|
||||
if (unlikely(n->vhost_started)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (unlikely((n->status & VIRTIO_NET_S_LINK_UP) == 0)) {
|
||||
virtio_net_drop_tx_queue_data(vdev, vq);
|
||||
return;
|
||||
|
|
|
@ -5894,7 +5894,7 @@ static uint16_t nvme_get_feature(NvmeCtrl *n, NvmeRequest *req)
|
|||
uint32_t dw10 = le32_to_cpu(cmd->cdw10);
|
||||
uint32_t dw11 = le32_to_cpu(cmd->cdw11);
|
||||
uint32_t nsid = le32_to_cpu(cmd->nsid);
|
||||
uint32_t result;
|
||||
uint32_t result = 0;
|
||||
uint8_t fid = NVME_GETSETFEAT_FID(dw10);
|
||||
NvmeGetFeatureSelect sel = NVME_GETFEAT_SELECT(dw10);
|
||||
uint16_t iv;
|
||||
|
|
|
@ -390,7 +390,7 @@ void plugin_reset_uninstall(qemu_plugin_id_t id,
|
|||
bool reset)
|
||||
{
|
||||
struct qemu_plugin_reset_data *data;
|
||||
struct qemu_plugin_ctx *ctx;
|
||||
struct qemu_plugin_ctx *ctx = NULL;
|
||||
|
||||
WITH_QEMU_LOCK_GUARD(&plugin.lock) {
|
||||
ctx = plugin_id_to_ctx_locked(id);
|
||||
|
|
|
@ -2246,7 +2246,7 @@ void hvf_arch_update_guest_debug(CPUState *cpu)
|
|||
hvf_arch_set_traps();
|
||||
}
|
||||
|
||||
inline bool hvf_arch_supports_guest_debug(void)
|
||||
bool hvf_arch_supports_guest_debug(void)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -708,7 +708,7 @@ void hvf_arch_update_guest_debug(CPUState *cpu)
|
|||
{
|
||||
}
|
||||
|
||||
inline bool hvf_arch_supports_guest_debug(void)
|
||||
bool hvf_arch_supports_guest_debug(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -1642,7 +1642,7 @@ static void register_8xx_sprs(CPUPPCState *env)
|
|||
|
||||
/*****************************************************************************/
|
||||
/* Exception vectors models */
|
||||
static void init_excp_4xx_softmmu(CPUPPCState *env)
|
||||
static void init_excp_4xx(CPUPPCState *env)
|
||||
{
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
env->excp_vectors[POWERPC_EXCP_CRITICAL] = 0x00000100;
|
||||
|
@ -2120,7 +2120,7 @@ static void init_proc_405(CPUPPCState *env)
|
|||
env->id_tlbs = 0;
|
||||
env->tlb_type = TLB_EMB;
|
||||
#endif
|
||||
init_excp_4xx_softmmu(env);
|
||||
init_excp_4xx(env);
|
||||
env->dcache_line_size = 32;
|
||||
env->icache_line_size = 32;
|
||||
/* Allocate hardware IRQ controller */
|
||||
|
|
|
@ -662,7 +662,7 @@ unsigned ahci_pick_cmd(AHCIQState *ahci, uint8_t port)
|
|||
g_assert_not_reached();
|
||||
}
|
||||
|
||||
inline unsigned size_to_prdtl(unsigned bytes, unsigned bytes_per_prd)
|
||||
static unsigned size_to_prdtl(unsigned bytes, unsigned bytes_per_prd)
|
||||
{
|
||||
/* Each PRD can describe up to 4MiB */
|
||||
g_assert_cmphex(bytes_per_prd, <=, 4096 * 1024);
|
||||
|
|
|
@ -599,7 +599,6 @@ void ahci_port_check_cmd_sanity(AHCIQState *ahci, AHCICommand *cmd);
|
|||
|
||||
/* Misc */
|
||||
bool is_atapi(AHCIQState *ahci, uint8_t port);
|
||||
unsigned size_to_prdtl(unsigned bytes, unsigned bytes_per_prd);
|
||||
|
||||
/* Command: Macro level execution */
|
||||
void ahci_guest_io(AHCIQState *ahci, uint8_t port, uint8_t ide_cmd,
|
||||
|
|
Loading…
Reference in New Issue