123456789101112131415161718192021222324252627282930313233343536373839 |
- /*
- * hw/arm/linux-boot-if.h : interface for devices which need to behave
- * specially for direct boot of an ARM Linux kernel
- */
- #ifndef HW_ARM_LINUX_BOOT_IF_H
- #define HW_ARM_LINUX_BOOT_IF_H
- #include "qom/object.h"
- #define TYPE_ARM_LINUX_BOOT_IF "arm-linux-boot-if"
- typedef struct ARMLinuxBootIfClass ARMLinuxBootIfClass;
- DECLARE_CLASS_CHECKERS(ARMLinuxBootIfClass, ARM_LINUX_BOOT_IF,
- TYPE_ARM_LINUX_BOOT_IF)
- #define ARM_LINUX_BOOT_IF(obj) \
- INTERFACE_CHECK(ARMLinuxBootIf, (obj), TYPE_ARM_LINUX_BOOT_IF)
- typedef struct ARMLinuxBootIf ARMLinuxBootIf;
- struct ARMLinuxBootIfClass {
- /*< private >*/
- InterfaceClass parent_class;
- /*< public >*/
- /** arm_linux_init: configure the device for a direct boot
- * of an ARM Linux kernel (so that device reset puts it into
- * the state the kernel expects after firmware initialization,
- * rather than the true hardware reset state). This callback is
- * called once after machine construction is complete (before the
- * first system reset).
- *
- * @obj: the object implementing this interface
- * @secure_boot: true if we are booting Secure, false for NonSecure
- * (or for a CPU which doesn't support TrustZone)
- */
- void (*arm_linux_init)(ARMLinuxBootIf *obj, bool secure_boot);
- };
- #endif
|