<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/kvm_host.h, branch v2.6.27.8</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v2.6.27.8</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v2.6.27.8'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2008-07-29T09:33:53Z</updated>
<entry>
<title>KVM: Synchronize guest physical memory map to host virtual memory map</title>
<updated>2008-07-29T09:33:53Z</updated>
<author>
<name>Andrea Arcangeli</name>
<email>andrea@qumranet.com</email>
</author>
<published>2008-07-25T14:24:52Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=e930bffe95e1e886a1ede80726ea38df5838d067'/>
<id>urn:sha1:e930bffe95e1e886a1ede80726ea38df5838d067</id>
<content type='text'>
Synchronize changes to host virtual addresses which are part of
a KVM memory slot to the KVM shadow mmu.  This allows pte operations
like swapping, page migration, and madvise() to transparently work
with KVM.

Signed-off-by: Andrea Arcangeli &lt;andrea@qumranet.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destruction</title>
<updated>2008-07-20T09:42:40Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2008-07-10T23:49:31Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=34d4cb8fca1f2a31be152b74797e6cd160ec9de6'/>
<id>urn:sha1:34d4cb8fca1f2a31be152b74797e6cd160ec9de6</id>
<content type='text'>
Flush the shadow mmu before removing regions to avoid stale entries.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Add coalesced MMIO support (common part)</title>
<updated>2008-07-20T09:42:31Z</updated>
<author>
<name>Laurent Vivier</name>
<email>Laurent.Vivier@bull.net</email>
</author>
<published>2008-05-30T14:05:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5f94c1741bdc7a336553122036e8a779e616ccbf'/>
<id>urn:sha1:5f94c1741bdc7a336553122036e8a779e616ccbf</id>
<content type='text'>
This patch adds all needed structures to coalesce MMIOs.
Until an architecture uses it, it is not compiled.

Coalesced MMIO introduces two ioctl() to define where are the MMIO zones that
can be coalesced:

- KVM_REGISTER_COALESCED_MMIO registers a coalesced MMIO zone.
  It requests one parameter (struct kvm_coalesced_mmio_zone) which defines
  a memory area where MMIOs can be coalesced until the next switch to
  user space. The maximum number of MMIO zones is KVM_COALESCED_MMIO_ZONE_MAX.

- KVM_UNREGISTER_COALESCED_MMIO cancels all registered zones inside
  the given bounds (bounds are also given by struct kvm_coalesced_mmio_zone).

The userspace client can check kernel coalesced MMIO availability by asking
ioctl(KVM_CHECK_EXTENSION) for the KVM_CAP_COALESCED_MMIO capability.
The ioctl() call to KVM_CAP_COALESCED_MMIO will return 0 if not supported,
or the page offset where will be stored the ring buffer.
The page offset depends on the architecture.

After an ioctl(KVM_RUN), the first page of the KVM memory mapped points to
a kvm_run structure. The offset given by KVM_CAP_COALESCED_MMIO is
an offset to the coalesced MMIO ring expressed in PAGE_SIZE relatively
to the address of the start of th kvm_run structure. The MMIO ring buffer
is defined by the structure kvm_coalesced_mmio_ring.

[akio: fix oops during guest shutdown]

Signed-off-by: Laurent Vivier &lt;Laurent.Vivier@bull.net&gt;
Signed-off-by: Akio Takebe &lt;takebe_akio@jp.fujitsu.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: kvm_io_device: extend in_range() to manage len and write attribute</title>
<updated>2008-07-20T09:42:30Z</updated>
<author>
<name>Laurent Vivier</name>
<email>Laurent.Vivier@bull.net</email>
</author>
<published>2008-05-30T14:05:53Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=92760499d01ef91518119908eb9b8798b6c9bd3f'/>
<id>urn:sha1:92760499d01ef91518119908eb9b8798b6c9bd3f</id>
<content type='text'>
Modify member in_range() of structure kvm_io_device to pass length and the type
of the I/O (write or read).

This modification allows to use kvm_io_device with coalesced MMIO.

Signed-off-by: Laurent Vivier &lt;Laurent.Vivier@bull.net&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Remove decache_vcpus_on_cpu() and related callbacks</title>
<updated>2008-07-20T09:42:25Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2008-05-13T13:29:20Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7cc8883074b040aa8c1ebd3a17463b0ea3a9ef16'/>
<id>urn:sha1:7cc8883074b040aa8c1ebd3a17463b0ea3a9ef16</id>
<content type='text'>
Obsoleted by the vmx-specific per-cpu list.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: close timer injection race window in __vcpu_run</title>
<updated>2008-06-24T09:16:59Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2008-06-06T19:37:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=06e05645661211b9eaadaf6344c335d2e80f0ba2'/>
<id>urn:sha1:06e05645661211b9eaadaf6344c335d2e80f0ba2</id>
<content type='text'>
If a timer fires after kvm_inject_pending_timer_irqs() but before
local_irq_disable() the code will enter guest mode and only inject such
timer interrupt the next time an unrelated event causes an exit.

It would be simpler if the timer-&gt;pending irq conversion could be done
with IRQ's disabled, so that the above problem cannot happen.

For now introduce a new vcpu requests bit to cancel guest entry.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: migrate PIT timer</title>
<updated>2008-06-06T18:25:51Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2008-05-27T15:10:20Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2f5997140f22f68f6390c49941150d3fa8a95cb7'/>
<id>urn:sha1:2f5997140f22f68f6390c49941150d3fa8a95cb7</id>
<content type='text'>
Migrate the PIT timer to the physical CPU which vcpu0 is scheduled on,
similarly to what is done for the LAPIC timers, otherwise PIT interrupts
will be delayed until an unrelated event causes an exit.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: kill file-&gt;f_count abuse in kvm</title>
<updated>2008-04-27T15:21:46Z</updated>
<author>
<name>Al Viro</name>
<email>viro@ZenIV.linux.org.uk</email>
</author>
<published>2008-04-19T19:33:56Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=66c0b394f08fd89236515c1c84485ea712a157be'/>
<id>urn:sha1:66c0b394f08fd89236515c1c84485ea712a157be</id>
<content type='text'>
Use kvm own refcounting instead of playing with -&gt;filp-&gt;f_count.
That will allow to get rid of a lot of crap in anon_inode_getfd() and
kill a race in kvm_dev_ioctl_create_vm() (file might have been closed
immediately by another thread, so -&gt;filp might point to already freed
struct file when we get around to setting it).

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Rename debugfs_dir to kvm_debugfs_dir</title>
<updated>2008-04-27T15:21:36Z</updated>
<author>
<name>Hollis Blanchard</name>
<email>hollisb@us.ibm.com</email>
</author>
<published>2008-04-15T21:05:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=76f7c87902fd2c2de9eb57168adbf9bc5ec2047d'/>
<id>urn:sha1:76f7c87902fd2c2de9eb57168adbf9bc5ec2047d</id>
<content type='text'>
It's a globally exported symbol now.

Signed-off-by: Hollis Blanchard &lt;hollisb@us.ibm.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: add ioctls to save/store mpstate</title>
<updated>2008-04-27T15:21:16Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2008-04-11T16:24:45Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=62d9f0dbc92d7e398fde53fc6021338393522e68'/>
<id>urn:sha1:62d9f0dbc92d7e398fde53fc6021338393522e68</id>
<content type='text'>
So userspace can save/restore the mpstate during migration.

[avi: export the #define constants describing the value]
[christian: add s390 stubs]
[avi: ditto for ia64]

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: Carsten Otte &lt;cotte@de.ibm.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
</feed>
