- Merge "qemu/clang-tsa.h" within "qemu/compiler.h" - Various cleanups around accelerators initialization code (better user/system split) - Various trivial cleanups in accel/tcg/, Guard few TCG calls with tcg_enabled() - Explicit disassemble_info endianness - Improve dual-endianness support for MicroBlaze -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmfJw08ACgkQ4+MsLN6t wN70whAAtfcdWtqseFfb6fvDtjflgxN51Ui0iaOECXUA18USKriGy34eBcMYMiM2 +eKgU7+jI6JGE4+burcgWUsPpFFF951/A8+lyIbFgO5yToTDmC+qNe4XfmMAIyXq uf9Obr2c0Xk9luh4odb+jPAQodw/7G1fKgcCVIJNDCl/xEcPhS9eNpTaHwcVnkWI K6KrxWXOsqG6+evJBPWYoXtOOyt0+JcwAsJoGhprwtGm3P9+jSVXsgeGsJVyZcna f32JtjWL754O8XeMkOn4x6rt58VrCIMKI9xT7keDyuhTCq0Zki9RO2nMU2dSw5mN AfL9hxqUy0Nijnyslg3ugujDfTePsNyLdwwH7n0mnoD72ELi6WnhDsmOThuEB3Rd 4/kdwTJfA/rlWk/GF1tbKW7AvQZokRARtzmL3V0HmGJu57lX+2JuszEdYBkqDEP7 GH1I10B2yANUm+C9y3X8qWOU7Ws433ebJeJoZuyfnbZ9Me+UfRmql/oS+V8ata2i fArEItpldUFrWRyYLkTbXrh2dgyV9yJTEir/lzOzeAZZzyabTbjf2z9qnh976GGO 1QnDy5QA4f54kDBUZe7JK26TZsHPch7cgqXW6f8tRlJF7A9hxGK8d2TUV/lC3/vx LUOlWNu03PhiruYmZEcWOsY3Jt9jRCF6lIryrnaJsqnVOVmMUMM= =3TRh -----END PGP SIGNATURE----- Merge tag 'accel-cpus-20250306' of https://github.com/philmd/qemu into staging Generic CPUs / accelerators patch queue - Merge "qemu/clang-tsa.h" within "qemu/compiler.h" - Various cleanups around accelerators initialization code (better user/system split) - Various trivial cleanups in accel/tcg/, Guard few TCG calls with tcg_enabled() - Explicit disassemble_info endianness - Improve dual-endianness support for MicroBlaze # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmfJw08ACgkQ4+MsLN6t # wN70whAAtfcdWtqseFfb6fvDtjflgxN51Ui0iaOECXUA18USKriGy34eBcMYMiM2 # +eKgU7+jI6JGE4+burcgWUsPpFFF951/A8+lyIbFgO5yToTDmC+qNe4XfmMAIyXq # uf9Obr2c0Xk9luh4odb+jPAQodw/7G1fKgcCVIJNDCl/xEcPhS9eNpTaHwcVnkWI # K6KrxWXOsqG6+evJBPWYoXtOOyt0+JcwAsJoGhprwtGm3P9+jSVXsgeGsJVyZcna # f32JtjWL754O8XeMkOn4x6rt58VrCIMKI9xT7keDyuhTCq0Zki9RO2nMU2dSw5mN # AfL9hxqUy0Nijnyslg3ugujDfTePsNyLdwwH7n0mnoD72ELi6WnhDsmOThuEB3Rd # 4/kdwTJfA/rlWk/GF1tbKW7AvQZokRARtzmL3V0HmGJu57lX+2JuszEdYBkqDEP7 # GH1I10B2yANUm+C9y3X8qWOU7Ws433ebJeJoZuyfnbZ9Me+UfRmql/oS+V8ata2i # fArEItpldUFrWRyYLkTbXrh2dgyV9yJTEir/lzOzeAZZzyabTbjf2z9qnh976GGO # 1QnDy5QA4f54kDBUZe7JK26TZsHPch7cgqXW6f8tRlJF7A9hxGK8d2TUV/lC3/vx # LUOlWNu03PhiruYmZEcWOsY3Jt9jRCF6lIryrnaJsqnVOVmMUMM= # =3TRh # -----END PGP SIGNATURE----- # gpg: Signature made Thu 06 Mar 2025 23:46:23 HKT # 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 'accel-cpus-20250306' of https://github.com/philmd/qemu: (54 commits) include: Poison TARGET_PHYS_ADDR_SPACE_BITS definition system: Open-code qemu_init_arch_modules() using target_name() target/i386: Mark WHPX APIC region as little-endian target/alpha: Do not mix exception flags and FPCR bits target/riscv: Convert misa_mxl_max using GLib macros target/riscv: Declare RISCVCPUClass::misa_mxl_max as RISCVMXL target/xtensa: Finalize config in xtensa_register_core() target/sparc: Constify SPARCCPUClass::cpu_def target/i386: Constify X86CPUModel uses disas: Remove target_words_bigendian() call in initialize_debug_target() target/xtensa: Set disassemble_info::endian value in disas_set_info() target/sh4: Set disassemble_info::endian value in disas_set_info() target/riscv: Set disassemble_info::endian value in disas_set_info() target/ppc: Set disassemble_info::endian value in disas_set_info() target/mips: Set disassemble_info::endian value in disas_set_info() target/microblaze: Set disassemble_info::endian value in disas_set_info target/arm: Set disassemble_info::endian value in disas_set_info() target: Set disassemble_info::endian value for big-endian targets target: Set disassemble_info::endian value for little-endian targets target/mips: Fix possible MSA int overflow ... Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
141 lines
5.3 KiB
C
141 lines
5.3 KiB
C
#ifndef QEMU_TYPEDEFS_H
|
|
#define QEMU_TYPEDEFS_H
|
|
|
|
/*
|
|
* This header is for selectively avoiding #include just to get a
|
|
* typedef name.
|
|
*
|
|
* Declaring a typedef name in its "obvious" place can result in
|
|
* inclusion cycles, in particular for complete struct and union
|
|
* types that need more types for their members. It can also result
|
|
* in headers pulling in many more headers, slowing down builds.
|
|
*
|
|
* You can break such cycles and unwanted dependencies by declaring
|
|
* the typedef name here.
|
|
*
|
|
* For struct types used in only a few headers, judicious use of the
|
|
* struct tag instead of the typedef name is commonly preferable.
|
|
*/
|
|
|
|
/*
|
|
* Incomplete struct types
|
|
* Please keep this list in case-insensitive alphabetical order.
|
|
*/
|
|
typedef struct AccelCPUState AccelCPUState;
|
|
typedef struct AccelOpsClass AccelOpsClass;
|
|
typedef struct AccelState AccelState;
|
|
typedef struct AddressSpace AddressSpace;
|
|
typedef struct AioContext AioContext;
|
|
typedef struct Aml Aml;
|
|
typedef struct ArchCPU ArchCPU;
|
|
typedef struct BdrvDirtyBitmap BdrvDirtyBitmap;
|
|
typedef struct BdrvDirtyBitmapIter BdrvDirtyBitmapIter;
|
|
typedef struct BlockBackend BlockBackend;
|
|
typedef struct BlockBackendRootState BlockBackendRootState;
|
|
typedef struct BlockDriverState BlockDriverState;
|
|
typedef struct BusClass BusClass;
|
|
typedef struct BusState BusState;
|
|
typedef struct Chardev Chardev;
|
|
typedef struct Clock Clock;
|
|
typedef struct ConfidentialGuestSupport ConfidentialGuestSupport;
|
|
typedef struct CPUArchState CPUArchState;
|
|
typedef struct CPUPluginState CPUPluginState;
|
|
typedef struct CPUState CPUState;
|
|
typedef struct CPUTLBEntryFull CPUTLBEntryFull;
|
|
typedef struct DeviceState DeviceState;
|
|
typedef struct DirtyBitmapSnapshot DirtyBitmapSnapshot;
|
|
typedef struct DisasContextBase DisasContextBase;
|
|
typedef struct DisplayChangeListener DisplayChangeListener;
|
|
typedef struct DriveInfo DriveInfo;
|
|
typedef struct DumpState DumpState;
|
|
typedef struct Error Error;
|
|
typedef struct EventNotifier EventNotifier;
|
|
typedef struct FlatView FlatView;
|
|
typedef struct FWCfgState FWCfgState;
|
|
typedef struct HostMemoryBackend HostMemoryBackend;
|
|
typedef struct I2CBus I2CBus;
|
|
typedef struct I2SCodec I2SCodec;
|
|
typedef struct IOMMUMemoryRegion IOMMUMemoryRegion;
|
|
typedef struct ISABus ISABus;
|
|
typedef struct ISADevice ISADevice;
|
|
typedef struct IsaDma IsaDma;
|
|
typedef struct JSONWriter JSONWriter;
|
|
typedef struct MACAddr MACAddr;
|
|
typedef struct MachineClass MachineClass;
|
|
typedef struct MachineState MachineState;
|
|
typedef struct MemoryListener MemoryListener;
|
|
typedef struct MemoryMappingList MemoryMappingList;
|
|
typedef struct MemoryRegion MemoryRegion;
|
|
typedef struct MemoryRegionCache MemoryRegionCache;
|
|
typedef struct MemoryRegionSection MemoryRegionSection;
|
|
typedef struct MigrationIncomingState MigrationIncomingState;
|
|
typedef struct MigrationState MigrationState;
|
|
typedef struct Monitor Monitor;
|
|
typedef struct MSIMessage MSIMessage;
|
|
typedef struct NetClientState NetClientState;
|
|
typedef struct NetFilterState NetFilterState;
|
|
typedef struct NICInfo NICInfo;
|
|
typedef struct Object Object;
|
|
typedef struct ObjectClass ObjectClass;
|
|
typedef struct PCIBridge PCIBridge;
|
|
typedef struct PCIBus PCIBus;
|
|
typedef struct PCIDevice PCIDevice;
|
|
typedef struct PCIEPort PCIEPort;
|
|
typedef struct PCIESlot PCIESlot;
|
|
typedef struct PCIExpressDevice PCIExpressDevice;
|
|
typedef struct PCIExpressHost PCIExpressHost;
|
|
typedef struct PCIHostDeviceAddress PCIHostDeviceAddress;
|
|
typedef struct PCIHostState PCIHostState;
|
|
typedef struct Property Property;
|
|
typedef struct PropertyInfo PropertyInfo;
|
|
typedef struct QBool QBool;
|
|
typedef struct QDict QDict;
|
|
typedef struct QEMUBH QEMUBH;
|
|
typedef struct QemuConsole QemuConsole;
|
|
typedef struct QEMUCursor QEMUCursor;
|
|
typedef struct QEMUFile QEMUFile;
|
|
typedef struct QemuMutex QemuMutex;
|
|
typedef struct QemuOpts QemuOpts;
|
|
typedef struct QemuOptsList QemuOptsList;
|
|
typedef struct QEMUSGList QEMUSGList;
|
|
typedef struct QemuSpin QemuSpin;
|
|
typedef struct QEMUTimer QEMUTimer;
|
|
typedef struct QEMUTimerListGroup QEMUTimerListGroup;
|
|
typedef struct QList QList;
|
|
typedef struct QNull QNull;
|
|
typedef struct QNum QNum;
|
|
typedef struct QObject QObject;
|
|
typedef struct QString QString;
|
|
typedef struct RAMBlock RAMBlock;
|
|
typedef struct Range Range;
|
|
typedef struct ReservedRegion ReservedRegion;
|
|
typedef struct SaveLiveCompletePrecopyThreadData SaveLiveCompletePrecopyThreadData;
|
|
typedef struct SHPCDevice SHPCDevice;
|
|
typedef struct SSIBus SSIBus;
|
|
typedef struct TCGCPUOps TCGCPUOps;
|
|
typedef struct TCGHelperInfo TCGHelperInfo;
|
|
typedef struct TaskState TaskState;
|
|
typedef struct TranslationBlock TranslationBlock;
|
|
typedef struct VirtIODevice VirtIODevice;
|
|
typedef struct Visitor Visitor;
|
|
typedef struct VMChangeStateEntry VMChangeStateEntry;
|
|
typedef struct VMStateDescription VMStateDescription;
|
|
|
|
/*
|
|
* Pointer types
|
|
* Such typedefs should be limited to cases where the typedef's users
|
|
* are oblivious of its "pointer-ness".
|
|
* Please keep this list in case-insensitive alphabetical order.
|
|
*/
|
|
typedef struct IRQState *qemu_irq;
|
|
|
|
/*
|
|
* Function types
|
|
*/
|
|
typedef void (*qemu_irq_handler)(void *opaque, int n, int level);
|
|
typedef bool (*MigrationLoadThread)(void *opaque, bool *should_quit,
|
|
Error **errp);
|
|
typedef bool (*SaveLiveCompletePrecopyThreadHandler)(SaveLiveCompletePrecopyThreadData *d,
|
|
Error **errp);
|
|
|
|
#endif /* QEMU_TYPEDEFS_H */
|