Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging

* target/i386: Introduce SapphireRapids-v3 to add missing features
* switch boards to "default y"
* allow building emulators without any board
* configs: list "implied" device groups in the default configs
* remove unnecessary declarations from typedefs.h
* target/i386: Give IRQs a chance when resetting HF_INHIBIT_IRQ_MASK

# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmY1ILsUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroNtIwf+MEehq2HudZvsK1M8FrvNmkB/AssO
# x4tqL8DlTus23mQDBu9+rANTB93ManJdK9ybtf6NfjEwK+R8RJslLVnuy/qT+aQX
# PD208L88fjZg17G8uyawwvD1VmqWzHFSN14ShmKzqB2yPXXo/1cJ30w78DbD50yC
# 6rw/xbC5j195CwE2u8eBcIyY4Hh2PUYEE4uyHbYVr57cMjfmmA5Pg4I4FJrpLrF3
# eM2Avl/4pIbsW3zxXVB8QbAkgypxZErk3teDK1AkPJnlnBYM1jGKbt/GdKe7vcHR
# V/o+7NlcbS3oHVItQ2gP3m91stjFq+NhixaZpa0VlmuqayBa3xNGl0G6OQ==
# =ZbNW
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 03 May 2024 10:36:59 AM PDT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]

* tag 'for-upstream' of https://gitlab.com/bonzini/qemu: (46 commits)
  qga/commands-posix: fix typo in qmp_guest_set_user_password
  migration: do not include coroutine_int.h
  kvm: move target-dependent interrupt routing out of kvm-all.c
  pci: remove some types from typedefs.h
  tcg: remove CPU* types from typedefs.h
  display: remove GraphicHwOps from typedefs.h
  qapi/machine: remove types from typedefs.h
  monitor: remove MonitorDef from typedefs.h
  migration: remove PostcopyDiscardState from typedefs.h
  lockable: remove QemuLockable from typedefs.h
  intc: remove PICCommonState from typedefs.h
  qemu-option: remove QemuOpt from typedefs.h
  net: remove AnnounceTimer from typedefs.h
  numa: remove types from typedefs.h
  qdev-core: remove DeviceListener from typedefs.h
  fw_cfg: remove useless declarations from typedefs.h
  build: do not build virtio-vga-gl if virgl/opengl not available
  bitmap: Use g_try_new0/g_new0/g_renew
  target/i386: Introduce SapphireRapids-v3 to add missing features
  docs: document new convention for Kconfig board symbols
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson
2024-05-06 08:34:34 -07:00
84 changed files with 455 additions and 280 deletions
+7 -2
View File
@@ -648,6 +648,9 @@ build-tci:
- make check-tcg
# Check our reduced build configurations
# requires libfdt: aarch64, arm, i386, loongarch64, microblaze, microblazeel,
# mips64el, or1k, ppc, ppc64, riscv32, riscv64, rx, x86_64
# does not build without boards: i386, loongarch64, s390x, sh4, sh4eb, x86_64
build-without-defaults:
extends: .native_build_job_template
needs:
@@ -661,8 +664,10 @@ build-without-defaults:
--disable-pie
--disable-qom-cast-debug
--disable-strip
TARGETS: avr-softmmu s390x-softmmu sh4-softmmu
sparc64-softmmu hexagon-linux-user i386-linux-user s390x-linux-user
TARGETS: alpha-softmmu avr-softmmu cris-softmmu hppa-softmmu m68k-softmmu
mips-softmmu mips64-softmmu mipsel-softmmu sparc-softmmu
sparc64-softmmu tricore-softmmu xtensa-softmmu xtensaeb-softmmu
hexagon-linux-user i386-linux-user s390x-linux-user
MAKE_CHECK_ARGS: check
build-libvhost-user:
+1 -4
View File
@@ -24,10 +24,7 @@ msys2-64bit:
# changed to compile QEMU with the --without-default-devices switch
# for this job, because otherwise the build could not complete within
# the project timeout.
CONFIGURE_ARGS: --target-list=x86_64-softmmu --without-default-devices -Ddebug=false -Doptimization=0
# qTests don't run successfully with "--without-default-devices",
# so let's exclude the qtests from CI for now.
TEST_ARGS: --no-suite qtest
CONFIGURE_ARGS: --target-list=sparc-softmmu --without-default-devices -Ddebug=false -Doptimization=0
# The Windows git is a bit older so override the default
GIT_FETCH_EXTRA_FLAGS: --no-tags --prune --quiet
artifacts:
+3 -59
View File
@@ -1909,8 +1909,8 @@ void kvm_irqchip_commit_routes(KVMState *s)
assert(ret == 0);
}
static void kvm_add_routing_entry(KVMState *s,
struct kvm_irq_routing_entry *entry)
void kvm_add_routing_entry(KVMState *s,
struct kvm_irq_routing_entry *entry)
{
struct kvm_irq_routing_entry *new;
int n, size;
@@ -2007,7 +2007,7 @@ void kvm_irqchip_change_notify(void)
notifier_list_notify(&kvm_irqchip_change_notifiers, NULL);
}
static int kvm_irqchip_get_virq(KVMState *s)
int kvm_irqchip_get_virq(KVMState *s)
{
int next_virq;
@@ -2165,62 +2165,6 @@ static int kvm_irqchip_assign_irqfd(KVMState *s, EventNotifier *event,
return kvm_vm_ioctl(s, KVM_IRQFD, &irqfd);
}
int kvm_irqchip_add_adapter_route(KVMState *s, AdapterInfo *adapter)
{
struct kvm_irq_routing_entry kroute = {};
int virq;
if (!kvm_gsi_routing_enabled()) {
return -ENOSYS;
}
virq = kvm_irqchip_get_virq(s);
if (virq < 0) {
return virq;
}
kroute.gsi = virq;
kroute.type = KVM_IRQ_ROUTING_S390_ADAPTER;
kroute.flags = 0;
kroute.u.adapter.summary_addr = adapter->summary_addr;
kroute.u.adapter.ind_addr = adapter->ind_addr;
kroute.u.adapter.summary_offset = adapter->summary_offset;
kroute.u.adapter.ind_offset = adapter->ind_offset;
kroute.u.adapter.adapter_id = adapter->adapter_id;
kvm_add_routing_entry(s, &kroute);
return virq;
}
int kvm_irqchip_add_hv_sint_route(KVMState *s, uint32_t vcpu, uint32_t sint)
{
struct kvm_irq_routing_entry kroute = {};
int virq;
if (!kvm_gsi_routing_enabled()) {
return -ENOSYS;
}
if (!kvm_check_extension(s, KVM_CAP_HYPERV_SYNIC)) {
return -ENOSYS;
}
virq = kvm_irqchip_get_virq(s);
if (virq < 0) {
return virq;
}
kroute.gsi = virq;
kroute.type = KVM_IRQ_ROUTING_HV_SINT;
kroute.flags = 0;
kroute.u.hv_sint.vcpu = vcpu;
kroute.u.hv_sint.sint = sint;
kvm_add_routing_entry(s, &kroute);
kvm_irqchip_commit_routes(s);
return virq;
}
#else /* !KVM_CAP_IRQ_ROUTING */
void kvm_init_irq_routing(KVMState *s)
+2 -2
View File
@@ -22,12 +22,12 @@
* non-NULL value of 'tb'. Strictly speaking pc is only needed for
* CF_PCREL, but it's used always for simplicity.
*/
struct CPUJumpCache {
typedef struct CPUJumpCache {
struct rcu_head rcu;
struct {
TranslationBlock *tb;
vaddr pc;
} array[TB_JMP_CACHE_SIZE];
};
} CPUJumpCache;
#endif /* ACCEL_TCG_TB_JMP_CACHE_H */
+2 -3
View File
@@ -5,6 +5,5 @@
#CONFIG_PCI_DEVICES=n
#CONFIG_TEST_DEVICES=n
# Boards:
#
CONFIG_DP264=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_DP264=n
+4 -1
View File
@@ -1,9 +1,12 @@
# Default configuration for arm-softmmu
# Uncomment the following lines to disable these optional devices:
# CONFIG_I2C_DEVICES=n
# CONFIG_PCI_DEVICES=n
# CONFIG_TEST_DEVICES=n
CONFIG_ARM_VIRT=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_ARM_VIRT=n
# These are selected by default when TCG is enabled, uncomment them to
# keep out of the build.
+2 -3
View File
@@ -1,5 +1,4 @@
# Default configuration for avr-softmmu
# Boards:
#
CONFIG_ARDUINO=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_ARDUINO=n
+2 -3
View File
@@ -1,5 +1,4 @@
# Default configuration for cris-softmmu
# Boards:
#
CONFIG_AXIS=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_AXIS=n
+2 -3
View File
@@ -4,6 +4,5 @@
#
#CONFIG_PCI_DEVICES=n
# Boards:
#
CONFIG_HPPA_B160L=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_HPPA_B160L=n
+5 -6
View File
@@ -24,9 +24,8 @@
#CONFIG_VTD=n
#CONFIG_SGX=n
# Boards:
#
CONFIG_ISAPC=y
CONFIG_I440FX=y
CONFIG_Q35=y
CONFIG_MICROVM=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_ISAPC=n
# CONFIG_I440FX=n
# CONFIG_Q35=n
# CONFIG_MICROVM=n
@@ -1,3 +1,7 @@
# Default configuration for loongarch64-softmmu
CONFIG_LOONGARCH_VIRT=y
# Uncomment the following lines to disable these optional devices:
# CONFIG_PCI_DEVICES=n
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_LOONGARCH_VIRT=n
+6 -7
View File
@@ -1,9 +1,8 @@
# Default configuration for m68k-softmmu
# Boards:
#
CONFIG_AN5206=y
CONFIG_MCF5208=y
CONFIG_NEXTCUBE=y
CONFIG_Q800=y
CONFIG_M68K_VIRT=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_AN5206=n
# CONFIG_MCF5208=n
# CONFIG_NEXTCUBE=n
# CONFIG_Q800=n
# CONFIG_M68K_VIRT=n
@@ -1,7 +1,6 @@
# Default configuration for microblaze-softmmu
# Boards:
#
CONFIG_PETALOGIX_S3ADSP1800=y
CONFIG_PETALOGIX_ML605=y
CONFIG_XLNX_ZYNQMP_PMU=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_PETALOGIX_S3ADSP1800=n
# CONFIG_PETALOGIX_ML605=n
# CONFIG_XLNX_ZYNQMP_PMU=n
+3 -2
View File
@@ -4,5 +4,6 @@
# CONFIG_PCI_DEVICES=n
# CONFIG_TEST_DEVICES=n
CONFIG_MALTA=y
CONFIG_MIPSSIM=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_MALTA=n
# CONFIG_MIPSSIM=n
+3 -1
View File
@@ -1,4 +1,6 @@
# Default configuration for mips64-softmmu
include ../mips-softmmu/common.mak
CONFIG_JAZZ=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_JAZZ=n
+6 -4
View File
@@ -1,7 +1,9 @@
# Default configuration for mips64el-softmmu
include ../mips-softmmu/common.mak
CONFIG_FULOONG=y
CONFIG_LOONGSON3V=y
CONFIG_JAZZ=y
CONFIG_MIPS_BOSTON=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_FULOONG=n
# CONFIG_LOONGSON3V=n
# CONFIG_JAZZ=n
# CONFIG_MIPS_BOSTON=n
+6 -3
View File
@@ -1,6 +1,9 @@
# Default configuration for or1k-softmmu
# Uncomment the following lines to disable these optional devices:
# CONFIG_PCI_DEVICES=n
# CONFIG_TEST_DEVICES=n
# Boards:
#
CONFIG_OR1K_SIM=y
CONFIG_OR1K_VIRT=y
# CONFIG_OR1K_SIM=n
# CONFIG_OR1K_VIRT=n
+18 -12
View File
@@ -1,21 +1,27 @@
# Default configuration for ppc-softmmu
# For embedded PPCs:
CONFIG_E500PLAT=y
CONFIG_MPC8544DS=y
CONFIG_PPC405=y
CONFIG_PPC440=y
CONFIG_VIRTEX=y
# Uncomment the following lines to disable these optional devices:
# CONFIG_PCI_DEVICES=n
# CONFIG_TEST_DEVICES=n
# Boards are selected by default, uncomment to keep out of the build.
# Embedded PPCs:
# CONFIG_E500PLAT=n
# CONFIG_MPC8544DS=n
# CONFIG_PPC405=n
# CONFIG_PPC440=n
# CONFIG_VIRTEX=n
# For Sam460ex
CONFIG_SAM460EX=y
# CONFIG_SAM460EX=n
# For Macs
CONFIG_MAC_OLDWORLD=y
CONFIG_MAC_NEWWORLD=y
# CONFIG_MAC_OLDWORLD=n
# CONFIG_MAC_NEWWORLD=n
CONFIG_AMIGAONE=y
CONFIG_PEGASOS2=y
# CONFIG_AMIGAONE=n
# CONFIG_PEGASOS2=n
# For PReP
CONFIG_PREP=y
# CONFIG_PREP=n
+3 -5
View File
@@ -3,8 +3,6 @@
# Include all 32-bit boards
include ../ppc-softmmu/default.mak
# For PowerNV
CONFIG_POWERNV=y
# For pSeries
CONFIG_PSERIES=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_POWERNV=n
# CONFIG_PSERIES=n
+8 -9
View File
@@ -1,13 +1,12 @@
# Default configuration for riscv32-softmmu
# Uncomment the following lines to disable these optional devices:
#
#CONFIG_PCI_DEVICES=n
# CONFIG_PCI_DEVICES=n
# CONFIG_TEST_DEVICES=n
# Boards:
#
CONFIG_SPIKE=y
CONFIG_SIFIVE_E=y
CONFIG_SIFIVE_U=y
CONFIG_RISCV_VIRT=y
CONFIG_OPENTITAN=y
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_SPIKE=n
# CONFIG_SIFIVE_E=n
# CONFIG_SIFIVE_U=n
# CONFIG_RISCV_VIRT=n
# CONFIG_OPENTITAN=n

Some files were not shown because too many files have changed in this diff Show More