public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: "Dong, Eddie" <eddie.dong-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: preview of in kernel irqchip live migration support
Date: Tue, 24 Jul 2007 12:46:42 +0300	[thread overview]
Message-ID: <46A5CA82.3040105@qumranet.com> (raw)
In-Reply-To: <10EA09EFD8728347A513008B6B0DA77A01D15BAB-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>

Dong, Eddie wrote:
> This patch is only for idea collection so far.
> The dilemma is that how to export the pic/IOAPIC/apic state data
> structure
> to user and make sure it has same/similar structure in user level.
> Otherwise a
> convert is a must and we must maintain the converter.
>
>   

I think we have to have a converter, we can't tie the kernel to qemu or 
vice versa.

It's just a series of assignments, I don't see an issue with it.


> With this, PIC only guest can do live migration successfully. We can
> extend
> APIC side seamlessly.
>
> BTW, there is potential issue in IDT_Vectoring. The fix IMO is to retry
> vm_stop at user level
> to make sure no pending IDT_vectoring.
>   

I agree.  How do we tell userspace we need to retry, though?  A field in 
kvm_run?  A field in the lapic state?

> Pls comments. Also I will temply off this week, Qing He may continue.
>
> Thx,eddie
>
>
> diff --git a/include/linux/kvm.h b/include/linux/kvm.h
> index 5307ba3..4eee80d 100644
> --- a/include/linux/kvm.h
> +++ b/include/linux/kvm.h
> @@ -51,6 +51,44 @@ struct kvm_irq_level {
>  	__u32 level;
>  };
>  
> +/* for KVM_GET_IRQCHIP / KVM_SET_IRQCHIP */
> +struct kvm_pic_state {
> +	__u8 last_irr;	/* edge detection */
> +	__u8 irr;		/* interrupt request register */
> +	__u8 imr;		/* interrupt mask register */
> +	__u8 isr;		/* interrupt service register */
> +	__u8 priority_add;	/* highest irq priority */
> +	__u8 irq_base;
> +	__u8 read_reg_select;
> +	__u8 poll;
> +	__u8 special_mask;
> +	__u8 init_state;
> +	__u8 auto_eoi;
> +	__u8 rotate_on_auto_eoi;
> +	__u8 special_fully_nested_mode;
> +	__u8 init4;		/* true if 4 byte init */
> +	__u8 elcr;		/* PIIX edge/trigger selection */
> +	__u8 elcr_mask;
> +	struct kvm_pic *pics_state;
> +};
>   

You can't have this pointer in the userspace interface.

Also, please ensure that sizeof(struct kvm_pic_state) does not change in 
32/64 bit environments, since it gets embedded in the ioctl number.


-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
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  9:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-24  5:48 preview of in kernel irqchip live migration support Dong, Eddie
     [not found] ` <10EA09EFD8728347A513008B6B0DA77A01D15BAB-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-07-24  9:46   ` Avi Kivity [this message]
2007-07-25  7:12   ` Dor Laor
     [not found]     ` <64F9B87B6B770947A9F8391472E032160CD8CAD6-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-07-25  7:30       ` 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=46A5CA82.3040105@qumranet.com \
    --to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
    --cc=eddie.dong-ral2JQCrhuEAvxtiuMwx3w@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