Re: [kvm-devel] trivial Makefile patch + problem report

2006-11-30 Thread Dor Laor
> Subject: Re: [kvm-devel] trivial Makefile patch + problem report
> 
> Actually ... this does not seem to be a kvm issue at all!
> 
> I just rebooted my system to try again, and I started a qemu guest and
> got the spew of rtc lost interrupt messages.  But I also noticed:
> 
> Could not initialize KVM, will disable KVM support
> 
> and in fact I had forgotten to load the kvm module!
> 
> So somehow qemu's tap networking is causing a problem it seems...

I find it hard to believe, can you test qemu with user mode networking
and see what happens?

> 
>

-
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to
share
> your
> opinions on IT & business topics through brief surveys - and earn cash
>
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE
V
> ___
> kvm-devel mailing list
> kvm-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kvm-devel

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Add loglevels to all printk()s

2006-11-30 Thread Avi Kivity
Roland Dreier wrote:
> Here's a trivial patch that adds log levels to all printks.  This
> avoids ugly things like
>
> Message from [EMAIL PROTECTED] at Wed Nov 29 14:01:01 2006 ...
> roland-xeon-2 kernel: [81842.565619] msrs: 6
>
> popping up in a console on my system when starting a guest.
>   

Applied, thanks.  Please add signed-off-by's in the future, even to 
trivial patches.

-- 
error compiling committee.c: too many arguments to function


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] KVM: More i386 fixes

2006-11-30 Thread Avi Kivity
From: Ingo Molnar <[EMAIL PROTECTED]>

Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

diff -X /home/avi/kvm/linux-2.6/Documentation/dontdiff --exclude=Makefile -ru 
/home/avi/kvm/linux-2.6/drivers/kvm/kvm.h /home/avi/kvm-release/kernel/kvm.h
--- linux-2.6/drivers/kvm/kvm.h 2006-11-29 17:50:23.0 +0200
+++ linux-2.6/drivers/kvm/kvm.h 2006-11-29 17:59:51.0 +0200
@@ -299,7 +299,7 @@
void (*set_rflags)(struct kvm_vcpu *vcpu, unsigned long rflags);
 
void (*invlpg)(struct kvm_vcpu *vcpu, gva_t addr);
-   void (*flush_tlb)(struct kvm_vcpu *vcpu);
+   void (*tlb_flush)(struct kvm_vcpu *vcpu);
void (*inject_page_fault)(struct kvm_vcpu *vcpu,
  unsigned long addr, u32 err_code);
 
diff -X /home/avi/kvm/linux-2.6/Documentation/dontdiff --exclude=Makefile -ru 
/home/avi/kvm/linux-2.6/drivers/kvm/kvm_main.c 
/home/avi/kvm-release/kernel/kvm_main.c
--- linux-2.6/drivers/kvm/kvm_main.c2006-11-29 17:52:17.0 +0200
+++ linux-2.6/drivers/kvm/kvm_main.c2006-11-29 17:59:51.0 +0200
@@ -725,7 +725,7 @@
 
if (!vcpu)
continue;
-   kvm_arch_ops->flush_tlb(vcpu);
+   kvm_arch_ops->tlb_flush(vcpu);
vcpu_put(vcpu);
}
}
diff -X /home/avi/kvm/linux-2.6/Documentation/dontdiff --exclude=Makefile -ru 
/home/avi/kvm/linux-2.6/drivers/kvm/mmu.c /home/avi/kvm-release/kernel/mmu.c
--- linux-2.6/drivers/kvm/mmu.c 2006-11-29 17:50:22.0 +0200
+++ linux-2.6/drivers/kvm/mmu.c 2006-11-29 17:59:51.0 +0200
@@ -324,7 +324,7 @@
if (is_paging(vcpu))
root |= (vcpu->cr3 & (CR3_PCD_MASK | CR3_WPT_MASK));
kvm_arch_ops->set_cr3(vcpu, root);
-   kvm_arch_ops->flush_tlb(vcpu);
+   kvm_arch_ops->tlb_flush(vcpu);
 }
 
 static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gva_t vaddr)
