<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/kvm.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-09-10T15:10:50Z</updated>
<entry>
<title>KVM guest: do not batch pte updates from interrupt context</title>
<updated>2009-09-10T15:10:50Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2009-08-25T04:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ba661787594868512a71c129062ebd57d0c01e7'/>
<id>urn:sha1:6ba661787594868512a71c129062ebd57d0c01e7</id>
<content type='text'>
Commit b8bcfe997e4 made paravirt pte updates synchronous in interrupt
context.

Unfortunately the KVM pv mmu code caches the lazy/nonlazy mode
internally, so a pte update from interrupt context during a lazy mmu
operation can be batched while it should be performed synchronously.

https://bugzilla.redhat.com/show_bug.cgi?id=518022

Drop the internal mode variable and use paravirt_get_lazy_mode(), which
returns the correct state.

Cc: stable@kernel.org
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>x86, kvm: Fix section mismatches in kvm.c</title>
<updated>2009-07-03T12:34:22Z</updated>
<author>
<name>Rakib Mullick</name>
</author>
<published>2009-07-02T05:40:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d3ac88157c1e9153f37cd2b9313117ae11735063'/>
<id>urn:sha1:d3ac88157c1e9153f37cd2b9313117ae11735063</id>
<content type='text'>
The function paravirt_ops_setup() has been refering the
variable no_timer_check, which is a __initdata. Thus generates
the following warning. paravirt_ops_setup() function is called
from kvm_guest_init() which is a __init function. So to fix
this we mark paravirt_ops_setup as __init.

The sections-check output that warned us about this was:

   LD      arch/x86/built-in.o
  WARNING: arch/x86/built-in.o(.text+0x166ce): Section mismatch in
  reference from the function paravirt_ops_setup() to the variable
  .init.data:no_timer_check
  The function paravirt_ops_setup() references
  the variable __initdata no_timer_check.
  This is often because paravirt_ops_setup lacks a __initdata
  annotation or the annotation of no_timer_check is wrong.

Signed-off-by: Rakib Mullick &lt;rakib.mullick@gmail.com&gt;
Acked-by: Avi Kivity &lt;avi@redhat.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
LKML-Reference: &lt;b9df5fa10907012240y356427b8ta4bd07f0efc6a049@mail.gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm</title>
<updated>2009-06-11T17:03:30Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2009-06-11T17:03:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6cd8e300b49332eb9eeda45816c711c198d31505'/>
<id>urn:sha1:6cd8e300b49332eb9eeda45816c711c198d31505</id>
<content type='text'>
* 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (138 commits)
  KVM: Prevent overflow in largepages calculation
  KVM: Disable large pages on misaligned memory slots
  KVM: Add VT-x machine check support
  KVM: VMX: Rename rmode.active to rmode.vm86_active
  KVM: Move "exit due to NMI" handling into vmx_complete_interrupts()
  KVM: Disable CR8 intercept if tpr patching is active
  KVM: Do not migrate pending software interrupts.
  KVM: inject NMI after IRET from a previous NMI, not before.
  KVM: Always request IRQ/NMI window if an interrupt is pending
  KVM: Do not re-execute INTn instruction.
  KVM: skip_emulated_instruction() decode instruction if size is not known
  KVM: Remove irq_pending bitmap
  KVM: Do not allow interrupt injection from userspace if there is a pending event.
  KVM: Unprotect a page if #PF happens during NMI injection.
  KVM: s390: Verify memory in kvm run
  KVM: s390: Sanity check on validity intercept
  KVM: s390: Unlink vcpu on destroy - v2
  KVM: s390: optimize float int lock: spin_lock_bh --&gt; spin_lock
  KVM: s390: use hrtimer for clock wakeup from idle - v2
  KVM: s390: Fix memory slot versus run - v3
  ...
</content>
</entry>
<entry>
<title>KVM: x86: paravirt skip pit-through-ioapic boot check</title>
<updated>2009-06-10T08:48:24Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2009-02-12T00:45:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a90ede7b17d122acd58e6e1ff911be9dcf5263cc'/>
<id>urn:sha1:a90ede7b17d122acd58e6e1ff911be9dcf5263cc</id>
<content type='text'>
Skip the test which checks if the PIT is properly routed when
using the IOAPIC, aimed at buggy hardware.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge commit 'origin/master' into for-linus/xen/master</title>
<updated>2009-04-07T20:34:16Z</updated>
<author>
<name>Jeremy Fitzhardinge</name>
</author>
<published>2009-04-07T20:34:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=38f4b8c0da01ae7cd9b93386842ce272d6fde9ab'/>
<id>urn:sha1:38f4b8c0da01ae7cd9b93386842ce272d6fde9ab</id>
<content type='text'>
* commit 'origin/master': (4825 commits)
  Fix build errors due to CONFIG_BRANCH_TRACER=y
  parport: Use the PCI IRQ if offered
  tty: jsm cleanups
  Adjust path to gpio headers
  KGDB_SERIAL_CONSOLE check for module
  Change KCONFIG name
  tty: Blackin CTS/RTS
  Change hardware flow control from poll to interrupt driven
  Add support for the MAX3100 SPI UART.
  lanana: assign a device name and numbering for MAX3100
  serqt: initial clean up pass for tty side
  tty: Use the generic RS485 ioctl on CRIS
  tty: Correct inline types for tty_driver_kref_get()
  splice: fix deadlock in splicing to file
  nilfs2: support nanosecond timestamp
  nilfs2: introduce secondary super block
  nilfs2: simplify handling of active state of segments
  nilfs2: mark minor flag for checkpoint created by internal operation
  nilfs2: clean up sketch file
  nilfs2: super block operations fix endian bug
  ...

Conflicts:
	arch/x86/include/asm/thread_info.h
	arch/x86/lguest/boot.c
	drivers/xen/manage.c
</content>
</entry>
<entry>
<title>x86/paravirt: flush pending mmu updates on context switch</title>
<updated>2009-03-30T06:36:00Z</updated>
<author>
<name>Jeremy Fitzhardinge</name>
</author>
<published>2009-02-18T07:46:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b407fc57b815b2016186220baabc76cc8264206e'/>
<id>urn:sha1:b407fc57b815b2016186220baabc76cc8264206e</id>
<content type='text'>
Impact: allow preemption during lazy mmu updates

If we're in lazy mmu mode when context switching, leave
lazy mmu mode, but remember the task's state in
TIF_LAZY_MMU_UPDATES.  When we resume the task, check this
flag and re-enter lazy mmu mode if its set.

This sets things up for allowing lazy mmu mode while preemptible,
though that won't actually be active until the next change.

Signed-off-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
Acked-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
</content>
</entry>
<entry>
<title>x86: with the last user gone, remove set_pte_present</title>
<updated>2009-03-19T13:04:19Z</updated>
<author>
<name>Jeremy Fitzhardinge</name>
</author>
<published>2009-03-18T20:03:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=71ff49d71bb5cfcd2689b54cb433c0e6990a1d86'/>
<id>urn:sha1:71ff49d71bb5cfcd2689b54cb433c0e6990a1d86</id>
<content type='text'>
Impact: cleanup

set_pte_present() is no longer used, directly or indirectly,
so remove it.

Signed-off-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
Cc: Xen-devel &lt;xen-devel@lists.xensource.com&gt;
Cc: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
Cc: Alok Kataria &lt;akataria@vmware.com&gt;
Cc: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Cc: Avi Kivity &lt;avi@redhat.com&gt;
LKML-Reference: &lt;1237406613-2929-2-git-send-email-jeremy@goop.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, paravirt_ops: use unsigned long instead of u32 for alloc_p*() pfn args</title>
<updated>2008-08-22T03:34:44Z</updated>
<author>
<name>Eduardo Habkost</name>
</author>
<published>2008-07-30T21:32:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f86399396ce7a4f4069828b7dceac5aa5113dfb5'/>
<id>urn:sha1:f86399396ce7a4f4069828b7dceac5aa5113dfb5</id>
<content type='text'>
This patch changes the pfn args from 'u32' to 'unsigned long'
on alloc_p*() functions on paravirt_ops, and the corresponding
implementations for Xen and VMI. The prototypes for CONFIG_PARAVIRT=n
are already using unsigned long, so paravirt.h now matches the prototypes
on asm-x86/pgalloc.h.

It shouldn't result in any changes on generated code on 32-bit, with
or without CONFIG_PARAVIRT. On both cases, 'codiff -f' didn't show any
change after applying this patch.

On 64-bit, there are (expected) binary changes only when CONFIG_PARAVIRT
is enabled, as the patch is really supposed to change the size of the
pfn args.

[ v2: KVM_GUEST: use the right parameter type on kvm_release_pt() ]

Signed-off-by: Eduardo Habkost &lt;ehabkost@redhat.com&gt;
Acked-by: Jeremy Fitzhardinge &lt;jeremy@goop.org&gt;
Acked-by: Zachary Amsden &lt;zach@vmware.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: KVM guest: hypercall batching</title>
<updated>2008-04-27T09:00:28Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2008-02-22T17:21:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=096d14a3b57e4a87d27be09cc64b4f84660acd08'/>
<id>urn:sha1:096d14a3b57e4a87d27be09cc64b4f84660acd08</id>
<content type='text'>
Batch pte updates and tlb flushes in lazy MMU mode.

[avi:
 - adjust to mmu_op
 - helper for getting para_state without debug warnings]

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>x86: KVM guest: hypercall based pte updates and TLB flushes</title>
<updated>2008-04-27T09:00:28Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2008-02-22T17:21:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1da8a77bdc294acdc37e8504926383b86f72d6be'/>
<id>urn:sha1:1da8a77bdc294acdc37e8504926383b86f72d6be</id>
<content type='text'>
Hypercall based pte updates are faster than faults, and also allow use
of the lazy MMU mode to batch operations.

Don't report the feature if two dimensional paging is enabled.

[avi:
 - guest/host split
 - fix 32-bit truncation issues
 - adjust to mmu_op
 - adjust to -&gt;release_*() renamed
 - add -&gt;release_pud()]

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
</feed>
