<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/drivers/kvm/irq.c, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/drivers/kvm/irq.c?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/drivers/kvm/irq.c?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2008-01-30T16:01:18Z</updated>
<entry>
<title>KVM: Move arch dependent files to new directory arch/x86/kvm/</title>
<updated>2008-01-30T16:01:18Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-12-16T09:02:48Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=edf884172e9828c6234b254208af04655855038d'/>
<id>urn:sha1:edf884172e9828c6234b254208af04655855038d</id>
<content type='text'>
This paves the way for multiple architecture support.  Note that while
ioapic.c could potentially be shared with ia64, it is also moved.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Portability: Split kvm_vcpu into arch dependent and independent parts (part 1)</title>
<updated>2008-01-30T15:52:54Z</updated>
<author>
<name>Zhang Xiantao</name>
<email>xiantao.zhang@intel.com</email>
</author>
<published>2007-10-20T07:34:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=34c16eecf78ed4cf01f39ac7211f5b57942ec899'/>
<id>urn:sha1:34c16eecf78ed4cf01f39ac7211f5b57942ec899</id>
<content type='text'>
First step to split kvm_vcpu.  Currently, we just use an macro to define
the common fields in kvm_vcpu for all archs, and all archs need to define
its own kvm_vcpu struct.

Signed-off-by: Zhang Xiantao &lt;xiantao.zhang@intel.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: deliver PIC interrupt only to vcpu0</title>
<updated>2007-10-13T08:18:26Z</updated>
<author>
<name>Qing He</name>
<email>qing.he@intel.com</email>
</author>
<published>2007-09-17T06:47:13Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=40487c680d5855459dfdce340df13d40071bb774'/>
<id>urn:sha1:40487c680d5855459dfdce340df13d40071bb774</id>
<content type='text'>
This patch changes the PIC interrupts delivery. Now it is only delivered
to vcpu0 when either condition is met (on vcpu0):
  1. local APIC is hardware disabled
  2. LVT0 is unmasked and configured to delivery mode ExtInt

It fixes the 2x faster wall clock on x86_64 and SMP i386 Linux guests

Signed-off-by: Eddie (Yaozu) Dong &lt;eddie.dong@intel.com&gt;
Signed-off-by: Qing He &lt;qing.he@intel.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Keep track of missed timer irq injections</title>
<updated>2007-10-13T08:18:26Z</updated>
<author>
<name>Eddie Dong</name>
<email>eddie.dong@intel.com</email>
</author>
<published>2007-09-03T13:56:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=1b9778dae71dc64d3678d766c0f1fbed79c80f9f'/>
<id>urn:sha1:1b9778dae71dc64d3678d766c0f1fbed79c80f9f</id>
<content type='text'>
APIC timer IRQ is set every time when a certain period
expires at host time, but the guest may be descheduled
at that time and thus the irq be overwritten by later fire.
This patch keep track of firing irq numbers and decrease
only when the IRQ is injected to guest or buffered in
APIC.

Signed-off-by: Yaozu (Eddie) Dong &lt;Eddie.Dong@intel.com&gt;
Signed-off-by: Qing He &lt;qing.he@intel.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Emulate hlt in the kernel</title>
<updated>2007-10-13T08:18:25Z</updated>
<author>
<name>Eddie Dong</name>
<email>eddie.dong@intel.com</email>
</author>
<published>2007-07-18T09:15:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=b6958ce44a11a9e9425d2b67a653b1ca2a27796f'/>
<id>urn:sha1:b6958ce44a11a9e9425d2b67a653b1ca2a27796f</id>
<content type='text'>
By sleeping in the kernel when hlt is executed, we simplify the in-kernel
guest interrupt path considerably.

Signed-off-by: Gregory Haskins &lt;ghaskins@novell.com&gt;
Signed-off-by: Yaozu (Eddie) Dong &lt;eddie.dong@intel.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: In-kernel I/O APIC model</title>
<updated>2007-10-13T08:18:25Z</updated>
<author>
<name>Eddie Dong</name>
<email>eddie.dong@intel.com</email>
</author>
<published>2007-07-18T09:03:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=1fd4f2a5ed8f80cf6e23d2bdf78554f6a1ac7997'/>
<id>urn:sha1:1fd4f2a5ed8f80cf6e23d2bdf78554f6a1ac7997</id>
<content type='text'>
This allows in-kernel host-side device drivers to raise guest interrupts
without going to userspace.

[avi: fix level-triggered interrupt redelivery on eoi]
[avi: add missing #include]
[avi: avoid redelivery of edge-triggered interrupt]
[avi: implement polarity]
[avi: don't deliver edge-triggered interrupts when unmasking]
[avi: fix host oops on invalid guest access]

Signed-off-by: Yaozu (Eddie) Dong &lt;eddie.dong@intel.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Emulate local APIC in kernel</title>
<updated>2007-10-13T08:18:25Z</updated>
<author>
<name>Eddie Dong</name>
<email>eddie.dong@intel.com</email>
</author>
<published>2007-09-12T07:58:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=97222cc8316328965851ed28d23f6b64b4c912d2'/>
<id>urn:sha1:97222cc8316328965851ed28d23f6b64b4c912d2</id>
<content type='text'>
Because lightweight exits (exits which don't involve userspace) are many
times faster than heavyweight exits, it makes sense to emulate high usage
devices in the kernel.  The local APIC is one such device, especially for
Windows and for SMP, so we add an APIC model to kvm.

It also allows in-kernel host-side drivers to inject interrupts without
going through userspace.

[compile fix on i386 from Jindrich Makovicka]

Signed-off-by: Yaozu (Eddie) Dong &lt;Eddie.Dong@intel.com&gt;
Signed-off-by: Qing He &lt;qing.he@intel.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Add support for in-kernel PIC emulation</title>
<updated>2007-10-13T08:18:24Z</updated>
<author>
<name>Eddie Dong</name>
<email>eddie.dong@intel.com</email>
</author>
<published>2007-07-06T09:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=85f455f7ddbed403b34b4d54b1eaf0e14126a126'/>
<id>urn:sha1:85f455f7ddbed403b34b4d54b1eaf0e14126a126</id>
<content type='text'>
Signed-off-by: Yaozu (Eddie) Dong &lt;eddie.dong@intel.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
</feed>
