hw/arm: Add DEFINE_MACHINE_ARM() / DEFINE_MACHINE_AARCH64() macros
A machine defined with the DEFINE_MACHINE_ARM() macro will be available in both qemu-system-arm and qemu-system-aarch64 binaries. One defined with DEFINE_MACHINE_AARCH64() will only be available in the qemu-system-aarch64 binary. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Acked-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20251021205741.57109-4-philmd@linaro.org>
This commit is contained in:
parent
eb796c5551
commit
453bf5c72f
2 changed files with 46 additions and 0 deletions
|
|
@ -9,10 +9,38 @@
|
|||
#ifndef HW_ARM_MACHINES_QOM_H
|
||||
#define HW_ARM_MACHINES_QOM_H
|
||||
|
||||
#include "hw/boards.h"
|
||||
|
||||
#define TYPE_TARGET_ARM_MACHINE \
|
||||
"target-info-arm-machine"
|
||||
|
||||
#define TYPE_TARGET_AARCH64_MACHINE \
|
||||
"target-info-aarch64-machine"
|
||||
|
||||
/*
|
||||
* A machine filtered with arm_machine_interfaces[] or
|
||||
* arm_aarch64_machine_interfaces[] will be available
|
||||
* in both qemu-system-arm and qemu-system-aarch64 binaries.
|
||||
*
|
||||
* One filtered with aarch64_machine_interfaces[] will only
|
||||
* be available in the qemu-system-aarch64 binary.
|
||||
*/
|
||||
extern const InterfaceInfo arm_machine_interfaces[];
|
||||
extern const InterfaceInfo arm_aarch64_machine_interfaces[];
|
||||
extern const InterfaceInfo aarch64_machine_interfaces[];
|
||||
|
||||
/*
|
||||
* A machine defined with the DEFINE_MACHINE_ARM() macro will be
|
||||
* available in both qemu-system-arm and qemu-system-aarch64 binaries.
|
||||
*
|
||||
* One defined with DEFINE_MACHINE_AARCH64() will only be available in
|
||||
* the qemu-system-aarch64 binary.
|
||||
*/
|
||||
#define DEFINE_MACHINE_ARM(namestr, machine_initfn) \
|
||||
DEFINE_MACHINE_WITH_INTERFACE_ARRAY(namestr, machine_initfn, \
|
||||
arm_machine_interfaces)
|
||||
#define DEFINE_MACHINE_AARCH64(namestr, machine_initfn) \
|
||||
DEFINE_MACHINE_WITH_INTERFACE_ARRAY(namestr, machine_initfn, \
|
||||
aarch64_machine_interfaces)
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
#include "migration/qemu-file-types.h"
|
||||
#include "migration/vmstate.h"
|
||||
#include "target/arm/gtimer.h"
|
||||
#include "hw/arm/machines-qom.h"
|
||||
|
||||
static bool vfp_needed(void *opaque)
|
||||
{
|
||||
|
|
@ -1212,3 +1213,20 @@ const VMStateDescription vmstate_arm_cpu = {
|
|||
NULL
|
||||
}
|
||||
};
|
||||
|
||||
const InterfaceInfo arm_machine_interfaces[] = {
|
||||
{ TYPE_TARGET_ARM_MACHINE },
|
||||
{ TYPE_TARGET_AARCH64_MACHINE },
|
||||
{ }
|
||||
};
|
||||
|
||||
const InterfaceInfo arm_aarch64_machine_interfaces[] = {
|
||||
{ TYPE_TARGET_ARM_MACHINE },
|
||||
{ TYPE_TARGET_AARCH64_MACHINE },
|
||||
{ }
|
||||
};
|
||||
|
||||
const InterfaceInfo aarch64_machine_interfaces[] = {
|
||||
{ TYPE_TARGET_AARCH64_MACHINE },
|
||||
{ }
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue