From mboxrd@z Thu Jan 1 00:00:00 1970 From: Corneliu ZUZU Subject: Re: [PATCH v2 2/7] xen/x86: merge 2 hvm_event_... functions into 1 Date: Wed, 10 Feb 2016 19:04:18 +0200 Message-ID: <56BB6D92.3050300@bitdefender.com> References: <1455119259-2161-1-git-send-email-czuzu@bitdefender.com> <1455119433-2308-1-git-send-email-czuzu@bitdefender.com> <56BB710302000078000D0B05@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <56BB710302000078000D0B05@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: Kevin Tian , Tamas K Lengyel , Keir Fraser , Razvan Cojocaru , Andrew Cooper , xen-devel@lists.xen.org, Jun Nakajima List-Id: xen-devel@lists.xenproject.org On 2/10/2016 6:18 PM, Jan Beulich wrote: >>>> On 10.02.16 at 16:50, wrote: >> @@ -151,61 +154,52 @@ void hvm_event_guest_request(void) >> } >> } >> >> -int hvm_event_int3(unsigned long rip) >> +static inline >> +uint64_t gfn_of_rip(unsigned long rip) > This should be a single line and the return value should be > unsigned long. Noted. >> + return (uint64_t) paging_gva_to_gfn(curr, sreg.base + rip, &pfec); >> } > Pointless cast. Noted. > >> --- a/xen/include/asm-x86/hvm/event.h >> +++ b/xen/include/asm-x86/hvm/event.h >> @@ -17,6 +17,12 @@ >> #ifndef __ASM_X86_HVM_EVENT_H__ >> #define __ASM_X86_HVM_EVENT_H__ >> >> +enum hvm_event_breakpoint_type >> +{ >> + HVM_EVENT_SOFTWARE_BREAKPOINT, >> + HVM_EVENT_SINGLESTEP_BREAKPOINT, >> +}; > I don't see what good it does to put existing constants into an > enum. As Andrew pointed out, an enum was requested in v1 instead of the single_step param. One could use the already existing VM_EVENT_REASON_* constants, but conceptually this function only involves a subset of those (i.e. *breakpoint vm-events*). > >> @@ -27,9 +33,8 @@ bool_t hvm_event_cr(unsigned int index, unsigned long value, >> #define hvm_event_crX(what, new, old) \ >> hvm_event_cr(VM_EVENT_X86_##what, new, old) >> void hvm_event_msr(unsigned int msr, uint64_t value); >> -/* Called for current VCPU: returns -1 if no listener */ >> -int hvm_event_int3(unsigned long rip); >> -int hvm_event_single_step(unsigned long rip); >> +int hvm_event_breakpoint(unsigned long rip, >> + enum hvm_event_breakpoint_type type); > I guess the comment was here for a reason, and this reason doesn't > go away with this code folding. But I'll leave it to the VM event code > maintainers to judge. > > Jan > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel > That comment seemed & still seems wrong to me, I don't see any code paths out of which that function would return -1. Thank you, Corneliu.