public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [PATCH 1/2] kvm: Insist on a reason when injecting	a	#GP into a	guest
Date: Tue, 24 Jul 2007 20:41:01 +1000	[thread overview]
Message-ID: <1185273661.1803.300.camel@localhost.localdomain> (raw)
In-Reply-To: <46A5D153.9020302-atKUWr5tajBWk0Htik3J/w@public.gmane.org>

On Tue, 2007-07-24 at 13:15 +0300, Avi Kivity wrote:
> Rusty Russell wrote:
> > +static void __attribute__((format(printf, 2, 3)))
> > +inject_gp(struct kvm_vcpu *vcpu, const char *why_fmt, ...)
...
> >  	kvm_arch_ops->inject_gp(vcpu, 0);
> >  }
> >   
> 
> Some guests (non hardware accelerated hypervisors, mostly) will generate 
> #gp.  We'll want to inject exceptions without noise then.  I don't think 
> we have such an exception today, but it's an excuse to have a clean 
> __inject_gp() and a varargs-infested inject_gp().

I agree, except I never saw the point of a this wrapper anyway.  Is
there a good reason not to call kvm_arch_ops->inject_gp directly?

> > @@ -464,22 +471,21 @@ void set_cr0(struct kvm_vcpu *vcpu, unsi
> >  void set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0)
> >  {
> >  	if (cr0 & CR0_RESERVED_BITS) {
> > -		printk(KERN_DEBUG "set_cr0: 0x%lx #GP, reserved bits 0x%lx\n",
> > -		       cr0, vcpu->cr0);
> > -		inject_gp(vcpu);
> > +		inject_gp(vcpu,
> > +			  "set_cr0: 0x%lx reserved bits 0x%lx\n",
> > +			  cr0, vcpu->cr0);
> >   
> 
> Why three lines?

Erk, I deleted the #GP from these messages later.  Will fix.

> > -		printk(KERN_ERR "kvm: guest string pio down\n");
> > -		inject_gp(vcpu);
> > +		inject_gp(vcpu, "guest string pio down\n");
> >  		return 1;
> >  	}
> >  	vcpu->run->io.count = now;
> 
> This one really wants to be a KERN_ERR.  It's not a guest exception, 
> it's a kvm unimplemented feature for which the guest pays the price.  I 
> guess a good place for __inject_gp().

Good point, by itself this patch is bad.  See 2/2.

Thanks,
Rusty.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/

  parent reply	other threads:[~2007-07-24 10:41 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-24  6:47 [PATCH 1/2] kvm: Insist on a reason when injecting a #GP into a guest Rusty Russell
     [not found] ` <1185259677.1803.239.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-24  7:03   ` [PATCH 2/2] kvm: pr_guest: don't let guest invoke printk() on host Rusty Russell
     [not found]     ` <1185260620.1803.245.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-24 10:19       ` Avi Kivity
     [not found]         ` <46A5D215.5030301-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-24 10:48           ` Rusty Russell
     [not found]             ` <1185274114.1803.309.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-24 11:01               ` Avi Kivity
     [not found]                 ` <46A5DC11.4070400-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-24 11:29                   ` Rusty Russell
     [not found]                     ` <1185276567.1803.330.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-24 12:19                       ` Avi Kivity
     [not found]                         ` <46A5EE38.3060703-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-25  0:19                           ` Rusty Russell
     [not found]                             ` <1185322747.1803.392.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-25  6:25                               ` Avi Kivity
     [not found]                                 ` <46A6ECD4.8040804-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-25  6:45                                   ` Avi Kivity
2007-07-24 10:15   ` [PATCH 1/2] kvm: Insist on a reason when injecting a #GP into a guest Avi Kivity
     [not found]     ` <46A5D153.9020302-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-24 10:41       ` Rusty Russell [this message]
     [not found]         ` <1185273661.1803.300.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-24 10:44           ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1185273661.1803.300.camel@localhost.localdomain \
    --to=rusty-8n+1lvoiyb80n/f98k4iww@public.gmane.org \
    --cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox