In order to make sure the asm-accessed fields are within reach, move these fields to the top of the structure. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> --- arch/arm/include/asm/kvm_arch_timer.h | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/arch/arm/include/asm/kvm_arch_timer.h b/arch/arm/include/asm/kvm_arch_timer.h index 512ee39..bd5e501 100644 --- a/arch/arm/include/asm/kvm_arch_timer.h +++ b/arch/arm/include/asm/kvm_arch_timer.h @@ -44,6 +44,21 @@ struct arch_timer_kvm { struct arch_timer_cpu { #ifdef CONFIG_KVM_ARM_TIMER + /* Registers: control register, timer value */ + u32 cntv_ctl; /* Saved/restored */ + union { + cycle_t cntv_cval; + struct { + u32 low; /* Saved/restored */ + u32 high; /* Saved/restored */ + } cntv_cval32; + }; + + /* + * Anything that is not used directly from assembly code goes + * here. + */ + /* Background timer used when the guest is not running */ struct hrtimer timer; @@ -55,16 +70,6 @@ struct arch_timer_cpu { /* Timer IRQ */ const struct kvm_irq_level *irq; - - /* Registers: control register, timer value */ - u32 cntv_ctl; /* Saved/restored */ - union { - cycle_t cntv_cval; - struct { - u32 low; /* Saved/restored */ - u32 high; /* Saved/restored */ - } cntv_cval32; - }; #endif }; -- 1.7.12 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm