* [PATCH] kvm compat patch
@ 2007-02-02 1:47 Markus Rechberger
[not found] ` <45C29834.4020107-5C7GfCeVMHo@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Markus Rechberger @ 2007-02-02 1:47 UTC (permalink / raw)
To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
[-- Attachment #1: Type: text/plain, Size: 236 bytes --]
This patch fixes the mutex, page and kzalloc problems with older kernels.
Signed-off-by: Markus Rechberger <markus.rechberger-5C7GfCeVMHo@public.gmane.org>
--
Markus Rechberger
Operating System Research Center
AMD Saxony LLC & Co. KG
[-- Attachment #2: kvm-kernel-2.6.15.7.diff --]
[-- Type: text/x-patch, Size: 5409 bytes --]
Index: mmu.c
===================================================================
--- mmu.c (revision 4381)
+++ mmu.c (working copy)
@@ -298,18 +298,18 @@
if (!is_rmap_pte(*spte))
return;
page = pfn_to_page((*spte & PT64_BASE_ADDR_MASK) >> PAGE_SHIFT);
- if (!page->private) {
+ if (!page_private(page)) {
rmap_printk("rmap_add: %p %llx 0->1\n", spte, *spte);
- page->private = (unsigned long)spte;
- } else if (!(page->private & 1)) {
+ set_page_private(page,(unsigned long)spte);
+ } else if (!(page_private(page) & 1)) {
rmap_printk("rmap_add: %p %llx 1->many\n", spte, *spte);
desc = mmu_alloc_rmap_desc(vcpu);
- desc->shadow_ptes[0] = (u64 *)page->private;
+ desc->shadow_ptes[0] = (u64 *)page_private(page);
desc->shadow_ptes[1] = spte;
- page->private = (unsigned long)desc | 1;
+ set_page_private(page,(unsigned long)desc | 1);
} else {
rmap_printk("rmap_add: %p %llx many->many\n", spte, *spte);
- desc = (struct kvm_rmap_desc *)(page->private & ~1ul);
+ desc = (struct kvm_rmap_desc *)(page_private(page) & ~1ul);
while (desc->shadow_ptes[RMAP_EXT-1] && desc->more)
desc = desc->more;
if (desc->shadow_ptes[RMAP_EXT-1]) {
@@ -337,12 +337,12 @@
if (j != 0)
return;
if (!prev_desc && !desc->more)
- page->private = (unsigned long)desc->shadow_ptes[0];
+ set_page_private(page,(unsigned long)desc->shadow_ptes[0]);
else
if (prev_desc)
prev_desc->more = desc->more;
else
- page->private = (unsigned long)desc->more | 1;
+ set_page_private(page,(unsigned long)desc->more | 1);
mmu_free_rmap_desc(vcpu, desc);
}
@@ -356,20 +356,20 @@
if (!is_rmap_pte(*spte))
return;
page = pfn_to_page((*spte & PT64_BASE_ADDR_MASK) >> PAGE_SHIFT);
- if (!page->private) {
+ if (!page_private(page)) {
printk(KERN_ERR "rmap_remove: %p %llx 0->BUG\n", spte, *spte);
BUG();
- } else if (!(page->private & 1)) {
+ } else if (!(page_private(page) & 1)) {
rmap_printk("rmap_remove: %p %llx 1->0\n", spte, *spte);
- if ((u64 *)page->private != spte) {
+ if ((u64 *)page_private(page) != spte) {
printk(KERN_ERR "rmap_remove: %p %llx 1->BUG\n",
spte, *spte);
BUG();
}
- page->private = 0;
+ set_page_private(page,0);
} else {
rmap_printk("rmap_remove: %p %llx many->many\n", spte, *spte);
- desc = (struct kvm_rmap_desc *)(page->private & ~1ul);
+ desc = (struct kvm_rmap_desc *)(page_private(page) & ~1ul);
prev_desc = NULL;
while (desc) {
for (i = 0; i < RMAP_EXT && desc->shadow_ptes[i]; ++i)
@@ -398,11 +398,11 @@
BUG_ON(!slot);
page = gfn_to_page(slot, gfn);
- while (page->private) {
- if (!(page->private & 1))
- spte = (u64 *)page->private;
+ while (page_private(page)) {
+ if (!(page_private(page) & 1))
+ spte = (u64 *)page_private(page);
else {
- desc = (struct kvm_rmap_desc *)(page->private & ~1ul);
+ desc = (struct kvm_rmap_desc *)(page_private(page) & ~1ul);
spte = desc->shadow_ptes[0];
}
BUG_ON(!spte);
@@ -1218,7 +1218,7 @@
INIT_LIST_HEAD(&page_header->link);
if ((page = alloc_page(GFP_KERNEL)) == NULL)
goto error_1;
- page->private = (unsigned long)page_header;
+ set_page_private(page, (unsigned long)page_header);
page_header->page_hpa = (hpa_t)page_to_pfn(page) << PAGE_SHIFT;
memset(__va(page_header->page_hpa), 0, PAGE_SIZE);
list_add(&page_header->link, &vcpu->free_pages);
Index: kvm_main.c
===================================================================
--- kvm_main.c (revision 4381)
+++ kvm_main.c (working copy)
@@ -674,7 +674,7 @@
| __GFP_ZERO);
if (!new.phys_mem[i])
goto out_free;
- new.phys_mem[i]->private = 0;
+ set_page_private(new.phys_mem[i],0);
}
}
Index: kvm.h
===================================================================
--- kvm.h (revision 4381)
+++ kvm.h (working copy)
@@ -8,7 +8,9 @@
#include <linux/types.h>
#include <linux/list.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include <linux/spinlock.h>
#include <linux/mm.h>
@@ -225,7 +227,11 @@
struct vmcs *vmcs;
struct vcpu_svm *svm;
};
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
struct mutex mutex;
+#else
+ struct semaphore mutex;
+#endif
int cpu;
int launched;
int interrupt_window_open;
@@ -531,7 +537,10 @@
{
struct page *page = pfn_to_page(shadow_page >> PAGE_SHIFT);
- return (struct kvm_mmu_page *)page->private;
+ return (struct kvm_mmu_page *)page_private(page);
+#if 0
+ page->private;
+#endif
}
static inline u16 read_fs(void)
Index: external-module-compat.h
===================================================================
--- external-module-compat.h (revision 4381)
+++ external-module-compat.h (working copy)
@@ -72,6 +72,27 @@
* The cpu hotplug stubs are broken if !CONFIG_CPU_HOTPLUG
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,15)
+#define DEFINE_MUTEX(a) DECLARE_MUTEX(a)
+#define mutex_lock_interruptible(a) down_interruptible(a)
+#define mutex_unlock(a) up(a)
+#define mutex_lock(a) down(a)
+#define mutex_init(a) init_MUTEX(a)
+#define mutex_trylock(a) down_trylock(a)
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
+#ifndef kzalloc
+#define kzalloc(size,flags) \
+({ \
+ void *__ret = kmalloc(size, flags); \
+ if (__ret)
+ memset(__ret, 0, size);
+ __ret;
+})
+#endif
+#endif
+
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)
#ifndef CONFIG_HOTPLUG_CPU
[-- Attachment #3: Type: text/plain, Size: 374 bytes --]
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
[-- Attachment #4: Type: text/plain, Size: 186 bytes --]
_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kvm compat patch
[not found] ` <45C29834.4020107-5C7GfCeVMHo@public.gmane.org>
@ 2007-02-04 9:35 ` Avi Kivity
[not found] ` <45C5A8ED.2010402-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Avi Kivity @ 2007-02-04 9:35 UTC (permalink / raw)
To: Markus Rechberger; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Markus Rechberger wrote:
> This patch fixes the mutex, page and kzalloc problems with older kernels.
>
> Signed-off-by: Markus Rechberger <markus.rechberger-5C7GfCeVMHo@public.gmane.org>
>
>
The page_private() and kzalloc() stuff looks good, I can apply it. But:
> Index: kvm.h
> ===================================================================
> --- kvm.h (revision 4381)
> +++ kvm.h (working copy)
> @@ -8,7 +8,9 @@
>
> #include <linux/types.h>
> #include <linux/list.h>
> +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
> #include <linux/mutex.h>
> +#endif
>
Checks on kernel version are (usually) not accepted in mainline. I
think I can cook up some Makefile magic to work around the #include though.
> #include <linux/spinlock.h>
> #include <linux/mm.h>
>
> @@ -225,7 +227,11 @@
> struct vmcs *vmcs;
> struct vcpu_svm *svm;
> };
> +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
> struct mutex mutex;
> +#else
> + struct semaphore mutex;
> +#endif
>
'#define mutex semaphore' in external-module-comapt.h, please.
> +#if 0
> + page->private;
> +#endif
>
Please delete.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kvm compat patch
[not found] ` <45C5A8ED.2010402-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
@ 2007-02-04 9:41 ` Muli Ben-Yehuda
[not found] ` <20070204094159.GG3570-k73YwwB0fHlWk0Htik3J/w@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Muli Ben-Yehuda @ 2007-02-04 9:41 UTC (permalink / raw)
To: Avi Kivity; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Markus Rechberger
On Sun, Feb 04, 2007 at 11:35:41AM +0200, Avi Kivity wrote:
> Markus Rechberger wrote:
> > This patch fixes the mutex, page and kzalloc problems with older kernels.
> >
> > Signed-off-by: Markus Rechberger <markus.rechberger-5C7GfCeVMHo@public.gmane.org>
> >
> >
>
> The page_private() and kzalloc() stuff looks good, I can apply it. But:
>
> > Index: kvm.h
> > ===================================================================
> > --- kvm.h (revision 4381)
> > +++ kvm.h (working copy)
> > @@ -8,7 +8,9 @@
> >
> > #include <linux/types.h>
> > #include <linux/list.h>
> > +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
> > #include <linux/mutex.h>
> > +#endif
> >
>
> Checks on kernel version are (usually) not accepted in mainline. I
> think I can cook up some Makefile magic to work around the #include
> though.
They're never accepted. They might slip through the cracks if no one
reviews the patch thoroughly enough.
Cheers,
Muli
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kvm compat patch
[not found] ` <20070204094159.GG3570-k73YwwB0fHlWk0Htik3J/w@public.gmane.org>
@ 2007-02-04 10:06 ` Avi Kivity
[not found] ` <45C5B01D.4060903-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Avi Kivity @ 2007-02-04 10:06 UTC (permalink / raw)
To: Muli Ben-Yehuda
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Markus Rechberger
Muli Ben-Yehuda wrote:
>>
>> Checks on kernel version are (usually) not accepted in mainline. I
>> think I can cook up some Makefile magic to work around the #include
>> though.
>>
>
> They're never accepted. They might slip through the cracks if no one
> reviews the patch thoroughly enough.
>
>
[avi@firebolt linux-2.6]$ find drivers/ -type f -name '*.[ch]' | xargs
cat | grep -c LINUX_VERSION_CODE
98
I've no intention of pursuing that path though.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kvm compat patch
[not found] ` <45C5B01D.4060903-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
@ 2007-02-05 14:57 ` Markus Rechberger
[not found] ` <45C745E7.6000800-5C7GfCeVMHo@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Markus Rechberger @ 2007-02-05 14:57 UTC (permalink / raw)
To: Avi Kivity; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
[-- Attachment #1: Type: text/plain, Size: 880 bytes --]
Avi Kivity wrote:
> Muli Ben-Yehuda wrote:
>>>
>>> Checks on kernel version are (usually) not accepted in mainline. I
>>> think I can cook up some Makefile magic to work around the #include
>>> though.
>>>
>>
>> They're never accepted. They might slip through the cracks if no one
>> reviews the patch thoroughly enough.
>>
>>
> [avi@firebolt linux-2.6]$ find drivers/ -type f -name '*.[ch]' |
> xargs cat | grep -c LINUX_VERSION_CODE
> 98
>
> I've no intention of pursuing that path though.
>
We simply parse such things out of the sources in the video4linux
project before submitting the code to the upstream kernel
Attached another patch, I haven't touched the LINUX_VERSION_CODE include
check in kvm.h
Signed-off-by: Markus Rechberger <markus.rechberger-5C7GfCeVMHo@public.gmane.org>
--
Markus Rechberger
Operating System Research Center
AMD Saxony LLC & Co. KG
[-- Attachment #2: kvm-compat.diff --]
[-- Type: text/x-patch, Size: 5216 bytes --]
Index: mmu.c
===================================================================
--- mmu.c (Revision 4384)
+++ mmu.c (Arbeitskopie)
@@ -298,18 +298,18 @@
if (!is_rmap_pte(*spte))
return;
page = pfn_to_page((*spte & PT64_BASE_ADDR_MASK) >> PAGE_SHIFT);
- if (!page->private) {
+ if (!page_private(page)) {
rmap_printk("rmap_add: %p %llx 0->1\n", spte, *spte);
- page->private = (unsigned long)spte;
- } else if (!(page->private & 1)) {
+ set_page_private(page,(unsigned long)spte);
+ } else if (!(page_private(page) & 1)) {
rmap_printk("rmap_add: %p %llx 1->many\n", spte, *spte);
desc = mmu_alloc_rmap_desc(vcpu);
- desc->shadow_ptes[0] = (u64 *)page->private;
+ desc->shadow_ptes[0] = (u64 *)page_private(page);
desc->shadow_ptes[1] = spte;
- page->private = (unsigned long)desc | 1;
+ set_page_private(page,(unsigned long)desc | 1);
} else {
rmap_printk("rmap_add: %p %llx many->many\n", spte, *spte);
- desc = (struct kvm_rmap_desc *)(page->private & ~1ul);
+ desc = (struct kvm_rmap_desc *)(page_private(page) & ~1ul);
while (desc->shadow_ptes[RMAP_EXT-1] && desc->more)
desc = desc->more;
if (desc->shadow_ptes[RMAP_EXT-1]) {
@@ -337,12 +337,12 @@
if (j != 0)
return;
if (!prev_desc && !desc->more)
- page->private = (unsigned long)desc->shadow_ptes[0];
+ set_page_private(page,(unsigned long)desc->shadow_ptes[0]);
else
if (prev_desc)
prev_desc->more = desc->more;
else
- page->private = (unsigned long)desc->more | 1;
+ set_page_private(page,(unsigned long)desc->more | 1);
mmu_free_rmap_desc(vcpu, desc);
}
@@ -356,20 +356,20 @@
if (!is_rmap_pte(*spte))
return;
page = pfn_to_page((*spte & PT64_BASE_ADDR_MASK) >> PAGE_SHIFT);
- if (!page->private) {
+ if (!page_private(page)) {
printk(KERN_ERR "rmap_remove: %p %llx 0->BUG\n", spte, *spte);
BUG();
- } else if (!(page->private & 1)) {
+ } else if (!(page_private(page) & 1)) {
rmap_printk("rmap_remove: %p %llx 1->0\n", spte, *spte);
- if ((u64 *)page->private != spte) {
+ if ((u64 *)page_private(page) != spte) {
printk(KERN_ERR "rmap_remove: %p %llx 1->BUG\n",
spte, *spte);
BUG();
}
- page->private = 0;
+ set_page_private(page,0);
} else {
rmap_printk("rmap_remove: %p %llx many->many\n", spte, *spte);
- desc = (struct kvm_rmap_desc *)(page->private & ~1ul);
+ desc = (struct kvm_rmap_desc *)(page_private(page) & ~1ul);
prev_desc = NULL;
while (desc) {
for (i = 0; i < RMAP_EXT && desc->shadow_ptes[i]; ++i)
@@ -398,11 +398,11 @@
BUG_ON(!slot);
page = gfn_to_page(slot, gfn);
- while (page->private) {
- if (!(page->private & 1))
- spte = (u64 *)page->private;
+ while (page_private(page)) {
+ if (!(page_private(page) & 1))
+ spte = (u64 *)page_private(page);
else {
- desc = (struct kvm_rmap_desc *)(page->private & ~1ul);
+ desc = (struct kvm_rmap_desc *)(page_private(page) & ~1ul);
spte = desc->shadow_ptes[0];
}
BUG_ON(!spte);
@@ -1218,7 +1218,7 @@
INIT_LIST_HEAD(&page_header->link);
if ((page = alloc_page(GFP_KERNEL)) == NULL)
goto error_1;
- page->private = (unsigned long)page_header;
+ set_page_private(page, (unsigned long)page_header);
page_header->page_hpa = (hpa_t)page_to_pfn(page) << PAGE_SHIFT;
memset(__va(page_header->page_hpa), 0, PAGE_SIZE);
list_add(&page_header->link, &vcpu->free_pages);
Index: kvm_main.c
===================================================================
--- kvm_main.c (Revision 4384)
+++ kvm_main.c (Arbeitskopie)
@@ -674,7 +674,7 @@
| __GFP_ZERO);
if (!new.phys_mem[i])
goto out_free;
- new.phys_mem[i]->private = 0;
+ set_page_private(new.phys_mem[i],0);
}
}
Index: kvm.h
===================================================================
--- kvm.h (Revision 4384)
+++ kvm.h (Arbeitskopie)
@@ -8,7 +8,9 @@
#include <linux/types.h>
#include <linux/list.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
#include <linux/mutex.h>
+#endif
#include <linux/spinlock.h>
#include <linux/mm.h>
@@ -531,7 +533,7 @@
{
struct page *page = pfn_to_page(shadow_page >> PAGE_SHIFT);
- return (struct kvm_mmu_page *)page->private;
+ return (struct kvm_mmu_page *)page_private(page);
}
static inline u16 read_fs(void)
Index: external-module-compat.h
===================================================================
--- external-module-compat.h (Revision 4384)
+++ external-module-compat.h (Arbeitskopie)
@@ -72,6 +72,31 @@
* The cpu hotplug stubs are broken if !CONFIG_CPU_HOTPLUG
*/
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,15)
+#define DEFINE_MUTEX(a) DECLARE_MUTEX(a)
+#define mutex_lock_interruptible(a) down_interruptible(a)
+#define mutex_unlock(a) up(a)
+#define mutex_lock(a) down(a)
+#define mutex_init(a) init_MUTEX(a)
+#define mutex_trylock(a) down_trylock(a)
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
+#ifndef kzalloc
+#define kzalloc(size,flags) \
+({ \
+ void *__ret = kmalloc(size, flags); \
+ if (__ret)
+ memset(__ret, 0, size);
+ __ret;
+})
+#endif
+#endif
+
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,15)
+#define mutex semaphore
+#endif
+
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)
#ifndef CONFIG_HOTPLUG_CPU
[-- Attachment #3: Type: text/plain, Size: 374 bytes --]
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
[-- Attachment #4: Type: text/plain, Size: 186 bytes --]
_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kvm compat patch
[not found] ` <45C745E7.6000800-5C7GfCeVMHo@public.gmane.org>
@ 2007-02-07 9:32 ` Avi Kivity
0 siblings, 0 replies; 6+ messages in thread
From: Avi Kivity @ 2007-02-07 9:32 UTC (permalink / raw)
To: Markus Rechberger; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Markus Rechberger wrote:
> Attached another patch, I haven't touched the LINUX_VERSION_CODE include
> check in kvm.h
>
> Signed-off-by: Markus Rechberger <markus.rechberger-5C7GfCeVMHo@public.gmane.org>
>
Applied, thanks. Adding an empty include/linux/mutex.h is enough to get
rid of the #ifdef.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-02-07 9:32 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-02-02 1:47 [PATCH] kvm compat patch Markus Rechberger
[not found] ` <45C29834.4020107-5C7GfCeVMHo@public.gmane.org>
2007-02-04 9:35 ` Avi Kivity
[not found] ` <45C5A8ED.2010402-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-04 9:41 ` Muli Ben-Yehuda
[not found] ` <20070204094159.GG3570-k73YwwB0fHlWk0Htik3J/w@public.gmane.org>
2007-02-04 10:06 ` Avi Kivity
[not found] ` <45C5B01D.4060903-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-05 14:57 ` Markus Rechberger
[not found] ` <45C745E7.6000800-5C7GfCeVMHo@public.gmane.org>
2007-02-07 9:32 ` Avi Kivity
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox