On 7 September 2015 at 13:19, Sergey Fedorov <serge.f...@gmail.com> wrote: > Hi Peter, > > On 04.09.2015 19:22, Peter Maydell wrote: >> +typedef 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); > > Why don't just pass a pointer to arm_boot_info structure itself rather > than its secure_boot element to arm_linux_init()?
See review discussion on v1. The arm_boot_info structure includes fields that use data types that are only available to source files compiled per-target, and the GIC source files are compiled once-only. thanks -- PMM