|  | /* | 
|  | * 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 |