@@ -408,7 +408,7 @@
release_pt_page_64(vcpu, page->page_hpa, 1);
}
++kvm_stat.tlb_flush;
-   kvm_arch_ops->flush_tlb(vcpu);
+   kvm_arch_ops->tlb_flush(vcpu);
 }
 
 static void paging_new_cr3(struct kvm_vcpu *vcpu)
@@ -516,7 +516,7 @@
table[index] = 0;
release_pt_page_64(vcpu, page_addr, 
PT_PAGE_TABLE_LEVEL);
 
-   kvm_arch_ops->flush_tlb(vcpu);
+   kvm_arch_ops->tlb_flush(vcpu);
return;
}
}
diff -X /home/avi/kvm/linux-2.6/Documentation/dontdiff --exclude=Makefile -ru 
/home/avi/kvm/linux-2.6/drivers/kvm/svm.c /home/avi/kvm-release/kernel/svm.c
--- linux-2.6/drivers/kvm/svm.c 2006-11-29 17:50:23.0 +0200
+++ linux-2.6/drivers/kvm/svm.c 2006-11-29 17:59:51.0 +0200
@@ -115,7 +115,7 @@
asm volatile (SVM_INVLPGA :: "a"(addr), "c"(asid));
 }
 
-static inline unsigned long read_cr2(void)
+static inline unsigned long kvm_read_cr2(void)
 {
unsigned long cr2;
 
@@ -123,7 +123,7 @@
return cr2;
 }
 
-static inline void write_cr2(unsigned long val)
+static inline void kvm_write_cr2(unsigned long val)
 {
asm volatile ("mov %0, %%cr2" :: "r" (val));
 }
@@ -1129,9 +1129,11 @@
 static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data)
 {
switch (ecx) {
+#ifdef __x86_64__
case MSR_EFER:
set_efer(vcpu, data);
break;
+#endif
case MSR_IA32_MC0_STATUS:
printk(KERN_WARNING "%s: MSR_IA32_MC0_STATUS 0x%llx, nop\n"
, __FUNCTION__, data);
@@ -1367,7 +1369,7 @@
fs_selector = read_fs();
gs_selector = read_gs();
ldt_selector = read_ldt();
-   vcpu->svm->host_cr2 = read_cr2();
+   vcpu->svm->host_cr2 = kvm_read_cr2();
vcpu->svm->host_dr6 = read_dr6();
vcpu->svm->host_dr7 = read_dr7();
vcpu->svm->vmcb->save.cr2 = vcpu->cr2;
@@ -1384,7 +1386,7 @@
"push %%r8;  push %%r9;  push %%r10; push %%r11;"
"push %%r12; push %%r13; push %%r14; push %%r15;"
 #else
-   "push %%ebx; push %%rcx push %%edx;"
+   "push %%ebx; push %%ecx; push %%edx;"
"push %%esi; push %%edi; push %%ebp;"
 #endif
 
@@ -1462,9 +1464,9 @@
  [rdx]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_RDX])),
  [rsi]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_RSI])),
  [rdi]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_RDI])),
- [rbp]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_RBP])),
+ [rbp]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_RBP]))
 #ifdef __x86_64__
