[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86/HVM: fixed _hvm_hw_fix_cpu()
# HG changeset patch # User Razvan Cojocaru <rzvncj@xxxxxxxxx> # Date 1359036499 -3600 # Node ID e0b21f16be125ec67c288dc01c09d6312bc82a3c # Parent e7de3330b64cc66cd559d9b570a84a421cd99b44 x86/HVM: fixed _hvm_hw_fix_cpu() Prevent the compiler from re-ordering the reads and writes. Suggested by Jan Beulich. Signed-off-by: Razvan Cojocaru <rzvncj@xxxxxxxxx> Acked-by: Tim Deegan <tim@xxxxxxx> Acked-by: Keir Fraser <keir@xxxxxxx> Committed-by: Jan Beulich <jbeulich@xxxxxxxx> --- diff -r e7de3330b64c -r e0b21f16be12 xen/include/public/arch-x86/hvm/save.h --- a/xen/include/public/arch-x86/hvm/save.h Thu Jan 24 14:49:14 2013 +0100 +++ b/xen/include/public/arch-x86/hvm/save.h Thu Jan 24 15:08:19 2013 +0100 @@ -269,15 +269,18 @@ struct hvm_hw_cpu_compat { }; static inline int _hvm_hw_fix_cpu(void *h) { - struct hvm_hw_cpu *new=h; - struct hvm_hw_cpu_compat *old=h; + + union hvm_hw_cpu_union { + struct hvm_hw_cpu nat; + struct hvm_hw_cpu_compat cmp; + } *ucpu = (union hvm_hw_cpu_union *)h; /* If we copy from the end backwards, we should * be able to do the modification in-place */ - new->error_code=old->error_code; - new->pending_event=old->pending_event; - new->tsc=old->tsc; - new->msr_tsc_aux=0; + ucpu->nat.error_code = ucpu->cmp.error_code; + ucpu->nat.pending_event = ucpu->cmp.pending_event; + ucpu->nat.tsc = ucpu->cmp.tsc; + ucpu->nat.msr_tsc_aux = 0; return 0; } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |