<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/virt/kvm/ioapic.h, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2014-11-21T17:02:37+00:00</updated>
<entry>
<title>kvm: x86: move ioapic.c and irq_comm.c back to arch/x86/</title>
<updated>2014-11-21T17:02:37+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2014-11-20T12:45:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6ef768fac9dfe3404d3fdc09909ea203a88f2f38'/>
<id>urn:sha1:6ef768fac9dfe3404d3fdc09909ea203a88f2f38</id>
<content type='text'>
ia64 does not need them anymore.  Ack notifiers become x86-specific
too.

Suggested-by: Gleb Natapov &lt;gleb@kernel.org&gt;
Reviewed-by: Radim Krcmar &lt;rkrcmar@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: ia64: remove</title>
<updated>2014-11-20T10:08:33+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2014-11-19T15:22:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=003f7de6258900e17f6206e8e417d76c75ca549f'/>
<id>urn:sha1:003f7de6258900e17f6206e8e417d76c75ca549f</id>
<content type='text'>
KVM for ia64 has been marked as broken not just once, but twice even,
and the last patch from the maintainer is now roughly 5 years old.
Time for it to rest in peace.

Acked-by: Gleb Natapov &lt;gleb@kernel.org&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86: some apic broadcast modes does not work</title>
<updated>2014-11-03T11:07:22+00:00</updated>
<author>
<name>Nadav Amit</name>
<email>namit@cs.technion.ac.il</email>
</author>
<published>2014-10-02T21:30:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=394457a928e0f7ff121c375966f5ec1980dabc09'/>
<id>urn:sha1:394457a928e0f7ff121c375966f5ec1980dabc09</id>
<content type='text'>
KVM does not deliver x2APIC broadcast messages with physical mode.  Intel SDM
(10.12.9 ICR Operation in x2APIC Mode) states: "A destination ID value of
FFFF_FFFFH is used for broadcast of interrupts in both logical destination and
physical destination modes."

In addition, the local-apic enables cluster mode broadcast. As Intel SDM
10.6.2.2 says: "Broadcast to all local APICs is achieved by setting all
destination bits to one." This patch enables cluster mode broadcast.

The fix tries to combine broadcast in different modes through a unified code.

One rare case occurs when the source of IPI has its APIC disabled.  In such
case, the source can still issue IPIs, but since the source is not obliged to
have the same LAPIC mode as the enabled ones, we cannot rely on it.
Since it is a rare case, it is unoptimized and done on the slow-path.

Signed-off-by: Nadav Amit &lt;namit@cs.technion.ac.il&gt;
Reviewed-by: Radim Krčmář &lt;rkrcmar@redhat.com&gt;
Reviewed-by: Wanpeng Li &lt;wanpeng.li@linux.intel.com&gt;
[As per Radim's review, use unsigned int for X2APIC_BROADCAST, return bool from
 kvm_apic_broadcast. - Paolo]
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>kvm: ioapic: conditionally delay irq delivery duringeoi broadcast</title>
<updated>2014-09-16T12:44:48+00:00</updated>
<author>
<name>Zhang Haoyu</name>
<email>zhanghy@sangfor.com</email>
</author>
<published>2014-09-11T08:47:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=184564efae4d775225c8fe3b762a56956fb1f827'/>
<id>urn:sha1:184564efae4d775225c8fe3b762a56956fb1f827</id>
<content type='text'>
Currently, we call ioapic_service() immediately when we find the irq is still
active during eoi broadcast. But for real hardware, there's some delay between
the EOI writing and irq delivery.  If we do not emulate this behavior, and
re-inject the interrupt immediately after the guest sends an EOI and re-enables
interrupts, a guest might spend all its time in the ISR if it has a broken
handler for a level-triggered interrupt.

Such livelock actually happens with Windows guests when resuming from
hibernation.

As there's no way to recognize the broken handle from new raised ones, this patch
delays an interrupt if 10.000 consecutive EOIs found that the interrupt was
still high.  The guest can then make a little forward progress, until a proper
IRQ handler is set or until some detection routine in the guest (such as
Linux's note_interrupt()) recognizes the situation.

Cc: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Signed-off-by: Zhang Haoyu &lt;zhanghy@sangfor.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>kvm: make local functions static</title>
<updated>2014-01-08T21:02:58+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>stephen@networkplumber.org</email>
</author>
<published>2013-12-29T20:12:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=7940876e1330671708186ac3386aa521ffb5c182'/>
<id>urn:sha1:7940876e1330671708186ac3386aa521ffb5c182</id>
<content type='text'>
Running 'make namespacecheck' found lots of functions that
should be declared static, since only used in one file.

Signed-off-by: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Set TMR when programming ioapic entry</title>
<updated>2013-04-16T19:32:40+00:00</updated>
<author>
<name>Yang Zhang</name>
<email>yang.z.zhang@Intel.com</email>
</author>
<published>2013-04-11T11:25:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cf9e65b773394c5ad8fa7455c43268bc8ec2109f'/>
<id>urn:sha1:cf9e65b773394c5ad8fa7455c43268bc8ec2109f</id>
<content type='text'>
We already know the trigger mode of a given interrupt when programming
the ioapice entry. So it's not necessary to set it in each interrupt
delivery.

Signed-off-by: Yang Zhang &lt;yang.z.zhang@Intel.com&gt;
Reviewed-by: Gleb Natapov &lt;gleb@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Call common update function when ioapic entry changed.</title>
<updated>2013-04-16T19:32:40+00:00</updated>
<author>
<name>Yang Zhang</name>
<email>yang.z.zhang@Intel.com</email>
</author>
<published>2013-04-11T11:25:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3d81bc7e96d6bca0b8f8b7d1bf6ea72caa3aac57'/>
<id>urn:sha1:3d81bc7e96d6bca0b8f8b7d1bf6ea72caa3aac57</id>
<content type='text'>
Both TMR and EOI exit bitmap need to be updated when ioapic changed
or vcpu's id/ldr/dfr changed. So use common function instead eoi exit
bitmap specific function.

Signed-off-by: Yang Zhang &lt;yang.z.zhang@Intel.com&gt;
Reviewed-by: Gleb Natapov &lt;gleb@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Let ioapic know the irq line status</title>
<updated>2013-04-16T02:20:34+00:00</updated>
<author>
<name>Yang Zhang</name>
<email>yang.z.zhang@Intel.com</email>
</author>
<published>2013-04-11T11:21:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=aa2fbe6d44892070d78995f0df875ce930904e29'/>
<id>urn:sha1:aa2fbe6d44892070d78995f0df875ce930904e29</id>
<content type='text'>
Userspace may deliver RTC interrupt without query the status. So we
want to track RTC EOI for this case.

Signed-off-by: Yang Zhang &lt;yang.z.zhang@Intel.com&gt;
Reviewed-by: Gleb Natapov &lt;gleb@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Add reset/restore rtc_status support</title>
<updated>2013-04-16T02:20:34+00:00</updated>
<author>
<name>Yang Zhang</name>
<email>yang.z.zhang@Intel.com</email>
</author>
<published>2013-04-11T11:21:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=106069193ce501ea68649037bde7ea50ed492948'/>
<id>urn:sha1:106069193ce501ea68649037bde7ea50ed492948</id>
<content type='text'>
restore rtc_status from migration or save/restore

Signed-off-by: Yang Zhang &lt;yang.z.zhang@Intel.com&gt;
Reviewed-by: Gleb Natapov &lt;gleb@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Return destination vcpu on interrupt injection</title>
<updated>2013-04-16T02:20:34+00:00</updated>
<author>
<name>Yang Zhang</name>
<email>yang.z.zhang@Intel.com</email>
</author>
<published>2013-04-11T11:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b4f2225c07dd4d8eef7aa7f5b36a3b72c3cbbe5b'/>
<id>urn:sha1:b4f2225c07dd4d8eef7aa7f5b36a3b72c3cbbe5b</id>
<content type='text'>
Add a new parameter to know vcpus who received the interrupt.

Signed-off-by: Yang Zhang &lt;yang.z.zhang@Intel.com&gt;
Reviewed-by: Gleb Natapov &lt;gleb@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
</feed>