- [r8 ]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_R8 ])),
+ ,[r8 ]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_R8 ])),
  [r9 ]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_R9 ])),
  [r10]"i"(offsetof(struct

[kvm-devel] [PATCH] KVM: printk log levels

2006-11-30 Thread Avi Kivity
From: Roland Drier <[EMAIL PROTECTED]>

Here's a trivial patch that adds log levels to all printks.  This
avoids ugly things like

Message from [EMAIL PROTECTED] at Wed Nov 29 14:01:01 2006 ...
roland-xeon-2 kernel: [81842.565619] msrs: 6

popping up in a console on my system when starting a guest.

Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

Index: linux-2.6/drivers/kvm/vmx.c
===
--- linux-2.6.orig/drivers/kvm/vmx.c
+++ linux-2.6/drivers/kvm/vmx.c
@@ -1153,7 +1153,7 @@ static int vmx_vcpu_setup(struct kvm_vcp
vcpu->guest_msrs[j] = vcpu->host_msrs[j];
++vcpu->nmsrs;
}
-   printk("msrs: %d\n", vcpu->nmsrs);
+   printk(KERN_DEBUG "kvm: msrs: %d\n", vcpu->nmsrs);
 
nr_good_msrs = vcpu->nmsrs - NR_BAD_MSRS;
vmcs_writel(VM_ENTRY_MSR_LOAD_ADDR,
Index: linux-2.6/drivers/kvm/svm.c
===
--- linux-2.6.orig/drivers/kvm/svm.c
+++ linux-2.6/drivers/kvm/svm.c
@@ -990,7 +990,7 @@ static int io_interception(struct kvm_vc
 
addr_mask = io_adress(vcpu, _in, &kvm_run->io.address);
if (!addr_mask) {
-   printk("%s: get io address failed\n", __FUNCTION__);
+   printk(KERN_DEBUG "%s: get io address failed\n", 
__FUNCTION__);
return 1;
}
 
@@ -1030,7 +1030,7 @@ static int invalid_op_interception(struc
 
 static int task_switch_interception(struct kvm_vcpu *vcpu, struct kvm_run 
*kvm_run)
 {
-   printk("%s: task swiche is unsupported\n", __FUNCTION__);
+   printk(KERN_DEBUG "%s: task swiche is unsupported\n", __FUNCTION__);
kvm_run->exit_reason = KVM_EXIT_UNKNOWN;
return 0;
 }

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] inter-VM communication?

2006-11-30 Thread Jun Koi
On 11/30/06, Dor Laor <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > Do we have any inter-VM communication technique in KVM (something for
> > example like event-channel in Xen) ?
> >
> > Thanks,
> > Jun
>
> Currently there is full isolation of the guests.
> Such mechanism would not be complicated to add since we anyway map
> memory from user space & inject interrupt from there also.
> Do you have any specific interest in inter VM channel?

I want to exchange some data between a VM and hypervisor. One solution
is to map some memory of that VM (from hypervisor), and read/write
data thru that memory area. However, I need to a mechanism to notify
the other partner when data is ready to read/write.

Without any inter-VM communication mechanism, I dont see any clean way
to achieve this. Any idea?

Thanks,
Jun

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] inter-VM communication?

2006-11-30 Thread Avi Kivity
Jun Koi wrote:
> On 11/30/06, Dor Laor <[EMAIL PROTECTED]> wrote:
>   
>>> Hi,
>>>
>>> Do we have any inter-VM communication technique in KVM (something for
>>> example like event-channel in Xen) ?
>>>
>>> Thanks,
>>> Jun
>>>   
>> Currently there is full isolation of the guests.
>> Such mechanism would not be complicated to add since we anyway map
>> memory from user space & inject interrupt from there also.
>> Do you have any specific interest in inter VM channel?
>> 
>
> I want to exchange some data between a VM and hypervisor. One solution
> is to map some memory of that VM (from hypervisor), and read/write
> data thru that memory area. However, I need to a mechanism to notify
> the other partner when data is ready to read/write.
>
> Without any inter-VM communication mechanism, I dont see any clean way
> to achieve this. Any idea?
>   

Write a pci device for qemu to do what you want.  The pci device can 
communicate through a unix domain socket, shared memory, or any other 
ipc mechanism with any other process on the host (including other 
virtual machines).

Guest->host communication is performed by writing the device's mmio 
registers.  Host->guest communications are done by raising a virtual 
interrupt.

-- 
error compiling committee.c: too many arguments to function


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] inter-VM communication?

2006-11-30 Thread Dor Laor

> Jun Koi wrote:
> > On 11/30/06, Dor Laor <[EMAIL PROTECTED]> wrote:
> >
> >>> Hi,
> >>>
> >>> Do we have any inter-VM communication technique in KVM (something
for
> >>> example like event-channel in Xen) ?
> >>>
> >>> Thanks,
> >>> Jun
> >>>
> >> Currently there is full isolation of the guests.
> >> Such mechanism would not be complicated to add since we anyway map
> >> memory from user space & inject interrupt from there also.
> >> Do you have any specific interest in inter VM channel?
> >>
> >
> > I want to exchange some data between a VM and hypervisor. One
solution
> > is to map some memory of that VM (from hypervisor), and read/write
> > data thru that memory area. However, I need to a mechanism to notify
> > the other partner when data is ready to read/write.
> >
> > Without any inter-VM communication mechanism, I dont see any clean
way
> > to achieve this. Any idea?
> >
> 
> Write a pci device for qemu to do what you want.  The pci device can
> communicate through a unix domain socket, shared memory, or any other
> ipc mechanism with any other process on the host (including other
> virtual machines).
> 
> Guest->host communication is performed by writing the device's mmio
> registers.  Host->guest communications are done by raising a virtual
> interrupt.

If you would like a reference for writing such device, there was a
thread in the Qemu mailing list about such interface:
http://lists.gnu.org/archive/html/qemu-devel/2006-11/msg00149.html

Such an interface is on the roadmap but quick patches would certainly
help :)


> 
> --
> error compiling committee.c: too many arguments to function


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] KVM: Fix mov to/from control register emulation, with r8-r15 as gpr

