From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH 4/5] VMX: Validate capability MSRs Date: Mon, 16 Jun 2014 13:26:19 +0200 Message-ID: <539ED45B.5000308@siemens.com> References: <6a1106d8fefb4c808cdacc2a0632a5a55bd825b6.1402842281.git.jan.kiszka@web.de> <539ECE4C.9020604@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: kvm , Bandan Das To: Paolo Bonzini Return-path: Received: from goliath.siemens.de ([192.35.17.28]:52156 "EHLO goliath.siemens.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751414AbaFPL02 (ORCPT ); Mon, 16 Jun 2014 07:26:28 -0400 In-Reply-To: <539ECE4C.9020604@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 2014-06-16 13:00, Paolo Bonzini wrote: > Il 15/06/2014 16:24, Jan Kiszka ha scritto: >> + for (n = 0; n < ARRAY_SIZE(vmx_ctl_msr); n++) { >> + val = rdmsr(vmx_ctl_msr[n].index); >> + default1 = vmx_ctl_msr[n].default1; >> + ok = (val & default1) == default1 && >> + ((((u32)val) ^ (val >> 32)) & ~(val >> 32)) == 0; > > Ouch, this can sure be make this more readable. > > Please unify these: > > union vmx_ctrl_pin { > u64 val; > struct { > u32 set, clr; > }; > }; > > union vmx_ctrl_cpu { > u64 val; > struct { > u32 set, clr; > }; > }; > > union vmx_ctrl_exit { > u64 val; > struct { > u32 set, clr; > }; > }; > > union vmx_ctrl_ent { > u64 val; > struct { > u32 set, clr; > }; > }; > > > into a single "union vmx_ctl_msr", and use this union for val and > true_val as well. OK, will do. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux