[EMAIL PROTECTED] wrote:
I've added Heiko's patch to my patchqueue. But since this is
drivers/s390/kvm this should go in over the kvm.git. See patch below.
Acked-by: Carsten Otte [EMAIL PROTECTED]
-
This SF.net email
Avi Kivity wrote:
Hollis/Xiantao/Carsten, can you confirm that this approach works for
you? Carsten, I believe you don't have mmio, but at least this
shouldn't interfere.
Should work fine on s390 afaics.
-
This SF.net
Randy Dunlap wrote:
Please use CPU consistently throughout the file (i.e., not cpu).
Thanks, will fix that with a patch that'll go on top.
-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this
.
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
arch/s390/kvm/interrupt.c |6 +-
drivers/s390/kvm/kvm_virtio.c |8 +++-
2 files changed, 12 insertions(+), 2 deletions(-)
Index: kvm/arch/s390/kvm/interrupt.c
Hi Avi,
these two fixes repair two things in kvm-s390:
- #1 makes kvm complile again on s390 after a common code change
- #2 changes our virtio interrupt definitions to the values that will
be reserved for kvm use in s390 architecture
I'd be great if both could make 2.6.26.
so long,
Carsten
to make kvm.git compile again.
As migration is not yet supported, the ioctl definitions are empty.
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
arch/s390/kvm/kvm-s390.c | 12
1 file changed, 12 insertions(+)
Index: kvm
Anthony Liguori wrote:
There is a 5th option. Do away with the use of posix aio. We get
absolutely no benefit from it because it's limited to a single thread.
Fabrice has reverted a patch to change that in the past.
How about using linux aio for it? It seems much better, because it
Avi Kivity wrote:
Why?
This one does'nt work for us. Our arch defines various reasons why we
would not fall asleep but do something else, and we need to check them
while in atomic of a lock that other archs don't have before sleeping.
See kvm_s390_handle_wait in arch/s390/kvm/interrupt.c.
Avi Kivity wrote:
Anthony Liguori wrote:
BTW, when we set O_ASYNC on the tap fd, we're eliminating O_NONBLOCK.
This means that we have to poll loop select() when readv()'ing packets
instead of just reading until hitting AGAIN. This means at least an
extra syscall per packet.
I didn't
Avi Kivity wrote:
@@ -765,6 +766,7 @@ void kvm_vcpu_block(struct kvm_vcpu *vcp
This breaks ia64 (and shouldn't s390 use this too?)
* We will block until either an interrupt or a signal wakes us up
*/
while (!kvm_cpu_has_interrupt(vcpu)
+
From: Heiko Carstens [EMAIL PROTECTED]
Just a few codingstyle issues that have already been
commented on but that somehow got forgotten.
Signed-off-by: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
arch/s390/kvm/gaccess.h | 18 ++
arch
From: Heiko Carstens [EMAIL PROTECTED]
Temporarily rename this function to avoid merge conflicts and/or
dependencies. This function will be removed as soon as git-s390
and kvm.git are finally upstream.
Signed-off-by: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED
From: Heiko Carstens [EMAIL PROTECTED]
There is no need to use interlocked updates when the rcp
lock is held. Therefore the simple bitops variants can be
used. This should improve performance.
Signed-off-by: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED
Hi Avi,
looks like Heiko played around with kvm a bit :-):
01/04: cosmetics, including part of Arnd's review feedback
02/04: bugfix, if KVM_VCPU_IOCTL_RUN got interrupted by signal
03/04: performance improvement with our pgste memory handling
04/04: resolve merge conflict in linux-next kvm.git
From: Heiko Carstens [EMAIL PROTECTED]
There is no need to use interlocked updates when the rcp
lock is held. Therefore the simple bitops variants can be
used. This should improve performance.
Signed-off-by: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED
[EMAIL PROTECTED] wrote:
Major formatting accident ?
Ops! How did that happen? Thanks, will resend that patch.
-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just
Zhang, Xiantao wrote:
Carsten Otte wrote:
Zhang, Xiantao wrote:
+/* mca_insert_tr
+ *
+ * Switch rid when TR reload and needed!
+ * iord: 1: itr, 2: itr;
+ *
+*/
+static void mca_insert_tr(u64 iord)
+{
+
+ int i;
+ u64 old_rr;
+ struct ia64_tr_entry *p;
+ unsigned long
Zhang, Xiantao wrote:
Hi, Carsten
Why do you think it is racy? In this function,
target_vcpu-arch.launched should be set to 1 for the first run, and
keep its value all the time. Except the first IPI to wake up the vcpu,
all IPIs received by target vcpu should go into else condition.
Zhang, Xiantao wrote:
Carsten Otte wrote:
Zhang, Xiantao wrote:
Hi, Carsten
Why do you think it is racy? In this function,
target_vcpu-arch.launched should be set to 1 for the first run, and
keep its value all the time. Except the first IPI to wake up the
vcpu, all IPIs received
Zhang, Xiantao wrote:
Carsten Otte wrote:
Zhang, Xiantao wrote:
Carsten Otte wrote:
Zhang, Xiantao wrote:
Hi, Carsten
Why do you think it is racy? In this function,
target_vcpu-arch.launched should be set to 1 for the first run,
and keep its value all the time. Except the first IPI
Zhang, Xiantao wrote:
+/* mca_insert_tr
+ *
+ * Switch rid when TR reload and needed!
+ * iord: 1: itr, 2: itr;
+ *
+*/
+static void mca_insert_tr(u64 iord)
+{
+
+ int i;
+ u64 old_rr;
+ struct ia64_tr_entry *p;
+ unsigned long psr;
+ int cpu =
Zhang, Xiantao wrote:
+typedef union context {
+ /* 8K size */
+ chardummy[KVM_CONTEXT_SIZE];
+ struct {
+ unsigned long psr;
+ unsigned long pr;
+ unsigned long caller_unat;
+ unsigned long pad;
+
Zhang, Xiantao wrote:
+static struct kvm_vcpu *lid_to_vcpu(struct kvm *kvm, unsigned long id,
+ unsigned long eid)
+{
+ ia64_lid_t lid;
+ int i;
+
+ for (i = 0; i KVM_MAX_VCPUS; i++) {
+ if (kvm-vcpus[i]) {
+ lid.val =
+/**
+ VCPU control register access routines
+
**/
+static inline u64 vcpu_get_itir(VCPU *vcpu)
+{
+ return ((u64)VCPU(vcpu, itir));
+}
Avi Kivity wrote:
Well, dup_mm() can't work (and now that I think about it, for more
reasons -- what if the process has threads?).
We lock out multithreaded users already, -EINVAL.
-
This SF.net email is sponsored by:
Am Freitag, den 21.03.2008, 11:29 -0700 schrieb Dave Hansen:
What you've done with dup_mm() is probably the brute-force way that I
would have done it had I just been trying to make a proof of concept or
something. I'm worried that there are a bunch of corner cases that
haven't been
From: Martin Schwidefsky [EMAIL PROTECTED]
From: Carsten Otte [EMAIL PROTECTED]
The SIE instruction on s390 uses the 2nd half of the page table page to
virtualize the storage keys of a guest. This patch offers the s390_enable_sie
function, which reorganizes the page tables of a single-threaded
Many thanks for the review feedback we have received so far,
and many thanks to Andrew for reviewing our common code memory
management changes. I do greatly appreciate that :-).
All important parts have been reviewed, all review feedback has been
integrated in the code. Therefore we would like to
for s390 in the host mapping. These
mapping must be checked before page_test_and_clear_young resets the reference
bit.
Signed-off-by: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Carsten Otte
Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
include/asm-s390/lowcore.h | 15 ++-
1 file changed, 10 insertions(+), 5 deletions(-)
Index: kvm/include/asm-s390/lowcore.h
===
--- kvm.orig
, this patch splits the common definitions from
sysinfo.c into a separate header file include/asm-s390/sysinfo.h for KVM use.
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
drivers/s390/sysinfo.c
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
From: Heiko Carstens [EMAIL PROTECTED]
This patch contains the port of Qumranet's kvm kernel module to IBM zSeries
(aka s390x, mainframe) architecture. It uses the mainframe's virtualization
instruction SIE to run
From: Carsten Otte [EMAIL PROTECTED]
This patch contains the s390 interrupt subsystem (similar to in kernel apic)
including timer interrupts (similar to in-kernel-pit) and enabled wait
(similar to in kernel hlt).
In order to achieve that, this patch also introduces intercept handling
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch introduces in-kernel handling of some intercepts for privileged
instructions:
handle_set_prefix()sets the prefix register of the local cpu
handle_store_prefix() stores the content
From: Carsten Otte [EMAIL PROTECTED]
This patch adds Documentation/s390/kvm.txt, which describes specifics of kvm's
user interface that are unique to s390 architecture.
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
Documentation/s390/kvm.txt | 125
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch introduces in-kernel handling of _some_ sigp interprocessor
signals (similar to ipi).
kvm_s390_handle_sigp() decodes the sigp instruction and calls individual
handlers depending on the operation
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This path introduces handling of sie intercepts in three flavors: Intercepts
are either handled completely in-kernel by kvm_handle_sie_intercept(),
or passed to userspace with corresponding data in struct kvm_run
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch introduces interpretation of some diagnose instruction intercepts.
Diagnose is our classic architected way of doing a hypercall. This patch
features the following diagnose codes:
- vm storage size
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch adds the virtualization submenu and the kvm option to the kernel
config. It also defines HAVE_KVM for 64bit kernels.
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Christian Borntraeger
for the parameters.
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
drivers/s390/Makefile |2
drivers/s390/kvm/Makefile |9 +
drivers/s390/kvm/kvm_virtio.c | 332
From: Christian Borntraeger [EMAIL PROTECTED]
From: Carsten Otte [EMAIL PROTECTED]
This patch adds functionality to detect if the kernel runs under the KVM
hypervisor. A macro MACHINE_IS_KVM is exported for device drivers. This
allows drivers to skip device detection if the systems runs non
From: Christian Borntraeger [EMAIL PROTECTED]
This patch adds an entry for kvm on s390 to the MAINTAINERS file :-). We intend
to push all patches regarding this via Avi's kvm.git.
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED
Rusty Russell wrote:
On Friday 21 March 2008 19:15:47 Christian Borntraeger wrote:
Am Freitag, 21. März 2008 schrieb Rusty Russell:
Hmm, panic on device_register fail, but -ENOMEM on add_shared_memory
fail? My theory was that since this is boot time, panic() is the right
thing.
Good spot,
Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
include/asm-s390/lowcore.h | 15 ++-
1 file changed, 10 insertions(+), 5 deletions(-)
Index: kvm/include/asm-s390/lowcore.h
===
--- kvm.orig
for s390 in the host mapping. These
mapping must be checked before page_test_and_clear_young resets the reference
bit.
Signed-off-by: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Carsten Otte
, this patch splits the common definitions from
sysinfo.c into a separate header file include/asm-s390/sysinfo.h for KVM use.
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
drivers/s390/sysinfo.c
-by: Carsten Otte [EMAIL PROTECTED]
---
arch/s390/Kconfig |4 +++
arch/s390/kernel/setup.c |4 +++
arch/s390/mm/pgtable.c | 53 ++---
include/asm-s390/mmu.h |1
include/asm-s390/mmu_context.h |8 +-
include
From: Carsten Otte [EMAIL PROTECTED]
This patch contains the s390 interrupt subsystem (similar to in kernel apic)
including timer interrupts (similar to in-kernel-pit) and enabled wait
(similar to in kernel hlt).
In order to achieve that, this patch also introduces intercept handling
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This path introduces handling of sie intercepts in three flavors: Intercepts
are either handled completely in-kernel by kvm_handle_sie_intercept(),
or passed to userspace with corresponding data in struct kvm_run
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch introduces in-kernel handling of _some_ sigp interprocessor
signals (similar to ipi).
kvm_s390_handle_sigp() decodes the sigp instruction and calls individual
handlers depending on the operation
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
From: Heiko Carstens [EMAIL PROTECTED]
This patch contains the port of Qumranet's kvm kernel module to IBM zSeries
(aka s390x, mainframe) architecture. It uses the mainframe's virtualization
instruction SIE to run
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch introduces interpretation of some diagnose instruction intercepts.
Diagnose is our classic architected way of doing a hypercall. This patch
features the following diagnose codes:
- vm storage size
From: Christian Borntraeger [EMAIL PROTECTED]
This patch adds an entry for kvm on s390 to the MAINTAINERS file :-). We intend
to push all patches regarding this via Avi's kvm.git.
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED
From: Carsten Otte [EMAIL PROTECTED]
This patch adds Documentation/s390/kvm.txt, which describes specifics of kvm's
user interface that are unique to s390 architecture.
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
Documentation/s390/kvm.txt | 125
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch adds the virtualization submenu and the kvm option to the kernel
config. It also defines HAVE_KVM for 64bit kernels.
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Christian Borntraeger
From: Christian Borntraeger [EMAIL PROTECTED]
From: Carsten Otte [EMAIL PROTECTED]
This patch adds functionality to detect if the kernel runs under the KVM
hypervisor. A macro MACHINE_IS_KVM is exported for device drivers. This
allows drivers to skip device detection if the systems runs non
for the parameters.
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
drivers/s390/Makefile |2
drivers/s390/kvm/Makefile |9 +
drivers/s390/kvm/kvm_virtio.c | 326
This patch series introduces a backend for kvm to run on IBM System z
machines (aka s390x) that uses the mainframe's sie virtualization
capability. Many thanks for the review feedback we have received so far,
I do greatly appreciate it!
The first submission didn't draw much attention of elder vm
Rusty Russell wrote:
+static int __init kvm_devices_init(void)
+{
+if (!MACHINE_IS_KVM)
+return -ENODEV;
+
+if (device_register(kvm_root) != 0)
+panic(Could not register kvm root);
+
+if (add_shared_memory((max_pfn) PAGE_SHIFT, PAGE_SIZE)) {
+
[EMAIL PROTECTED] wrote:
Since when do we have symbolic names for the bits?
It was always on my todo list to do a cleanup and replace the numbers
we use everywhere with names. Especially since we have clashes from time
to time... but that didn't hurt enough yet, obviously.
But now that you
Avi Kivity wrote:
Carsten Otte wrote:
Hollis Blanchard wrote:
On Thu, 2008-03-20 at 17:24 +0100, Carsten Otte wrote:
Index: kvm/include/linux/kvm_host.h
===
--- kvm.orig/include/linux/kvm_host.h
+++ kvm/include/linux
Avi Kivity wrote:
Carsten Otte wrote:
/* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */
struct kvm_run {
@@ -138,6 +139,14 @@ struct kvm_run {
__u32 is_write;
__u32 pad;
} tpr_access;
+/* KVM_EXIT_S390_SIEIC */
+struct
Randy Dunlap wrote:
This means that [no comma]
snip
Being a native speaker is cheating ;-). I've integrated your feedback,
for the next round of sending out these patches. Thank you :-).
-
This SF.net email is sponsored
Avi Kivity wrote:
Carsten Otte wrote:
This patch series introduces a backend for kvm to run on IBM System z
machines that uses the mainframe's sie virtualization capability. This
work runs 64bit guests on z800/z890/z900/z990/z9/z10 class machines with
a 64bit linux host. Userspace will follow
Am Freitag, den 21.03.2008, 15:06 +0100 schrieb Heiko Carstens:
Just introduce something like MACHINE_FLAG_KVM. The rest can be converted
later. Unless you're bored and feel like fiddling around with assembly code :)
I've done that patch this morning already, see below. I agree with HCH
that we
Dave Hansen wrote:
On Thu, 2008-03-20 at 21:35 +0100, Carsten Otte wrote:
Dave Hansen wrote:
Well, and more fundamentally: do we really want dup_mm() able to be
called from other code?
Maybe we need a bit more detailed justification why fork() itself isn't
good enough. It looks to me like
.
This patch has a small common code hit, namely making dup_mm non-static.
Signed-off-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
arch/s390/Kconfig |4 ++
arch/s390/kernel/setup.c |4 ++
arch/s390/mm/pgtable.c | 55
for s390 in the host mapping. These
mapping must be checked before page_test_and_clear_young resets the reference
bit.
Signed-off-by: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Carsten Otte
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
From: Heiko Carstens [EMAIL PROTECTED]
This patch contains the port of Qumranet's kvm kernel module to IBM zSeries
(aka s390x, mainframe) architecture. It uses the mainframe's virtualization
instruction SIE to run
, this patch splits the common definitions from
sysinfo.c into a separate header file include/asm-s390/sysinfo.h for KVM use.
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
drivers/s390/sysinfo.c
Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
include/asm-s390/lowcore.h | 15 ++-
1 file changed, 10 insertions(+), 5 deletions(-)
Index: kvm/include/asm-s390/lowcore.h
===
--- kvm.orig
From: Carsten Otte [EMAIL PROTECTED]
This patch contains the s390 interrupt subsystem (similar to in kernel apic)
including timer interrupts (similar to in-kernel-pit) and enabled wait
(similar to in kernel hlt).
In order to achieve that, this patch also introduces intercept handling
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch introduces in-kernel handling of _some_ sigp interprocessor
signals (similar to ipi).
kvm_s390_handle_sigp() decodes the sigp instruction and calls individual
handlers depending on the operation
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch introduces interpretation of some diagnose instruction intercepts.
Diagnose is our classic architected way of doing a hypercall. This patch
features the following diagnose codes:
- vm storage size
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch adds the virtualization submenu and the kvm option to the kernel
config. It also defines HAVE_KVM for 64bit kernels.
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Christian Borntraeger
From: Carsten Otte [EMAIL PROTECTED]
This patch adds Documentation/s390/kvm.txt, which describes specifics of kvm's
user interface that are unique to s390 architecture.
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
Documentation/s390/kvm.txt | 125
From: Christian Borntraeger [EMAIL PROTECTED]
This patch adds an entry for kvm on s390 to the MAINTAINERS file :-). We intend
to push all patches regarding this via Avi's kvm.git.
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED
From: Christian Borntraeger [EMAIL PROTECTED]
From: Carsten Otte [EMAIL PROTECTED]
This patch adds functionality to detect if the kernel runs under the KVM
hypervisor. A macro MACHINE_IS_KVM is exported for device drivers. This
allows drivers to skip device detection if the systems runs non
for the parameters.
Signed-off-by: Christian Borntraeger [EMAIL PROTECTED]
Acked-by: Martin Schwidefsky [EMAIL PROTECTED]
Signed-off-by: Carsten Otte [EMAIL PROTECTED]
---
drivers/s390/Makefile |2
drivers/s390/kvm/Makefile |9 +
drivers/s390/kvm/kvm_virtio.c | 326
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This patch introduces in-kernel handling of some intercepts for privileged
instructions:
handle_set_prefix()sets the prefix register of the local cpu
handle_store_prefix() stores the content
From: Carsten Otte [EMAIL PROTECTED]
From: Christian Borntraeger [EMAIL PROTECTED]
This path introduces handling of sie intercepts in three flavors: Intercepts
are either handled completely in-kernel by kvm_handle_sie_intercept(),
or passed to userspace with corresponding data in struct kvm_run
Hollis Blanchard wrote:
On Thu, 2008-03-20 at 17:24 +0100, Carsten Otte wrote:
Index: kvm/include/linux/kvm_host.h
===
--- kvm.orig/include/linux/kvm_host.h
+++ kvm/include/linux/kvm_host.h
@@ -24,7 +24,11 @@
#include asm
Randy Dunlap wrote:
Index: kvm/arch/s390/kernel/early.c
===
--- kvm.orig/arch/s390/kernel/early.c
+++ kvm/arch/s390/kernel/early.c
@@ -143,6 +143,10 @@ static noinline __init void detect_machi
/* Running on a P/390 ? */
Dave Hansen wrote:
Well, and more fundamentally: do we really want dup_mm() able to be
called from other code?
Maybe we need a bit more detailed justification why fork() itself isn't
good enough. It looks to me like they basically need an arch-specific
argument to fork, telling the new
Christoph Hellwig wrote:
On Thu, Mar 20, 2008 at 05:25:26PM +0100, Carsten Otte wrote:
@@ -143,6 +143,10 @@ static noinline __init void detect_machi
/* Running on a P/390 ? */
if (cpuinfo-cpu_id.machine == 0x7490)
machine_flags |= 4;
+
+/* Running under KVM
Christoph Hellwig wrote:
On Thu, Mar 20, 2008 at 09:37:19PM +0100, Carsten Otte wrote:
Christoph Hellwig wrote:
On Thu, Mar 20, 2008 at 05:25:26PM +0100, Carsten Otte wrote:
@@ -143,6 +143,10 @@ static noinline __init void detect_machi
/* Running on a P/390 ? */
if (cpuinfo
Carsten Otte wrote:
We do. For now, kvm_create_vcpu does create a cpu from a template.
However our hardware control block allows to enable/disable various
features. I would imagine that future userspace may want something
different than the stock default values, and therefore a parameter
Christian Ehrhardt wrote:
This should work for other architectures too. While we need to specify
cpu cores here others might specify something completely different with
the same interface.
So kvm_vcpu_create_type might be misleading while something like
kvm_vcpu_create_info might be more
Joerg Roedel wrote:
Since NPT uses the host page table format it is in theory possible to
add the pagetable to the Linux MM rmap. In this case it would not be
necessary to use MMU notifiers. But I think this would complicate the
NPT support code significantly.
I was hoping for a nearest
Andrea Arcangeli wrote:
Oh I see! So when linux pte is cleared, the NPT equivalent is
implicitly and atomically cleared too. That really requires _identical_
semantics and formats for both pagetables.
Bingo. We have that on s390, and it seems workable on npt too.
That problem is quite easily
Avi Kivity wrote:
Carsten Otte wrote:
We have similar restrictions than you're naming here. Our guest may
start at a (userspace-) page boundary, and has a fixed 1:1 mapping to
userspace for a given length. We do that by just having one memory
slot which has to start at virtual address zero
Andrea Arcangeli wrote:
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index ea4764b..9349160 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -15,6 +15,7 @@
#include linux/sched.h
#include linux/mm.h
#include linux/preempt.h
+#include
Andrea Arcangeli wrote:
Didn't realize s390 doesn't need those at all. Do you think
mmu_notifier.h should also go in asm/mmu_notifier? We can always move
them there later after merging with some compat code if needed.
No I think mmu_notifier.h is fine in include/linux. I just think kvm
should
Avi Kivity wrote:
Every arch except s390 needs it. An ugly #ifndef
CONFIG_KVM_HARDWARE_TLB_SYNC is preferred to duplicating the code.
Yea I guess you've got a point there. The struct should be in struct
kvm, but the call to initialize/destroy it should go out to arch_init.
Andrea Arcangeli wrote:
Well I already moved that bit to x86, at least that had a good reason
for being moved there, it's really invisible code to s390. The memslot
are all but invisible to s390 instead, and so the locking rules of the
memslots should be common as long as memslots remains a
Avi Kivity wrote:
Every arch except s390 needs it. An ugly #ifndef
CONFIG_KVM_HARDWARE_TLB_SYNC is preferred to duplicating the code.
BTW, from reading AMDs spec I don't expect NPT to need this vehicle
for swapping either. They can just let core-vm page out guest pages
and will receive a
Avi Kivity wrote:
Too much Kconfig for this. Since I want to do some Kconfig changes
anyway, I'll do this another way.
I think you overlooked something here. Actually this should change too
if we don't have pio:
-...case KVM_GET_VCPU_MMAP_SIZE:
-...-...r = -EINVAL;
Andrea Arcangeli wrote:
On Tue, Jan 22, 2008 at 04:38:49PM +0200, Avi Kivity wrote:
Andrea Arcangeli wrote:
This is arch independent code, I'm surprised mmu_lock is visible here?
The mmu_lock is arch independent as far as I can tell. Pretty much
like the mm-page_table_lock is also
Jan Kiszka wrote:
The PIT may not be limited to x86 platforms. So I would propose to make
the setup more generic and flexible. And I would move the code out of
arch/x86, just the speaker support should remain there.
It should also not be common among all archs. On s390 we have CPU
timer, which
Zhang, Xiantao wrote:
I don't think this is a issue. Since this makefile is located at
arch/{$arch}/kvm. So, you can choose to include it or not.
That is, you can define your own common objs.
Ah :-). Thanks for the explanation.
1 - 100 of 267 matches
Mail list logo