2006-11-30 Thread Avi Kivity
Use the standrd modrm decoder instead of special casing these instructions.
This fixes mov %rX, %crY with X >= 8 or Y >= 8.

The fix only applies to AMD SVM, as Intel vmx decodes the instruction for us.
It cures the FC5 installer crashing when loading the xor module.

Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

Index: linux-2.6/drivers/kvm/x86_emulate.c
===
--- linux-2.6.orig/drivers/kvm/x86_emulate.c
+++ linux-2.6/drivers/kvm/x86_emulate.c
@@ -155,7 +155,8 @@ static u8 twobyte_table[256] = {
/* 0x10 - 0x1F */
0, 0, 0, 0, 0, 0, 0, 0, ImplicitOps | ModRM, 0, 0, 0, 0, 0, 0, 0,
/* 0x20 - 0x2F */
-   ImplicitOps, ModRM, ImplicitOps, ModRM, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0,
+   ModRM | ImplicitOps, ModRM, ModRM | ImplicitOps, ModRM, 0, 0, 0, 0,
+   0, 0, 0, 0, 0, 0, 0, 0,
/* 0x30 - 0x3F */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x40 - 0x47 */
@@ -1295,17 +1296,14 @@ twobyte_special_insn:
emulate_clts(ctxt->vcpu);
break;
case 0x20: /* mov cr, reg */
-   b = insn_fetch(u8, 1, _eip);
-   if ((b & 0xc0) != 0xc0)
+   if (modrm_mod != 3)
goto cannot_emulate;
-   _regs[b & 7] = realmode_get_cr(ctxt->vcpu, (b >> 3) & 7);
+   _regs[modrm_rm] = realmode_get_cr(ctxt->vcpu, modrm_reg);
break;
case 0x22: /* mov reg, cr */
-   b = insn_fetch(u8, 1, _eip);
-   if ((b & 0xc0) != 0xc0)
+   if (modrm_mod != 3)
goto cannot_emulate;
-   realmode_set_cr(ctxt->vcpu, (b >> 3) & 7, _regs[b & 7] & -1u,
-   &_eflags);
+   realmode_set_cr(ctxt->vcpu, modrm_reg, modrm_val, &_eflags);
break;
case 0xc7:  /* Grp9 (cmpxchg8b) */
 #if defined(__i386__)

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] KVM: Zero guest memory before use

2006-11-30 Thread Avi Kivity
This prevents an information leak from the host to the vmm and the guest.

Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

diff -X /home/avi/kvm/linux-2.6/Documentation/dontdiff --exclude=Makefile -ru 
/home/avi/kvm/linux-2.6/drivers/kvm/kvm_main.c 
/home/avi/kvm-release/kernel/kvm_main.c
--- linux-2.6/drivers/kvm/kvm_main.c2006-11-30 10:59:57.0 +0200
+++ linux-2.6/drivers/kvm/kvm_main.c2006-11-30 14:26:29.0 +0200
@@ -620,7 +620,8 @@
 
memset(new.phys_mem, 0, npages * sizeof(struct page *));
for (i = 0; i < npages; ++i) {
-   new.phys_mem[i] = alloc_page(GFP_HIGHUSER);
+   new.phys_mem[i] = alloc_page(GFP_HIGHUSER
+| __GFP_ZERO);
if (!new.phys_mem[i])
goto out_free;
}

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] KVM: x86 emulator: handle smsw

