Import QEMU upstream snapshot d2e570c

Upstream: https://gitlab.com/qemu-project/qemu.git

Upstream-Commit: d2e570cc0f97b936902a5b1b86b73c0f5998b475
This commit is contained in:
2026-08-31 02:15:30 +02:00
commit cf256aa081
11315 changed files with 3598369 additions and 0 deletions
@@ -0,0 +1,12 @@
# Default configuration for aarch64-softmmu
# We support all the 32 bit boards so need all their config
include ../arm-softmmu/default.mak
# These are selected by default when TCG is enabled, uncomment them to
# keep out of the build.
# CONFIG_XLNX_ZYNQMP_ARM=n
# CONFIG_XLNX_VERSAL=n
# CONFIG_SBSA_REF=n
# CONFIG_NPCM8XX=n
CONFIG_VMAPPLE=n
@@ -0,0 +1,8 @@
#
# A minimal version of the config that only supports only a few
# virtual machines. This avoids bringing in any of numerous legacy
# features from the 32bit platform (although virt still supports 32bit
# itself)
#
CONFIG_ARM_VIRT=y
@@ -0,0 +1,9 @@
# Default configuration for alpha-softmmu
# 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.
# CONFIG_DP264=n
+43
View File
@@ -0,0 +1,43 @@
# 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
# 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.
# CONFIG_CUBIEBOARD=n
# CONFIG_EXYNOS4=n
# CONFIG_INTEGRATOR=n
# CONFIG_FSL_IMX31=n
# CONFIG_MUSICPAL=n
# CONFIG_MPS3R=n
# CONFIG_MUSCA=n
# CONFIG_SX1=n
# CONFIG_STELLARIS=n
# CONFIG_STM32VLDISCOVERY=n
# CONFIG_B_L475E_IOT01A=n
# CONFIG_REALVIEW=n
# CONFIG_VERSATILE=n
# CONFIG_VEXPRESS=n
# CONFIG_ZYNQ=n
# CONFIG_NPCM7XX=n
# CONFIG_COLLIE=n
# CONFIG_ASPEED_SOC=n
# CONFIG_NETDUINO2=n
# CONFIG_NETDUINOPLUS2=n
# CONFIG_OLIMEX_STM32_H405=n
# CONFIG_MPS2=n
# CONFIG_RASPI=n
# CONFIG_DIGIC=n
# CONFIG_SABRELITE=n
# CONFIG_EMCRAFT_SF2=n
# CONFIG_MICROBIT=n
# CONFIG_FSL_IMX25=n
# CONFIG_FSL_IMX7=n
# CONFIG_FSL_IMX6UL=n
# CONFIG_ALLWINNER_H3=n
+4
View File
@@ -0,0 +1,4 @@
# Default configuration for avr-softmmu
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_ARDUINO=n
@@ -0,0 +1,7 @@
# Default configuration for hexagon-softmmu
# Uncomment the following lines to disable these optional devices:
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_HEX_VIRT=y
# CONFIG_HEX_DSP=y
+8
View File
@@ -0,0 +1,8 @@
# Default configuration for hppa-softmmu
# 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_HPPA_B160L=n
+33
View File
@@ -0,0 +1,33 @@
# Default configuration for i386-softmmu
# Uncomment the following lines to disable these optional devices:
#
#CONFIG_AMD_IOMMU=n
#CONFIG_APPLESMC=n
#CONFIG_FDC=n
#CONFIG_HPET=n
#CONFIG_HYPERV=n
#CONFIG_ISA_DEBUG=n
#CONFIG_ISA_IPMI_BT=n
#CONFIG_ISA_IPMI_KCS=n
#CONFIG_PCI_IPMI_KCS=n
#CONFIG_PCI_IPMI_BT=n
#CONFIG_IPMI_SSIF=n
#CONFIG_PCI_DEVICES=n
#CONFIG_PVPANIC=n
#CONFIG_QXL=n
#CONFIG_SEV=n
#CONFIG_SGA=n
#CONFIG_TDX=n
#CONFIG_TEST_DEVICES=n
#CONFIG_TPM_CRB=n
#CONFIG_TPM_TIS_ISA=n
#CONFIG_VTD=n
#CONFIG_SGX=n
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_ISAPC=n
# CONFIG_I440FX=n
# CONFIG_Q35=n
# CONFIG_MICROVM=n
# CONFIG_NITRO_ENCLAVE=n
@@ -0,0 +1,7 @@
# Default configuration for loongarch64-softmmu
# 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
+8
View File
@@ -0,0 +1,8 @@
# Default configuration for m68k-softmmu
# 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
@@ -0,0 +1,4 @@
# Default configuration for microblaze-softmmu
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_PETALOGIX_S3ADSP1800=n
+8
View File
@@ -0,0 +1,8 @@
# Common mips*-softmmu CONFIG defines
# 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.
# CONFIG_MALTA=n
+3
View File
@@ -0,0 +1,3 @@
# Default configuration for mips-softmmu
include common.mak
@@ -0,0 +1,6 @@
# Default configuration for mips64-softmmu
include ../mips-softmmu/common.mak
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_JAZZ=n
@@ -0,0 +1,9 @@
# Default configuration for mips64el-softmmu
include ../mips-softmmu/common.mak
# 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
@@ -0,0 +1,3 @@
# Default configuration for mipsel-softmmu
include ../mips-softmmu/common.mak
+9
View File
@@ -0,0 +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=n
# CONFIG_OR1K_VIRT=n
+26
View File
@@ -0,0 +1,26 @@
# Default configuration for ppc-softmmu
# 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
# AmigaNG
# CONFIG_AMIGAONE=n
# CONFIG_PEGASOS=n
# CONFIG_SAM460EX=n
# For Macs
# CONFIG_MAC_OLDWORLD=n
# CONFIG_MAC_NEWWORLD=n
# For PReP
# CONFIG_PREP=n
@@ -0,0 +1,8 @@
# Default configuration for ppc64-softmmu
# Include all 32-bit boards
include ../ppc-softmmu/default.mak
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_POWERNV=n
# CONFIG_PSERIES=n
@@ -0,0 +1,12 @@
# Default configuration for riscv32-softmmu
# 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.
# CONFIG_SPIKE=n
# CONFIG_SIFIVE_E=n
# CONFIG_SIFIVE_U=n
# CONFIG_RISCV_VIRT=n
# CONFIG_OPENTITAN=n
@@ -0,0 +1,15 @@
# Default configuration for riscv64-softmmu
# 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.
# CONFIG_SPIKE=n
# CONFIG_SIFIVE_E=n
# CONFIG_SIFIVE_U=n
# CONFIG_RISCV_VIRT=n
# CONFIG_MICROCHIP_PFSOC=n
# CONFIG_SHAKTI_C=n
# CONFIG_XIANGSHAN_KUNMINGHU=n
# CONFIG_MIPS_BOSTON_AIA=n
+4
View File
@@ -0,0 +1,4 @@
# Default configuration for rx-softmmu
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_RX_GDBSIM=n
+13
View File
@@ -0,0 +1,13 @@
# Default configuration for s390x-softmmu
# Uncomment the following lines to disable these optional devices:
#
#CONFIG_TERMINAL3270=n
#CONFIG_VFIO_AP=n
#CONFIG_VFIO_CCW=n
#CONFIG_VIRTIO_PCI=n
#CONFIG_WDT_DIAG288=n
#CONFIG_PCIE_DEVICES=n
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_S390_CCW_VIRTIO=n
+9
View File
@@ -0,0 +1,9 @@
# Default configuration for sh4-softmmu
# 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.
# CONFIG_R2D=n
@@ -0,0 +1,3 @@
# Default configuration for sh4eb-softmmu
include ../sh4-softmmu/default.mak
+10
View File
@@ -0,0 +1,10 @@
# Default configuration for sparc-softmmu
# Uncomment the following lines to disable these optional devices:
#
#CONFIG_TCX=n
#CONFIG_CG3=n
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_SUN4M=n
# CONFIG_LEON3=n
@@ -0,0 +1,11 @@
# Default configuration for sparc64-softmmu
# Uncomment the following lines to disable these optional devices:
#
#CONFIG_PCI_DEVICES=n
#CONFIG_SUNHME=n
#CONFIG_TEST_DEVICES=n
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_SUN4U=n
# CONFIG_NIAGARA=n
@@ -0,0 +1,5 @@
# Default configuration for tricore-softmmu
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_TRICORE_TESTBOARD=n
# CONFIG_TRIBOARD=n
@@ -0,0 +1,3 @@
# Default configuration for x86_64-softmmu
include ../i386-softmmu/default.mak
@@ -0,0 +1,10 @@
# Default configuration for Xtensa
# 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_XTENSA_SIM=n
# CONFIG_XTENSA_VIRT=n
# CONFIG_XTENSA_XTFPGA=n
@@ -0,0 +1,3 @@
# Default configuration for Xtensa
include ../xtensa-softmmu/default.mak
+13
View File
@@ -0,0 +1,13 @@
[built-in options]
c_args = ['-pthread']
cpp_args = ['-pthread']
objc_args = ['-pthread']
# -sPROXY_TO_PTHREAD link time flag always requires -pthread even during
# configuration so explicitly add the flag here.
c_link_args = ['-pthread','-sASYNCIFY=1','-sPROXY_TO_PTHREAD=1','-sFORCE_FILESYSTEM','-sALLOW_TABLE_GROWTH','-sTOTAL_MEMORY=2GB','-sWASM_BIGINT','-sEXPORT_ES6=1','-sASYNCIFY_IMPORTS=ffi_call_js','-sEXPORTED_RUNTIME_METHODS=addFunction,removeFunction,TTY,FS']
cpp_link_args = ['-pthread','-sASYNCIFY=1','-sPROXY_TO_PTHREAD=1','-sFORCE_FILESYSTEM','-sALLOW_TABLE_GROWTH','-sTOTAL_MEMORY=2GB','-sWASM_BIGINT','-sEXPORT_ES6=1','-sASYNCIFY_IMPORTS=ffi_call_js','-sEXPORTED_RUNTIME_METHODS=addFunction,removeFunction,TTY,FS']
[project options]
# Workaround for failure to find glib-2.0 when building idef parser,
# this may be a bug in the cross-build setup used by emscripten:
hexagon_idef_parser = false
+8
View File
@@ -0,0 +1,8 @@
# target-specific defaults, can still be overridden on
# the command line
[built-in options]
bindir = ''
[project options]
qemu_suffix = ''
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=aarch64
TARGET_BASE_ARCH=arm
TARGET_XML_FILES= aarch64-core.xml aarch64-fpu.xml aarch64-pauth.xml aarch64-mte.xml aarch64-sme2.xml
TARGET_LONG_BITS=64
+9
View File
@@ -0,0 +1,9 @@
TARGET_ARCH=aarch64
TARGET_BASE_ARCH=arm
TARGET_XML_FILES= aarch64-core.xml aarch64-fpu.xml aarch64-pauth.xml aarch64-mte.xml aarch64-sme2.xml
TARGET_HAS_BFLT=y
CONFIG_SEMIHOSTING=y
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
TARGET_SYSTBL_ABI=common,64,renameat,rlimit,memfd_secret
TARGET_SYSTBL=syscall_64.tbl
TARGET_LONG_BITS=64
+27
View File
@@ -0,0 +1,27 @@
/*
* QEMU binary/target API (qemu-system-aarch64)
*
* Copyright (c) Linaro
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "qemu/osdep.h"
#include "qemu/target-info-impl.h"
#include "qemu/target-info-init.h"
#include "hw/arm/machines-qom.h"
#include "target/arm/cpu-qom.h"
#include "target/arm/cpu-param.h"
static const TargetInfo target_info_aarch64_system = {
.target_name = "aarch64",
.target_arch = SYS_EMU_TARGET_AARCH64,
.long_bits = 64,
.cpu_type = TYPE_ARM_CPU,
.machine_typename = TYPE_TARGET_AARCH64_MACHINE,
.endianness = ENDIAN_MODE_LITTLE,
.page_bits_vary = true,
.page_bits_init = TARGET_PAGE_BITS_LEGACY,
};
target_info_init(target_info_aarch64_system)
+8
View File
@@ -0,0 +1,8 @@
TARGET_ARCH=aarch64
TARGET_BASE_ARCH=arm
TARGET_KVM_HAVE_GUEST_DEBUG=y
TARGET_XML_FILES= aarch64-core.xml aarch64-fpu.xml arm-core.xml arm-vfp.xml arm-vfp3.xml arm-vfp-sysregs.xml arm-neon.xml arm-m-profile.xml arm-m-profile-mve.xml aarch64-pauth.xml aarch64-sme2.xml
# needed by boot.c
TARGET_NEED_FDT=y
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+10
View File
@@ -0,0 +1,10 @@
TARGET_ARCH=aarch64
TARGET_BASE_ARCH=arm
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES= aarch64-core.xml aarch64-fpu.xml aarch64-pauth.xml aarch64-mte.xml aarch64-sme2.xml
TARGET_HAS_BFLT=y
CONFIG_SEMIHOSTING=y
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
TARGET_SYSTBL_ABI=common,64,renameat,rlimit,memfd_secret
TARGET_SYSTBL=syscall_64.tbl
TARGET_LONG_BITS=64
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=alpha
TARGET_SYSTBL_ABI=common
TARGET_SYSTBL=syscall.tbl
TARGET_LONG_BITS=64
TARGET_XML_FILES= alpha-core.xml
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+5
View File
@@ -0,0 +1,5 @@
TARGET_ARCH=alpha
TARGET_LONG_BITS=64
TARGET_XML_FILES= alpha-core.xml
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+3
View File
@@ -0,0 +1,3 @@
TARGET_ARCH=arm
TARGET_XML_FILES= arm-core.xml arm-vfp.xml arm-vfp3.xml arm-vfp-sysregs.xml arm-neon.xml arm-m-profile.xml arm-m-profile-mve.xml
TARGET_LONG_BITS=32
+8
View File
@@ -0,0 +1,8 @@
TARGET_ARCH=arm
TARGET_SYSTBL_ABI=common,oabi
TARGET_SYSTBL=syscall.tbl
TARGET_XML_FILES= arm-core.xml arm-vfp.xml arm-vfp3.xml arm-vfp-sysregs.xml arm-neon.xml arm-m-profile.xml arm-m-profile-mve.xml
TARGET_HAS_BFLT=y
CONFIG_SEMIHOSTING=y
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
TARGET_LONG_BITS=32
+27
View File
@@ -0,0 +1,27 @@
/*
* QEMU binary/target API (qemu-system-arm)
*
* Copyright (c) Linaro
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "qemu/osdep.h"
#include "qemu/target-info-impl.h"
#include "qemu/target-info-init.h"
#include "hw/arm/machines-qom.h"
#include "target/arm/cpu-qom.h"
#include "target/arm/cpu-param.h"
static const TargetInfo target_info_arm_system = {
.target_name = "arm",
.target_arch = SYS_EMU_TARGET_ARM,
.long_bits = 32,
.cpu_type = TYPE_ARM_CPU,
.machine_typename = TYPE_TARGET_ARM_MACHINE,
.endianness = ENDIAN_MODE_LITTLE,
.page_bits_vary = true,
.page_bits_init = TARGET_PAGE_BITS_LEGACY,
};
target_info_init(target_info_arm_system)
+6
View File
@@ -0,0 +1,6 @@
TARGET_ARCH=arm
TARGET_XML_FILES= arm-core.xml arm-vfp.xml arm-vfp3.xml arm-vfp-sysregs.xml arm-neon.xml arm-m-profile.xml arm-m-profile-mve.xml
# needed by boot.c
TARGET_NEED_FDT=y
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+9
View File
@@ -0,0 +1,9 @@
TARGET_ARCH=arm
TARGET_SYSTBL_ABI=common,oabi
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES= arm-core.xml arm-vfp.xml arm-vfp3.xml arm-vfp-sysregs.xml arm-neon.xml arm-m-profile.xml arm-m-profile-mve.xml
TARGET_HAS_BFLT=y
CONFIG_SEMIHOSTING=y
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
TARGET_LONG_BITS=32
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=avr
TARGET_XML_FILES= avr-cpu.xml
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+6
View File
@@ -0,0 +1,6 @@
TARGET_ARCH=hexagon
TARGET_XML_FILES=hexagon-core.xml hexagon-hvx.xml
TARGET_SYSTBL=syscall.tbl
TARGET_SYSTBL_ABI=common,32,hexagon,time32,stat64,rlimit,renameat
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+8
View File
@@ -0,0 +1,8 @@
# Default configuration for hexagon-softmmu
TARGET_ARCH=hexagon
TARGET_XML_FILES=hexagon-core.xml hexagon-hvx.xml
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
TARGET_NEED_FDT=y
+8
View File
@@ -0,0 +1,8 @@
TARGET_ARCH=hppa
TARGET_ABI32=y
TARGET_SYSTBL_ABI=common,32
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
# Compromise to ease maintenance vs system mode
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=hppa
TARGET_BIG_ENDIAN=y
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+3
View File
@@ -0,0 +1,3 @@
TARGET_ARCH=i386
TARGET_XML_FILES= i386-32bit.xml
TARGET_LONG_BITS=32
+5
View File
@@ -0,0 +1,5 @@
TARGET_ARCH=i386
TARGET_SYSTBL_ABI=i386
TARGET_SYSTBL=syscall_32.tbl
TARGET_XML_FILES= i386-32bit.xml i386-32bit-linux.xml
TARGET_LONG_BITS=32
+6
View File
@@ -0,0 +1,6 @@
TARGET_ARCH=i386
TARGET_KVM_HAVE_GUEST_DEBUG=y
TARGET_KVM_HAVE_RESET_PARKED_VCPU=y
TARGET_XML_FILES= i386-32bit.xml
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
@@ -0,0 +1,8 @@
# Default configuration for loongarch64-linux-user
TARGET_ARCH=loongarch64
TARGET_BASE_ARCH=loongarch
TARGET_XML_FILES=loongarch-base64.xml loongarch-fpu.xml loongarch-lsx.xml loongarch-lasx.xml
TARGET_SYSTBL=syscall.tbl
TARGET_SYSTBL_ABI=common,64
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+9
View File
@@ -0,0 +1,9 @@
TARGET_ARCH=loongarch64
TARGET_BASE_ARCH=loongarch
TARGET_KVM_HAVE_GUEST_DEBUG=y
TARGET_XML_FILES= loongarch-base32.xml loongarch-base64.xml loongarch-fpu.xml loongarch-lsx.xml loongarch-lasx.xml
# all boards require libfdt
TARGET_NEED_FDT=y
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=m68k
TARGET_SYSTBL_ABI=common
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES= cf-core.xml cf-fp.xml m68k-core.xml m68k-fp.xml
TARGET_HAS_BFLT=y
TARGET_LONG_BITS=32
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=m68k
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES= cf-core.xml cf-fp.xml m68k-core.xml m68k-fp.xml
TARGET_LONG_BITS=32
+6
View File
@@ -0,0 +1,6 @@
foreach target : [
'arm-softmmu', 'aarch64-softmmu',
'riscv32-softmmu', 'riscv64-softmmu'
]
config_target_info += {target : files(target + '.c')}
endforeach
@@ -0,0 +1,7 @@
TARGET_ARCH=microblaze
TARGET_SYSTBL_ABI=common
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
TARGET_HAS_BFLT=y
TARGET_XML_FILES=microblaze-core.xml microblaze-stack-protect.xml
TARGET_LONG_BITS=32
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=microblaze
TARGET_BIG_ENDIAN=y
# needed by boot.c
TARGET_NEED_FDT=y
TARGET_XML_FILES=microblaze-core.xml microblaze-stack-protect.xml
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
@@ -0,0 +1,6 @@
TARGET_ARCH=microblaze
TARGET_SYSTBL_ABI=common
TARGET_SYSTBL=syscall.tbl
TARGET_HAS_BFLT=y
TARGET_XML_FILES=microblaze-core.xml microblaze-stack-protect.xml
TARGET_LONG_BITS=32
+6
View File
@@ -0,0 +1,6 @@
TARGET_ARCH=mips
TARGET_ABI_MIPSO32=y
TARGET_SYSTBL_ABI=o32
TARGET_SYSTBL=syscall_o32.tbl
TARGET_BIG_ENDIAN=y
TARGET_LONG_BITS=32
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=mips
TARGET_BIG_ENDIAN=y
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=mips64
TARGET_ABI_MIPSN64=y
TARGET_BASE_ARCH=mips
TARGET_SYSTBL_ABI=n64
TARGET_SYSTBL=syscall_n64.tbl
TARGET_BIG_ENDIAN=y
TARGET_LONG_BITS=64
+5
View File
@@ -0,0 +1,5 @@
TARGET_ARCH=mips64
TARGET_BASE_ARCH=mips
TARGET_BIG_ENDIAN=y
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+6
View File
@@ -0,0 +1,6 @@
TARGET_ARCH=mips64
TARGET_ABI_MIPSN64=y
TARGET_BASE_ARCH=mips
TARGET_SYSTBL_ABI=n64
TARGET_SYSTBL=syscall_n64.tbl
TARGET_LONG_BITS=64
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=mips64
TARGET_BASE_ARCH=mips
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+5
View File
@@ -0,0 +1,5 @@
TARGET_ARCH=mips
TARGET_ABI_MIPSO32=y
TARGET_SYSTBL_ABI=o32
TARGET_SYSTBL=syscall_o32.tbl
TARGET_LONG_BITS=32
+3
View File
@@ -0,0 +1,3 @@
TARGET_ARCH=mips
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+8
View File
@@ -0,0 +1,8 @@
TARGET_ARCH=mips64
TARGET_ABI_MIPSN32=y
TARGET_ABI32=y
TARGET_BASE_ARCH=mips
TARGET_SYSTBL_ABI=n32
TARGET_SYSTBL=syscall_n32.tbl
TARGET_BIG_ENDIAN=y
TARGET_LONG_BITS=64
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=mips64
TARGET_ABI_MIPSN32=y
TARGET_ABI32=y
TARGET_BASE_ARCH=mips
TARGET_SYSTBL_ABI=n32
TARGET_SYSTBL=syscall_n32.tbl
TARGET_LONG_BITS=64
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=or1k
TARGET_BIG_ENDIAN=y
TARGET_SYSTBL_ABI=common,32,or1k,time32,stat64,rlimit,renameat
TARGET_SYSTBL=syscall.tbl
TARGET_XML_FILES= or1k-core.xml
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+8
View File
@@ -0,0 +1,8 @@
TARGET_ARCH=or1k
TARGET_BIG_ENDIAN=y
# needed by boot.c and all boards
TARGET_NEED_FDT=y
TARGET_XML_FILES= or1k-core.xml
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+6
View File
@@ -0,0 +1,6 @@
TARGET_ARCH=ppc
TARGET_SYSTBL_ABI=common,nospu,32
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES= power-core.xml power-fpu.xml power-altivec.xml power-spe.xml
TARGET_LONG_BITS=32
+5
View File
@@ -0,0 +1,5 @@
TARGET_ARCH=ppc
TARGET_BIG_ENDIAN=y
TARGET_KVM_HAVE_GUEST_DEBUG=y
TARGET_XML_FILES= power-core.xml power-fpu.xml power-altivec.xml power-spe.xml
TARGET_LONG_BITS=32
+8
View File
@@ -0,0 +1,8 @@
TARGET_ARCH=ppc64
TARGET_BASE_ARCH=ppc
TARGET_ABI_DIR=ppc
TARGET_SYSTBL_ABI=common,nospu,64
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES= power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml
TARGET_LONG_BITS=64
+8
View File
@@ -0,0 +1,8 @@
TARGET_ARCH=ppc64
TARGET_BASE_ARCH=ppc
TARGET_BIG_ENDIAN=y
TARGET_KVM_HAVE_GUEST_DEBUG=y
TARGET_XML_FILES= power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml
# all boards require libfdt
TARGET_NEED_FDT=y
TARGET_LONG_BITS=64
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=ppc64
TARGET_BASE_ARCH=ppc
TARGET_ABI_DIR=ppc
TARGET_SYSTBL_ABI=common,nospu,64
TARGET_SYSTBL=syscall.tbl
TARGET_XML_FILES= power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml
TARGET_LONG_BITS=64
+11
View File
@@ -0,0 +1,11 @@
TARGET_ARCH=riscv32
TARGET_BASE_ARCH=riscv
TARGET_ABI_DIR=riscv
TARGET_XML_FILES= riscv-32bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-32bit-virtual.xml
CONFIG_SEMIHOSTING=y
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
TARGET_SYSTBL_ABI=32
TARGET_SYSTBL_ABI=common,32,riscv,memfd_secret
TARGET_SYSTBL=syscall.tbl
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+26
View File
@@ -0,0 +1,26 @@
/*
* QEMU binary/target API (qemu-system-riscv32)
*
* Copyright (c) rev.ng Labs Srl.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "qemu/osdep.h"
#include "qemu/target-info-impl.h"
#include "qemu/target-info-init.h"
#include "hw/riscv/machines-qom.h"
#include "target/riscv/cpu-qom.h"
#include "target/riscv/cpu-param.h"
static const TargetInfo target_info_riscv32_system = {
.target_name = "riscv32",
.target_arch = SYS_EMU_TARGET_RISCV32,
.long_bits = 32,
.cpu_type = TYPE_RISCV_CPU,
.machine_typename = TYPE_TARGET_RISCV32_MACHINE,
.endianness = ENDIAN_MODE_LITTLE,
.page_bits_init = TARGET_PAGE_BITS,
};
target_info_init(target_info_riscv32_system)
+8
View File
@@ -0,0 +1,8 @@
TARGET_ARCH=riscv32
TARGET_BASE_ARCH=riscv
TARGET_XML_FILES= riscv-32bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-32bit-virtual.xml
# needed by boot.c
TARGET_NEED_FDT=y
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+6
View File
@@ -0,0 +1,6 @@
TARGET_ARCH=riscv64
TARGET_BASE_ARCH=riscv
TARGET_ABI_DIR=riscv
TARGET_XML_FILES= riscv-64bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-64bit-virtual.xml
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+11
View File
@@ -0,0 +1,11 @@
TARGET_ARCH=riscv64
TARGET_BASE_ARCH=riscv
TARGET_ABI_DIR=riscv
TARGET_XML_FILES= riscv-64bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-64bit-virtual.xml
CONFIG_SEMIHOSTING=y
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
TARGET_SYSTBL_ABI=64
TARGET_SYSTBL_ABI=common,64,riscv,rlimit,memfd_secret
TARGET_SYSTBL=syscall.tbl
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+26
View File
@@ -0,0 +1,26 @@
/*
* QEMU binary/target API (qemu-system-riscv64)
*
* Copyright (c) rev.ng Labs Srl.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "qemu/osdep.h"
#include "qemu/target-info-impl.h"
#include "qemu/target-info-init.h"
#include "hw/riscv/machines-qom.h"
#include "target/riscv/cpu-qom.h"
#include "target/riscv/cpu-param.h"
static const TargetInfo target_info_riscv64_system = {
.target_name = "riscv64",
.target_arch = SYS_EMU_TARGET_RISCV64,
.long_bits = 64,
.cpu_type = TYPE_RISCV_CPU,
.machine_typename = TYPE_TARGET_RISCV64_MACHINE,
.endianness = ENDIAN_MODE_LITTLE,
.page_bits_init = TARGET_PAGE_BITS,
};
target_info_init(target_info_riscv64_system)
+9
View File
@@ -0,0 +1,9 @@
TARGET_ARCH=riscv64
TARGET_BASE_ARCH=riscv
TARGET_KVM_HAVE_GUEST_DEBUG=y
TARGET_XML_FILES= riscv-64bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-64bit-virtual.xml riscv-32bit-cpu.xml riscv-32bit-virtual.xml
# needed by boot.c
TARGET_NEED_FDT=y
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=rx
TARGET_XML_FILES= rx-core.xml
# all boards require libfdt
TARGET_NEED_FDT=y
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=s390x
TARGET_SYSTBL_ABI=common,64
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES= s390x-core64.xml s390-acr.xml s390-fpr.xml s390-vx.xml s390-cr.xml s390-virt.xml s390-virt-kvm.xml s390-gs.xml
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=s390x
TARGET_BIG_ENDIAN=y
TARGET_KVM_HAVE_GUEST_DEBUG=y
TARGET_XML_FILES= s390x-core64.xml s390-acr.xml s390-fpr.xml s390-vx.xml s390-cr.xml s390-virt.xml s390-virt-kvm.xml s390-gs.xml
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+5
View File
@@ -0,0 +1,5 @@
TARGET_ARCH=sh4
TARGET_SYSTBL_ABI=common
TARGET_SYSTBL=syscall.tbl
TARGET_HAS_BFLT=y
TARGET_LONG_BITS=32
+3
View File
@@ -0,0 +1,3 @@
TARGET_ARCH=sh4
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+6
View File
@@ -0,0 +1,6 @@
TARGET_ARCH=sh4
TARGET_SYSTBL_ABI=common
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
TARGET_HAS_BFLT=y
TARGET_LONG_BITS=32
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=sh4
TARGET_BIG_ENDIAN=y
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=sparc
TARGET_SYSTBL_ABI=common,32
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES=sparc32-cpu.xml sparc32-fpu.xml sparc32-cp0.xml
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+6
View File
@@ -0,0 +1,6 @@
TARGET_ARCH=sparc
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES=sparc32-cpu.xml sparc32-fpu.xml sparc32-cp0.xml
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
@@ -0,0 +1,10 @@
TARGET_ARCH=sparc64
TARGET_ABI32=y
TARGET_BASE_ARCH=sparc
TARGET_ABI_DIR=sparc
TARGET_SYSTBL_ABI=common,32
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES=sparc64-cpu.xml sparc64-fpu.xml sparc64-cp0.xml
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+9
View File
@@ -0,0 +1,9 @@
TARGET_ARCH=sparc64
TARGET_BASE_ARCH=sparc
TARGET_ABI_DIR=sparc
TARGET_SYSTBL_ABI=common,64
TARGET_SYSTBL=syscall.tbl
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES=sparc64-cpu.xml sparc64-fpu.xml sparc64-cp0.xml
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+7
View File
@@ -0,0 +1,7 @@
TARGET_ARCH=sparc64
TARGET_BASE_ARCH=sparc
TARGET_BIG_ENDIAN=y
TARGET_XML_FILES=sparc64-cpu.xml sparc64-fpu.xml sparc64-cp0.xml
TARGET_LONG_BITS=64
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=tricore
TARGET_LONG_BITS=32
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
+4
View File
@@ -0,0 +1,4 @@
TARGET_ARCH=x86_64
TARGET_BASE_ARCH=i386
TARGET_XML_FILES= i386-64bit.xml
TARGET_LONG_BITS=64
+6
View File
@@ -0,0 +1,6 @@
TARGET_ARCH=x86_64
TARGET_BASE_ARCH=i386
TARGET_SYSTBL_ABI=common,64
TARGET_SYSTBL=syscall_64.tbl
TARGET_XML_FILES= i386-64bit.xml i386-64bit-linux.xml
TARGET_LONG_BITS=64

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