2006-11-30 Thread Avi Kivity
This allows FreeBSD 6.2rc1 to boot.

Also, don't pretend to support lmsw (mem).

Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

Index: linux-2.6/drivers/kvm/x86_emulate.c
===
--- linux-2.6.orig/drivers/kvm/x86_emulate.c
+++ linux-2.6/drivers/kvm/x86_emulate.c
@@ -1166,7 +1166,15 @@ twobyte_insn:
goto done;
realmode_lidt(ctxt->vcpu, size, address);
break;
+   case 4: /* smsw */
+   if (modrm_mod != 3)
+   goto cannot_emulate;
+   *(u16 *)&_regs[modrm_rm]
+   = realmode_get_cr(ctxt->vcpu, 0);
+   break;
case 6: /* lmsw */
+   if (modrm_mod != 3)
+   goto cannot_emulate;
realmode_lmsw(ctxt->vcpu, (u16)modrm_val, &_eflags);
break;
case 7: /* invlpg*/

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH 1/38] KVM: Create kvm-intel.ko module

2006-11-30 Thread Christoph Hellwig
On Mon, Nov 27, 2006 at 01:36:06PM +0100, Ingo Molnar wrote:
> 
> * Avi Kivity <[EMAIL PROTECTED]> wrote:
> 
> > --- linux-2.6.orig/drivers/kvm/kvm.h
> > +++ linux-2.6/drivers/kvm/kvm.h
> 
> please move this from drivers/kvm/ to kernel/kvm/ [or even into a 
> toplevel kvm/ directory] - KVM is not a "driver", KVM enhances the core 
> Linux kernel with hypervisor functionality.

Actually it's exactly a driver.  It's a character driver that exposes
the virtualization features of modern x86 hardware.  Pretty similar to
things like the msr or mtrr driver that expose cpu features as character
drivers aswell.


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] trivial Makefile patch + problem report

2006-11-30 Thread Roland Dreier
 > I find it hard to believe, can you test qemu with user mode networking
 > and see what happens?

If I remove "-net tap" from my qemu command line I don't get any of
the rtc messages.

 - R.

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Add loglevels to all printk()s

2006-11-30 Thread Roland Dreier
 > Applied, thanks.  Please add signed-off-by's in the future, even to
 > trivial patches.

Will do.  I wasn't aware you were tracking s-o-b lines, since I didn't
see any in your revision log.

 - R.

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH 1/38] KVM: Create kvm-intel.ko module

2006-11-30 Thread Ingo Molnar

* Christoph Hellwig <[EMAIL PROTECTED]> wrote:

> > please move this from drivers/kvm/ to kernel/kvm/ [or even into a 
> > toplevel kvm/ directory] - KVM is not a "driver", KVM enhances the 
> > core Linux kernel with hypervisor functionality.
> 
> Actually it's exactly a driver.  It's a character driver that exposes 
> the virtualization features of modern x86 hardware. [...]

you are fundamentally wrong. In the end KVM is a fundamental and complex 
infrastructure that enables Linux to provide full hardware capabilities 
to another OS via the resources of this OS. This concept justifies a 
system call and a place in linux/kernel/. It's not fundamentally limited 
to x86 either. Full virtualization (and paravirtualization) makes sense 
on any platform. And there's no reason KVM be limited to full 
virtualization alone - both paravirtualization and accelerated guest 
drivers need a sane hypercall API.

> [...] Pretty similar to things like the msr or mtrr driver that expose 
> cpu features as character drivers aswell.

you can expose everything as character drivers and ioctls, but that 
doesnt make it the right solution. It might /start out/ as a driver, 
because that's an easy to hack model, but the moment something becomes 
important enough (and virtualization certainly is such a model) it 
demands a system call.

Just like inotify started out as an ioctl hack, but then was 
(rightfully) moved to the system-call space. [ Which btw. was on your 
request ;-) ]

Ingo

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] Startup problem under Fedora: emulation failed but !mmio_needed?

2006-11-30 Thread James Morris
Just wondering if anyone's seen this before, or knows what it is:

OS is recent Fedora with various updates, kernel is upstream 
2.6.19-rc6-mm2.

# /usr/local/kvm/bin/qemu-system-x86_64 -hda vdisk.img -cdrom diskboot.img 
-boot d -m 384 -nographic
(qemu) set_vram_mapping: memory: e000 - e080
set_vram_mapping: return 0x2b746f1c3000
vga_update_vram: base 0x2b746f1c3000 ptr 0x2b746e9c1010
vga_update_vram: done
exception 13 (0)
Aborted


Syslog says:
Nov 30 12:48:59 halo kernel: msrs: 6
Nov 30 12:49:00 halo kernel: emulation failed but !mmio_needed? rip a45 f4 eb 
fd 89





- James
-- 
James Morris
<[EMAIL PROTECTED]>



-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH 1/38] KVM: Create kvm-intel.ko module

2006-11-30 Thread Andrew Morton
On Thu, 30 Nov 2006 16:44:25 +0100
Ingo Molnar <[EMAIL PROTECTED]> wrote:

> > [...] Pretty similar to things like the msr or mtrr driver that expose 
> > cpu features as character drivers aswell.
> 
> you can expose everything as character drivers and ioctls, but that 
> doesnt make it the right solution. It might /start out/ as a driver, 
> because that's an easy to hack model, but the moment something becomes 
> important enough (and virtualization certainly is such a model) it 
> demands a system call.

Actually fourteen syscalls and counting, and some of those have `mode'
arguments.

It's a fat, complex, presumably arch-specific, presumably frequently-changing
API.  So whatever we do will be unpleasant - that's unavoidable in this case,
I suspect.

(hmm, the interface isn't versioned at present - should it be?)

Maybe, perhaps, one day it _should_ be a syscall API.  But right now if we
did that it would become a versioned syscall API with obsolete slots and
various other warts.

I get the feeling we'd be best off if we were to revisit this in a year or
so.


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH 1/38] KVM: Create kvm-intel.ko module

2006-11-30 Thread Ingo Molnar

* Andrew Morton <[EMAIL PROTECTED]> wrote:

> It's a fat, complex, presumably arch-specific, presumably 
> frequently-changing API.  So whatever we do will be unpleasant - 
> that's unavoidable in this case, I suspect.
> 
> (hmm, the interface isn't versioned at present - should it be?)
> 
> Maybe, perhaps, one day it _should_ be a syscall API.  But right now 
> if we did that it would become a versioned syscall API with obsolete 
> slots and various other warts.

yeah, very much agreed. For example the paravirtualization/accelerator 
downcalls/upcalls in KVM dont exist yet, so there's little to 
standardize. Once we see it from lhype & KVM how these things look like 
we can design a sane kernel interface around it. But i'm against the 
notion that KVM is 'just' a device. It's not, and it /will/ grow into 
something fundamental.

> I get the feeling we'd be best off if we were to revisit this in a 
> year or so.

yeah. I'd suggest merging it as-is into v2.6.20. In a year we'll have 
some real APIs to think about.

Ingo

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH 1/38] KVM: Create kvm-intel.ko module

2006-11-30 Thread Christoph Hellwig
On Thu, Nov 30, 2006 at 09:19:35PM +0100, Ingo Molnar wrote:
> > I get the feeling we'd be best off if we were to revisit this in a 
> > year or so.
> 
> yeah. I'd suggest merging it as-is into v2.6.20. In a year we'll have 
> some real APIs to think about.

Agreed.  And because of that I think keeping it in drivers/ for now
makes a lot of sense - it's just a driver we can deprecate if/when things
have evolved into a real infrastructure.

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH 1/38] KVM: Create kvm-intel.ko module

2006-11-30 Thread Ingo Molnar

* Christoph Hellwig <[EMAIL PROTECTED]> wrote:

> On Thu, Nov 30, 2006 at 09:19:35PM +0100, Ingo Molnar wrote:
> > > I get the feeling we'd be best off if we were to revisit this in a 
> > > year or so.
> > 
> > yeah. I'd suggest merging it as-is into v2.6.20. In a year we'll 
> > have some real APIs to think about.
> 
> Agreed.  And because of that I think keeping it in drivers/ for now 
> makes a lot of sense - it's just a driver we can deprecate if/when 
> things have evolved into a real infrastructure.

yeah, with that understanding there's zero objections from me.

Ingo

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel