Re: [kvm-devel] kvm_rmap_desc: Can't free all objects

2007-10-10 Thread Avi Kivity
Dong, Eddie wrote:
> Avi:
>   Time to time, I see this error message, any typo exist?
> thx,eddie
>
>
> slab error in kmem_cache_destroy(): cache `kvm_rmap_desc': Can't free
> all objects
>
> Call Trace:
>  [] kmem_cache_destroy+0x93/0xdc
>  [] :kvm:kvm_mmu_module_exit+0x23/0x37
>  [] :kvm:kvm_exit+0x26/0x31
>  [] sys_delete_module+0x1b4/0x1e5
>  [] __up_write+0x14/0x108
>  [] sys_munmap+0x4b/0x58
>  [] system_call+0x7e/0x83
>   

I saw this yesterday and an debugging it now...

It's caused by the mmu not handling permissions changing on a pde correctly.


-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] Hacking QEMU/KVM to use unused graphics adapters

2007-10-10 Thread Anthony de Almeida Lopes
I was curious if anyone thinks that it may be possible to get a 
KVM-patched QEMU to use a real video card? For example, let's say I had 
a second video card. Is QEMU/kvm a codebase which would support hacking 
in the ability to utilize this second video card (one not utilized by 
the host Linux)? And in the situation of a laptop, would it be possible 
to boot the host Linux in a way that it would not utilize the video 
card, but get a qemu guest to use it?
Theoretically, there's no reason this isn't possible, right?


Thanks,
-  Tony

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] kvm_rmap_desc: Can't free all objects

2007-10-10 Thread Dong, Eddie
Avi:
Time to time, I see this error message, any typo exist?
thx,eddie


slab error in kmem_cache_destroy(): cache `kvm_rmap_desc': Can't free
all objects

Call Trace:
 [] kmem_cache_destroy+0x93/0xdc
 [] :kvm:kvm_mmu_module_exit+0x23/0x37
 [] :kvm:kvm_exit+0x26/0x31
 [] sys_delete_module+0x1b4/0x1e5
 [] __up_write+0x14/0x108
 [] sys_munmap+0x4b/0x58
 [] system_call+0x7e/0x83

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] build error

2007-10-10 Thread Zhao, Yunfeng
I meet following error while compile latest kvm source code.

..

make -C qemu

make[1]: Entering directory
`/workspace/ia32e/nightly/kvm-master-2.6.22-rc4-20071010190122210/kvm-us
erspace/qemu'

Makefile:3: config-host.mak: No such file or directory

make[1]: *** No rule to make target `config-host.mak'.  Stop.

make[1]: Leaving directory
`/workspace/ia32e/nightly/kvm-master-2.6.22-rc4-20071010190122210/kvm-us
erspace/qemu'

make: *** [qemu] Error 2

.

 

If run ./qemu/configure, it turns:

[EMAIL PROTECTED] qemu]# ./configure

./configure: line 415: /tmp/qemu-conf-28011-8352-8345.c: No such file or
directory

ERROR: "gcc" either does not exist or does not work

 

How can I resolve this issue?

 

I am using RHEL5 x86_64, gcc version 4.1.1

 

Thanks

Yunfeng

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] kernel device reset support

2007-10-10 Thread Dong, Eddie
Avi Kivity wrote:
> Dong, Eddie wrote:
>> Avi Kivity wrote:
>> 

> 
> It's just like the guest kernel executing hlt.  Why is there a
> difference? 

Current VP wake up logic thru INIT/SIPI doesn't support this when
irqchip in kernel. 

> 
>> 
>> Yes, halt all APs and let BSP do reset ops in user level.
>> Will post patch to Qemu to support SMP reboot some time later.
>> 
>> 
> 
> Wait, that's a big change.  Need to think about this...

Like talked in previous, we either let BSP do this, or let an AP
become BSP. Current Qemu doesn't support this.

>> 
>> -if (vcpu->requests)
>> +if (vcpu->requests) {
>>  if (test_and_clear_bit(KVM_TLB_FLUSH, &vcpu->requests))
>>  kvm_x86_ops->tlb_flush(vcpu);
>> +if (test_and_clear_bit(KVM_FROZEN, &vcpu->requests)) {
>> +local_irq_enable(); +
preempt_enable();
>> +r = -EINTR;
>> +kvm_run->exit_reason = KVM_EXIT_FROZEN;
>> +goto out;
>> +}
>> +}
>> 
> 
> 
> Why not just call vcpu_reset() here, then call vcpu_halt() if
> we're an AP?

Then you need to duplicate following code, which may bring extra issue
such as GUEST_CR3 update (kvm_mmu_reload) which is done after 
this code but before vcpu->requests test. BTW, switch back to user level
to retry is cleaner IMO.

if (unlikely(vcpu->mp_state == VCPU_MP_STATE_UNINITIALIZED)) {
if (irqchip_in_kernel(vcpu->kvm) && vcpu->apic)
kvm_lapic_reset(vcpu);
kvm_vcpu_block(vcpu);
vcpu_put(vcpu);
return -EAGAIN;
}

> 
>> +while (test_bit(KVM_FROZEN, &vcpu->requests))
>> +schedule();
>> 
> 
> I don't think we need to wait here.

The VCPU may be executing in kernel still, which may modify kernel
device state. E.g. A VCPU may be doing PIO emulating.

If BSP reset the kernel devices earlier than the VCPU modify the device
state,
we are in trouble.

> 
>> +}
>> +else {
>> +vcpu->mp_state = VCPU_MP_STATE_RUNNABLE;
>> +kvm_lapic_reset(vcpu);
>> +}
>> +}
>> +/* Now only BSP is running... */
>> +kvm_reset_devices(kvm);
>> 
> 
> But now you're reseting the devices while vcpu 0 may be
> running.  If in

No, VCPU0 (BSP) is current VCPU (though you don't have the current
vcpu parameter explicitly) like mentioned in previous mail and
as pre-requirement of user level change. Please refer my abswer above
of this mail.

> the first stage you halt all vcpus, and then restart vcpu 0 after the
> reset, you avoid the race. 
> 

No race here. The code is executing in VCPU0 context.

thx,eddie

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] soft lockup after stop/cont

2007-10-10 Thread Dong, Eddie
Avi Kivity wrote:
> cpu_save (qemu/hw/pc.c) has this:
> 
> #ifdef USE_KVM
>if (kvm_allowed) {
>for (i = 0; i < NR_IRQ_WORDS ; i++) {
>qemu_put_be32s(f, &env->kvm_interrupt_bitmap[i]);}
>qemu_put_be64s(f, &env->tsc);
>}
> #endif

Mmm, so this is not the root cause.

> 
> And I think the apic code saves the timer?
> 

APIC timer is restored at
kvm_vcpu_ioctl_set_lapic/kvm_apic_post_state_restore/start_apic_timer.

Thx, Eddie

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Anthony Liguori
Jun Koi wrote:
> On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
>   
>> Jun Koi wrote:
>> 
>>> On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
>>>
>>>   
 Jun Koi wrote:

 
> Hi,
>
> On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
>
>
>   
>> We've now switched to allocating guest memory in userspace rather than
>> in the kernel.  This is important if you have a mainframe, but also if
>> you want to share memory between guests and implement nice features like
>> swapping.
>>
>>
>> 
> This is interesting! But how can we do that now? (share memory between 
> guests)
>
>
>
>   
 It's not exposed by qemu, but you can now mmap() some file (or use SysV
 shared memory) and use that as guest memory.


 
>>> OK, lets say we have 2 guest VMs share a memory, like mmap() a tmpfs
>>> file (which is actually in memory). Now one writes to the memory
>>> (shared file). Can we guarantee that the memory immediately updated,
>>> so other will see the change immediately? Or the data might be cached
>>> for a while, befere being flushed to the shared memory?
>>>
>>>   
>> Changes are visible immediately.
>>
>> 
>
> OK, that is about sharing memory file. How about a shared file in
> which a file is a real physical file on the host?
>
> As far as I remember, there is a caution about sharing a file using
> mmap() between 2 processes, that is: if the first process modifies the
> shared file, it might take a while for the changes to be flushed from
> cache to the file. That means the other process doesnt see the change
> immediately.
>   

Changes to a mmap() file may not be flushed to the disk until an msync 
or munmap but if you've got it opened with MAP_SHARED, then everyone 
mapping will have access to the same physical memory IIUC.  You still 
need to use barriers to take into account SMP.  There may be some weird 
interactions if the area isn't mlocked but I'm not totally sure on that.

Regards,

Anthony Liguori

> I guess this problem affects us in this case, when we use a real
> (physical) file to share between 2 VMs, correct?
>
> Thanks,
> Jun
>
> -
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> ___
> kvm-devel mailing list
> kvm-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kvm-devel
>
>   


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] More struct page cleanups

2007-10-10 Thread Anthony Liguori
This time, the biggest change is gpa_to_hpa. The translation of GPA to HPA does
not depend on the VCPU state unlike GVA to GPA so there's no need to pass in
the kvm_vcpu.

Signed-off-by: Anthony Liguori <[EMAIL PROTECTED]>

diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
index 4ab487c..8859a92 100644
--- a/drivers/kvm/kvm.h
+++ b/drivers/kvm/kvm.h
@@ -554,7 +554,7 @@ void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int 
slot);
 void kvm_mmu_zap_all(struct kvm *kvm);
 void kvm_mmu_change_mmu_pages(struct kvm *kvm, unsigned int kvm_nr_mmu_pages);
 
-hpa_t gpa_to_hpa(struct kvm_vcpu *vcpu, gpa_t gpa);
+hpa_t gpa_to_hpa(struct kvm *kvm, gpa_t gpa);
 #define HPA_MSB ((sizeof(hpa_t) * 8) - 1)
 #define HPA_ERR_MASK ((hpa_t)1 << HPA_MSB)
 static inline int is_error_hpa(hpa_t hpa) { return hpa >> HPA_MSB; }
diff --git a/drivers/kvm/mmu.c b/drivers/kvm/mmu.c
index a5ca945..d046ba8 100644
--- a/drivers/kvm/mmu.c
+++ b/drivers/kvm/mmu.c
@@ -451,14 +451,14 @@ static void rmap_remove(struct kvm *kvm, u64 *spte)
}
 }
 
-static void rmap_write_protect(struct kvm_vcpu *vcpu, u64 gfn)
+static void rmap_write_protect(struct kvm *kvm, u64 gfn)
 {
struct kvm_rmap_desc *desc;
unsigned long *rmapp;
u64 *spte;
 
-   gfn = unalias_gfn(vcpu->kvm, gfn);
-   rmapp = gfn_to_rmap(vcpu->kvm, gfn);
+   gfn = unalias_gfn(kvm, gfn);
+   rmapp = gfn_to_rmap(kvm, gfn);
 
while (*rmapp) {
if (!(*rmapp & 1))
@@ -471,9 +471,9 @@ static void rmap_write_protect(struct kvm_vcpu *vcpu, u64 
gfn)
BUG_ON(!(*spte & PT_PRESENT_MASK));
BUG_ON(!(*spte & PT_WRITABLE_MASK));
rmap_printk("rmap_write_protect: spte %p %llx\n", spte, *spte);
-   rmap_remove(vcpu->kvm, spte);
+   rmap_remove(kvm, spte);
set_shadow_pte(spte, *spte & ~PT_WRITABLE_MASK);
-   kvm_flush_remote_tlbs(vcpu->kvm);
+   kvm_flush_remote_tlbs(kvm);
}
 }
 
@@ -670,7 +670,7 @@ static struct kvm_mmu_page *kvm_mmu_get_page(struct 
kvm_vcpu *vcpu,
hlist_add_head(&page->hash_link, bucket);
vcpu->mmu.prefetch_page(vcpu, page);
if (!metaphysical)
-   rmap_write_protect(vcpu, gfn);
+   rmap_write_protect(vcpu->kvm, gfn);
return page;
 }
 
@@ -823,19 +823,19 @@ static void page_header_update_slot(struct kvm *kvm, void 
*pte, gpa_t gpa)
__set_bit(slot, &page_head->slot_bitmap);
 }
 
-hpa_t safe_gpa_to_hpa(struct kvm_vcpu *vcpu, gpa_t gpa)
+hpa_t safe_gpa_to_hpa(struct kvm *kvm, gpa_t gpa)
 {
-   hpa_t hpa = gpa_to_hpa(vcpu, gpa);
+   hpa_t hpa = gpa_to_hpa(kvm, gpa);
 
return is_error_hpa(hpa) ? bad_page_address | (gpa & ~PAGE_MASK): hpa;
 }
 
-hpa_t gpa_to_hpa(struct kvm_vcpu *vcpu, gpa_t gpa)
+hpa_t gpa_to_hpa(struct kvm *kvm, gpa_t gpa)
 {
struct page *page;
 
ASSERT((gpa & HPA_ERR_MASK) == 0);
-   page = gfn_to_page(vcpu->kvm, gpa >> PAGE_SHIFT);
+   page = gfn_to_page(kvm, gpa >> PAGE_SHIFT);
if (!page)
return gpa | HPA_ERR_MASK;
return ((hpa_t)page_to_pfn(page) << PAGE_SHIFT)
@@ -848,7 +848,7 @@ hpa_t gva_to_hpa(struct kvm_vcpu *vcpu, gva_t gva)
 
if (gpa == UNMAPPED_GVA)
return UNMAPPED_GVA;
-   return gpa_to_hpa(vcpu, gpa);
+   return gpa_to_hpa(vcpu->kvm, gpa);
 }
 
 struct page *gva_to_page(struct kvm_vcpu *vcpu, gva_t gva)
@@ -857,7 +857,7 @@ struct page *gva_to_page(struct kvm_vcpu *vcpu, gva_t gva)
 
if (gpa == UNMAPPED_GVA)
return NULL;
-   return pfn_to_page(gpa_to_hpa(vcpu, gpa) >> PAGE_SHIFT);
+   return pfn_to_page(gpa_to_hpa(vcpu->kvm, gpa) >> PAGE_SHIFT);
 }
 
 static void nonpaging_new_cr3(struct kvm_vcpu *vcpu)
@@ -1012,7 +1012,7 @@ static int nonpaging_page_fault(struct kvm_vcpu *vcpu, 
gva_t gva,
ASSERT(VALID_PAGE(vcpu->mmu.root_hpa));
 
 
-   paddr = gpa_to_hpa(vcpu , addr & PT64_BASE_ADDR_MASK);
+   paddr = gpa_to_hpa(vcpu->kvm, addr & PT64_BASE_ADDR_MASK);
 
if (is_error_hpa(paddr))
return 1;
diff --git a/drivers/kvm/paging_tmpl.h b/drivers/kvm/paging_tmpl.h
index 4f6edf8..8e1e4ca 100644
--- a/drivers/kvm/paging_tmpl.h
+++ b/drivers/kvm/paging_tmpl.h
@@ -103,7 +103,7 @@ static int FNAME(walk_addr)(struct guest_walker *walker,
pgprintk("%s: table_gfn[%d] %lx\n", __FUNCTION__,
 walker->level - 1, table_gfn);
slot = gfn_to_memslot(vcpu->kvm, table_gfn);
-   hpa = safe_gpa_to_hpa(vcpu, root & PT64_BASE_ADDR_MASK);
+   hpa = safe_gpa_to_hpa(vcpu->kvm, root & PT64_BASE_ADDR_MASK);
walker->page = pfn_to_page(hpa >> PAGE_SHIFT);
walker->table = kmap_atomic(walker->page, KM_USER0);
 
@@ -159,7 +159,7 @@ static int FNAME(walk_addr)(struct guest_walker *walker,
walker->inherited_ar &= walker->table[index];
table_gfn = (*ptep & PT_BASE_ADDR_MASK) >> PAGE_SHIFT;
 

Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Jun Koi
On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
> Jun Koi wrote:
> > On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
> >
> >> Jun Koi wrote:
> >>
> >>> Hi,
> >>>
> >>> On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
>  We've now switched to allocating guest memory in userspace rather than
>  in the kernel.  This is important if you have a mainframe, but also if
>  you want to share memory between guests and implement nice features like
>  swapping.
> 
> 
> >>> This is interesting! But how can we do that now? (share memory between 
> >>> guests)
> >>>
> >>>
> >>>
> >> It's not exposed by qemu, but you can now mmap() some file (or use SysV
> >> shared memory) and use that as guest memory.
> >>
> >>
> >
> > OK, lets say we have 2 guest VMs share a memory, like mmap() a tmpfs
> > file (which is actually in memory). Now one writes to the memory
> > (shared file). Can we guarantee that the memory immediately updated,
> > so other will see the change immediately? Or the data might be cached
> > for a while, befere being flushed to the shared memory?
> >
>
> Changes are visible immediately.
>

OK, that is about sharing memory file. How about a shared file in
which a file is a real physical file on the host?

As far as I remember, there is a caution about sharing a file using
mmap() between 2 processes, that is: if the first process modifies the
shared file, it might take a while for the changes to be flushed from
cache to the file. That means the other process doesnt see the change
immediately.

I guess this problem affects us in this case, when we use a real
(physical) file to share between 2 VMs, correct?

Thanks,
Jun

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Clean up MMU functions to take struct kvm when appropriate

2007-10-10 Thread Anthony Liguori
Anthony Liguori wrote:
> Some of the MMU functions take a struct kvm_vcpu even though they effect all
> VCPUs.  This patch cleans up some of them to instead take a struct kvm.  This
> makes things a bit more clear.
>
> The main thing that was confusing me was whether certain functions need to be
> called on all VCPUs.
>
> Signed-off-by: Anthony Liguori <[EMAIL PROTECTED]>
>   

Please ignore this version of the patch.  It breaks the build b/c I 
forgot to guilt refresh before sending.  v2 is the right version of the 
patch to apply which should already be on the list.  Sorry for the noise.

Regards,

Anthony Liguori

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] Clean up MMU functions to take struct kvm when appropriate (v2)

2007-10-10 Thread Anthony Liguori
Sorry, I didn't guilt refresh before sending.  I'll have to modify my patchbomb
script to check for that to avoid this in the future.

Some of the MMU functions take a struct kvm_vcpu even though they effect all
VCPUs.  This patch cleans up some of them to instead take a struct kvm.  This
makes things a bit more clear.

The main thing that was confusing me was whether certain functions need to be
called on all VCPUs.

Signed-off-by: Anthony Liguori <[EMAIL PROTECTED]>

diff --git a/drivers/kvm/mmu.c b/drivers/kvm/mmu.c
index ece0aa4..a5ca945 100644
--- a/drivers/kvm/mmu.c
+++ b/drivers/kvm/mmu.c
@@ -606,7 +606,7 @@ static void mmu_page_remove_parent_pte(struct kvm_mmu_page 
*page,
BUG();
 }
 
-static struct kvm_mmu_page *kvm_mmu_lookup_page(struct kvm_vcpu *vcpu,
+static struct kvm_mmu_page *kvm_mmu_lookup_page(struct kvm *kvm,
gfn_t gfn)
 {
unsigned index;
@@ -616,7 +616,7 @@ static struct kvm_mmu_page *kvm_mmu_lookup_page(struct 
kvm_vcpu *vcpu,
 
pgprintk("%s: looking for gfn %lx\n", __FUNCTION__, gfn);
index = kvm_page_table_hashfn(gfn) % KVM_NUM_MMU_PAGES;
-   bucket = &vcpu->kvm->mmu_page_hash[index];
+   bucket = &kvm->mmu_page_hash[index];
hlist_for_each_entry(page, node, bucket, hash_link)
if (page->gfn == gfn && !page->role.metaphysical) {
pgprintk("%s: found role %x\n",
@@ -782,7 +782,7 @@ void kvm_mmu_change_mmu_pages(struct kvm *kvm, unsigned int 
kvm_nr_mmu_pages)
kvm->n_alloc_mmu_pages = kvm_nr_mmu_pages;
 }
 
-static int kvm_mmu_unprotect_page(struct kvm_vcpu *vcpu, gfn_t gfn)
+static int kvm_mmu_unprotect_page(struct kvm *kvm, gfn_t gfn)
 {
unsigned index;
struct hlist_head *bucket;
@@ -793,25 +793,25 @@ static int kvm_mmu_unprotect_page(struct kvm_vcpu *vcpu, 
gfn_t gfn)
pgprintk("%s: looking for gfn %lx\n", __FUNCTION__, gfn);
r = 0;
index = kvm_page_table_hashfn(gfn) % KVM_NUM_MMU_PAGES;
-   bucket = &vcpu->kvm->mmu_page_hash[index];
+   bucket = &kvm->mmu_page_hash[index];
hlist_for_each_entry_safe(page, node, n, bucket, hash_link)
if (page->gfn == gfn && !page->role.metaphysical) {
pgprintk("%s: gfn %lx role %x\n", __FUNCTION__, gfn,
 page->role.word);
-   kvm_mmu_zap_page(vcpu->kvm, page);
+   kvm_mmu_zap_page(kvm, page);
r = 1;
}
return r;
 }
 
-static void mmu_unshadow(struct kvm_vcpu *vcpu, gfn_t gfn)
+static void mmu_unshadow(struct kvm *kvm, gfn_t gfn)
 {
struct kvm_mmu_page *page;
 
-   while ((page = kvm_mmu_lookup_page(vcpu, gfn)) != NULL) {
+   while ((page = kvm_mmu_lookup_page(kvm, gfn)) != NULL) {
pgprintk("%s: zap %lx %x\n",
 __FUNCTION__, gfn, page->role.word);
-   kvm_mmu_zap_page(vcpu->kvm, page);
+   kvm_mmu_zap_page(kvm, page);
}
 }
 
@@ -1299,7 +1299,7 @@ int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, 
gva_t gva)
 {
gpa_t gpa = vcpu->mmu.gva_to_gpa(vcpu, gva);
 
-   return kvm_mmu_unprotect_page(vcpu, gpa >> PAGE_SHIFT);
+   return kvm_mmu_unprotect_page(vcpu->kvm, gpa >> PAGE_SHIFT);
 }
 
 void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu)
diff --git a/drivers/kvm/paging_tmpl.h b/drivers/kvm/paging_tmpl.h
index 447d2c3..4f6edf8 100644
--- a/drivers/kvm/paging_tmpl.h
+++ b/drivers/kvm/paging_tmpl.h
@@ -268,11 +268,11 @@ static void FNAME(set_pte_common)(struct kvm_vcpu *vcpu,
 
spte |= PT_WRITABLE_MASK;
if (user_fault) {
-   mmu_unshadow(vcpu, gfn);
+   mmu_unshadow(vcpu->kvm, gfn);
goto unshadowed;
}
 
-   shadow = kvm_mmu_lookup_page(vcpu, gfn);
+   shadow = kvm_mmu_lookup_page(vcpu->kvm, gfn);
if (shadow) {
pgprintk("%s: found shadow page for %lx, marking ro\n",
 __FUNCTION__, gfn);

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] Clean up MMU functions to take struct kvm when appropriate

2007-10-10 Thread Anthony Liguori
Some of the MMU functions take a struct kvm_vcpu even though they effect all
VCPUs.  This patch cleans up some of them to instead take a struct kvm.  This
makes things a bit more clear.

The main thing that was confusing me was whether certain functions need to be
called on all VCPUs.

Signed-off-by: Anthony Liguori <[EMAIL PROTECTED]>

diff --git a/drivers/kvm/mmu.c b/drivers/kvm/mmu.c
index ece0aa4..c260642 100644
--- a/drivers/kvm/mmu.c
+++ b/drivers/kvm/mmu.c
@@ -606,7 +606,7 @@ static void mmu_page_remove_parent_pte(struct kvm_mmu_page 
*page,
BUG();
 }
 
-static struct kvm_mmu_page *kvm_mmu_lookup_page(struct kvm_vcpu *vcpu,
+static struct kvm_mmu_page *kvm_mmu_lookup_page(struct kvm *kvm,
gfn_t gfn)
 {
unsigned index;
@@ -616,7 +616,7 @@ static struct kvm_mmu_page *kvm_mmu_lookup_page(struct 
kvm_vcpu *vcpu,
 
pgprintk("%s: looking for gfn %lx\n", __FUNCTION__, gfn);
index = kvm_page_table_hashfn(gfn) % KVM_NUM_MMU_PAGES;
-   bucket = &vcpu->kvm->mmu_page_hash[index];
+   bucket = &kvm->mmu_page_hash[index];
hlist_for_each_entry(page, node, bucket, hash_link)
if (page->gfn == gfn && !page->role.metaphysical) {
pgprintk("%s: found role %x\n",
@@ -782,7 +782,7 @@ void kvm_mmu_change_mmu_pages(struct kvm *kvm, unsigned int 
kvm_nr_mmu_pages)
kvm->n_alloc_mmu_pages = kvm_nr_mmu_pages;
 }
 
-static int kvm_mmu_unprotect_page(struct kvm_vcpu *vcpu, gfn_t gfn)
+static int kvm_mmu_unprotect_page(struct kvm *kvm, gfn_t gfn)
 {
unsigned index;
struct hlist_head *bucket;
@@ -793,25 +793,25 @@ static int kvm_mmu_unprotect_page(struct kvm_vcpu *vcpu, 
gfn_t gfn)
pgprintk("%s: looking for gfn %lx\n", __FUNCTION__, gfn);
r = 0;
index = kvm_page_table_hashfn(gfn) % KVM_NUM_MMU_PAGES;
-   bucket = &vcpu->kvm->mmu_page_hash[index];
+   bucket = &kvm->mmu_page_hash[index];
hlist_for_each_entry_safe(page, node, n, bucket, hash_link)
if (page->gfn == gfn && !page->role.metaphysical) {
pgprintk("%s: gfn %lx role %x\n", __FUNCTION__, gfn,
 page->role.word);
-   kvm_mmu_zap_page(vcpu->kvm, page);
+   kvm_mmu_zap_page(kvm, page);
r = 1;
}
return r;
 }
 
-static void mmu_unshadow(struct kvm_vcpu *vcpu, gfn_t gfn)
+static void mmu_unshadow(struct kvm *kvm, gfn_t gfn)
 {
struct kvm_mmu_page *page;
 
-   while ((page = kvm_mmu_lookup_page(vcpu, gfn)) != NULL) {
+   while ((page = kvm_mmu_lookup_page(kvm, gfn)) != NULL) {
pgprintk("%s: zap %lx %x\n",
 __FUNCTION__, gfn, page->role.word);
-   kvm_mmu_zap_page(vcpu->kvm, page);
+   kvm_mmu_zap_page(kvm, page);
}
 }
 
diff --git a/drivers/kvm/paging_tmpl.h b/drivers/kvm/paging_tmpl.h
index 447d2c3..4f6edf8 100644
--- a/drivers/kvm/paging_tmpl.h
+++ b/drivers/kvm/paging_tmpl.h
@@ -268,11 +268,11 @@ static void FNAME(set_pte_common)(struct kvm_vcpu *vcpu,
 
spte |= PT_WRITABLE_MASK;
if (user_fault) {
-   mmu_unshadow(vcpu, gfn);
+   mmu_unshadow(vcpu->kvm, gfn);
goto unshadowed;
}
 
-   shadow = kvm_mmu_lookup_page(vcpu, gfn);
+   shadow = kvm_mmu_lookup_page(vcpu->kvm, gfn);
if (shadow) {
pgprintk("%s: found shadow page for %lx, marking ro\n",
 __FUNCTION__, gfn);

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-10 Thread Aurelien Jarno
On Tue, Oct 02, 2007 at 02:38:19PM +0200, Avi Kivity wrote:
> Aurelien Jarno wrote:
> > Avi Kivity a écrit :
> >   
> >> Aurelien Jarno wrote:
> >> 
> >>> Hi all,
> >>>
> >>> That's not something new, but I never seen the problem mentioned here.
> >>> FreeBSD does not work on KVM, approximately since the lapic merge.
> >>>
> >>> However, that does not seem related to lapic, as using -no-kvm-irqchip
> >>> does not help. With -no-kvm I get a page fault in kernel mode, while the
> >>> normal QEMU (0.9.0 or CVS) does not have this problem.
> >>>
> >>> This can be easily reproduced with the latest installation CD:
> >>> ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso
> >>>
> >>>   
> >>>   
> >> It complains about the RSDT checksum.  Running with -no-acpi works 
> >> around the problem (it gets to some country selection screen).  So it 
> >> looks like the ACPI tables are messed up.
> >> 
> >
> > The RSDT checksum problem is not new, but it was harmless on previous
> > versions (like kvm-37).
> >
> > Using -no-acpi, I am able to boot the machine with -no-kvm, but the
> > guest still hang with -no-acpi and with -no-kvm-irqchip or lapic
> > enabled. At least on AMD64, I haven't tested yet on an Intel machine.
> >
> >   
> 
> Hangs on AMD here as well; works on intel (with -no-acpi).

I have finally found time to bisect the problem. The commit that has 
broken FreeBSD on AMD is already a bit old:


commit aa38840d3d2e0a804e628077df8d8879b496d741
Author: Rusty Russell <[EMAIL PROTECTED]>
Date:   Sun Sep 9 14:12:54 2007 +0300

KVM: Clean up unloved invlpg emulation

invlpg shouldn't fetch the "src" address, since it may not be valid,
however SVM's "solution" which neuters emulation of all group 7
instruction is horrible and breaks kvm-lite.  The simplest fix is to
put a special check in for invlpg.

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

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH 2/3] Allow memory to be specified in kvmctl (v2)

2007-10-10 Thread Anthony Liguori
This patch adds a --memory option to kvmctl to allow the memory size of the
guest to be specified.

Since v1, I added more checks for bad input as suggested by Muli.

Signed-off-by: Anthony Liguori <[EMAIL PROTECTED]>

diff --git a/user/main.c b/user/main.c
index 9a57a24..a08e0a7 100644
--- a/user/main.c
+++ b/user/main.c
@@ -57,6 +57,7 @@ static __thread int vcpu;
 static int apic_ipi_vector = 0xff;
 static sigset_t kernel_sigmask;
 static sigset_t ipi_sigmask;
+static uint64_t memory_size = 128 * 1024 * 1024;
 
 struct vcpu_info {
pid_t tid;
@@ -147,7 +148,7 @@ static int test_inl(void *opaque, uint16_t addr, uint32_t 
*value)
 
switch (addr) {
case 0xd1:
-   *value = 128 * 1024 * 1024;
+   *value = memory_size;
break;
default:
printf("inl 0x%x\n", addr);
@@ -328,14 +329,16 @@ static void start_vcpu(int n)
 static void usage(const char *progname)
 {
fprintf(stderr,
-   "Usage: %s [OPTIONS] [bootstrap] flatfile\n"
-   "KVM test harness.\n"
-   "\n"
-   "  -s, --smp=NUM  create a VM with NUM virtual CPUs\n"
-   "  -p, --protected-mode   start VM in protected mode\n"
-   "  -h, --help display this help screen and exit\n"
-   "\n"
-   "Report bugs to .\n"
+"Usage: %s [OPTIONS] [bootstrap] flatfile\n"
+"KVM test harness.\n"
+"\n"
+"  -s, --smp=NUM  create a VM with NUM virtual CPUs\n"
+"  -p, --protected-mode   start VM in protected mode\n"
+"  -m, --memory=NUM[GMKB] allocate NUM memory for virtual machine.  A suffix\n"
+" can be used to change the unit (default: `M')\n"
+"  -h, --help display this help screen and exit\n"
+"\n"
+"Report bugs to .\n"
, progname);
 }
 
@@ -348,16 +351,18 @@ int main(int argc, char **argv)
 {
void *vm_mem;
int i;
-   const char *sopts = "s:ph";
+   const char *sopts = "s:phm:";
struct option lopts[] = {
{ "smp", 1, 0, 's' },
{ "protected-mode", 0, 0, 'p' },
+   { "memory", 1, 0, 'm' },
{ "help", 0, 0, 'h' },
{ 0 },
};
int opt_ind, ch;
bool enter_protected_mode = false;
int nb_args;
+   char *endptr;
 
while ((ch = getopt_long(argc, argv, sopts, lopts, &opt_ind)) != -1) {
switch (ch) {
@@ -367,6 +372,31 @@ int main(int argc, char **argv)
case 'p':
enter_protected_mode = true;
break;
+   case 'm':
+   memory_size = strtoull(optarg, &endptr, 0);
+   switch (*endptr) {
+   case 'G': case 'g':
+   memory_size <<= 30;
+   break;
+   case '\0':
+   case 'M': case 'm':
+   memory_size <<= 20;
+   break;
+   case 'K': case 'k':
+   memory_size <<= 10;
+   break;
+   default:
+   fprintf(stderr,
+   "Unrecongized memory suffix: %c\n",
+   *endptr);
+   exit(1);
+   }
+   if (memory_size == 0) {
+   fprintf(stderr,
+   "Invalid memory size: 0\n");
+   exit(1);
+   }
+   break;
case 'h':
usage(argv[0]);
exit(0);
@@ -401,7 +431,7 @@ int main(int argc, char **argv)
fprintf(stderr, "kvm_init failed\n");
return 1;
}
-   if (kvm_create(kvm, 128 * 1024 * 1024, &vm_mem) < 0) {
+   if (kvm_create(kvm, memory_size, &vm_mem) < 0) {
kvm_finalize(kvm);
fprintf(stderr, "kvm_create failed\n");
return 1;

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH 1/3] Remove memory size from linker script (v2)

2007-10-10 Thread Anthony Liguori
The memory size is currently hardcoded into the linker script (end_of_memory).
This prevents the memory size from being specified dynamically in kvmctl.
This patch adds a PIO port that can be used to query the memory size in the
tests.

Signed-off-by: Anthony Liguori <[EMAIL PROTECTED]>

diff --git a/user/flat.lds b/user/flat.lds
index 7dd922c..61f1057 100644
--- a/user/flat.lds
+++ b/user/flat.lds
@@ -13,6 +13,5 @@ SECTIONS
 .bss : { *(.bss) }
 . = ALIGN(4K);
 edata = .;
-end_of_memory = 128M;
 }
 
diff --git a/user/main.c b/user/main.c
index 3eb8dea..9a57a24 100644
--- a/user/main.c
+++ b/user/main.c
@@ -144,7 +144,15 @@ static int test_inl(void *opaque, uint16_t addr, uint32_t 
*value)
 {
if (apic_io(addr, 0, value))
return 0;
-   printf("inl 0x%x\n", addr);
+
+   switch (addr) {
+   case 0xd1:
+   *value = 128 * 1024 * 1024;
+   break;
+   default:
+   printf("inl 0x%x\n", addr);
+   break;
+   }
return 0;
 }
 
diff --git a/user/test/vm.c b/user/test/vm.c
index 2eb8d96..e0e78d7 100644
--- a/user/test/vm.c
+++ b/user/test/vm.c
@@ -58,7 +58,8 @@ void free_page(void *page)
 free = page;
 }
 
-extern char edata, end_of_memory;
+extern char edata;
+static unsigned long end_of_memory;
 
 #define PTE_PRESENT (1ull << 0)
 #define PTE_PSE (1ull << 7)
@@ -202,10 +203,18 @@ static void setup_mmu(unsigned long len)
 print("paging enabled\n");
 }
 
+static unsigned int inl(unsigned short port)
+{
+unsigned int val;
+asm volatile("inl %w1, %0" : "=a"(val) : "Nd"(port));
+return val;
+}
+
 void setup_vm()
 {
-free_memory(&edata, &end_of_memory - &edata);
-setup_mmu((long)&end_of_memory);
+end_of_memory = inl(0xd1);
+free_memory(&edata, end_of_memory - (unsigned long)&edata);
+setup_mmu(end_of_memory);
 }
 
 void *vmalloc(unsigned long size)

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH 3/3] Use a table to dispatch IO requests in kvmctl (v2)

2007-10-10 Thread Anthony Liguori
This patch attempts to clean up kvmctl so that it can be more easily made to
work for multiple architectures and to support more emulation.

For dispatch, it's using a simple array as suggested by Avi.

For x86, we'll have two tables, a pio_table and an mmio_table.  For PPC we can
just have a single table.  The IO functions can support accesses of up to 8
bytes and can handle input/output in the same function.

I tried to keep this nice and simple so as to not add too much complexity to
kvmctl.

Signed-off-by: Anthony Liguori <[EMAIL PROTECTED]>

diff --git a/user/main.c b/user/main.c
index a08e0a7..b718cc8 100644
--- a/user/main.c
+++ b/user/main.c
@@ -51,6 +51,24 @@ kvm_context_t kvm;
 
 #define IPI_SIGNAL (SIGRTMIN + 4)
 
+#define MAX_IO_TABLE   50
+
+typedef int (io_table_handler_t)(void *, int, int, uint64_t, uint64_t *);
+
+struct io_table_entry
+{
+   uint64_t start;
+   uint64_t end;
+   io_table_handler_t *handler;
+   void *opaque;
+};
+
+struct io_table
+{
+   int nr_entries;
+   struct io_table_entry entries[MAX_IO_TABLE];
+};
+
 static int ncpus = 1;
 static sem_t init_sem;
 static __thread int vcpu;
@@ -59,6 +77,8 @@ static sigset_t kernel_sigmask;
 static sigset_t ipi_sigmask;
 static uint64_t memory_size = 128 * 1024 * 1024;
 
+static struct io_table pio_table;
+
 struct vcpu_info {
pid_t tid;
sem_t sipi_sem;
@@ -68,9 +88,36 @@ struct vcpu_info *vcpus;
 
 static uint32_t apic_sipi_addr;
 
-static int apic_range(unsigned addr)
+struct io_table_entry *io_table_lookup(struct io_table *io_table, uint64_t 
addr)
 {
-   return (addr >= APIC_BASE) && (addr < APIC_BASE + APIC_SIZE);
+   int i;
+
+   for (i = 0; i < io_table->nr_entries; i++) {
+   if (io_table->entries[i].start <= addr &&
+   addr < io_table->entries[i].end)
+   return &io_table->entries[i];
+   }
+
+   return NULL;
+}
+
+int io_table_register(struct io_table *io_table, uint64_t start, uint64_t size,
+ io_table_handler_t *handler, void *opaque)
+{
+   struct io_table_entry *entry;
+
+   if (io_table->nr_entries == MAX_IO_TABLE)
+   return -ENOSPC;
+
+   entry = &io_table->entries[io_table->nr_entries];
+   io_table->nr_entries++;
+
+   entry->start = start;
+   entry->end = start + size;
+   entry->handler = handler;
+   entry->opaque = opaque;
+
+   return 0;
 }
 
 static void apic_send_sipi(int vcpu)
@@ -88,11 +135,9 @@ static void apic_send_ipi(int vcpu)
tkill(v->tid, IPI_SIGNAL);
 }
 
-static int apic_io(unsigned addr, int is_write, uint32_t *value)
+static int apic_io(void *opaque, int size, int is_write,
+  uint64_t addr, uint64_t *value)
 {
-   if (!apic_range(addr))
-   return 0;
-
if (!is_write)
*value = -1u;
 
@@ -126,69 +171,153 @@ static int apic_io(unsigned addr, int is_write, uint32_t 
*value)
apic_send_ipi(*value);
break;
}
-   return 1;
+
+   return 0;
+}
+
+static int apic_init(void)
+{
+   return io_table_register(&pio_table, APIC_BASE,
+APIC_SIZE, apic_io, NULL);
+}
+
+static int misc_io(void *opaque, int size, int is_write,
+  uint64_t addr, uint64_t *value)
+{
+   static int newline = 1;
+
+   if (!is_write)
+   *value = -1;
+
+   switch (addr) {
+   case 0xff: // irq injector
+   if (is_write) {
+   printf("injecting interrupt 0x%x\n", (uint8_t)*value);
+   kvm_inject_irq(kvm, 0, *value);
+   }
+   break;
+   case 0xf1: // serial
+   if (is_write) {
+   if (newline)
+   fputs("GUEST: ", stdout);
+   putchar(*value);
+   newline = *value == '\n';
+   }
+   break;
+   case 0xd1:
+   if (!is_write)
+   *value = memory_size;
+   break;
+   }
+
+   return 0;
+}
+
+static int misc_init(void)
+{
+   int err;
+
+   err = io_table_register(&pio_table, 0xff, 1, misc_io, NULL);
+   if (err < 0)
+   return err;
+
+   err = io_table_register(&pio_table, 0xf1, 1, misc_io, NULL);
+   if (err < 0)
+   return err;
+
+   return io_table_register(&pio_table, 0xd1, 1, misc_io, NULL);
 }
 
 static int test_inb(void *opaque, uint16_t addr, uint8_t *value)
 {
-   printf("inb 0x%x\n", addr);
+   struct io_table_entry *entry;
+
+   entry = io_table_lookup(&pio_table, addr);
+   if (entry) {
+   uint64_t val;
+   entry->handler(entry->opaque, 1, 0, addr, &val);
+   *value = val;
+   } else {
+   *value = -1;
+   printf("inb 0x%x\n", addr);
+   }
+
return 0;
 }
 
 static int 

Re: [kvm-devel] soft lockup after stop/cont

2007-10-10 Thread Jim Paris
Avi Kivity wrote:
> Jim Paris wrote:
> > If I stop KVM in the monitor with "stop", wait a minute, and do
> > "cont", a Linux guest gives me a "BUG: soft lockup detected on CPU#0".
> > Is that expected behavior?  
> 
> No.
> 
> > What isn't virtualized that allows it to
> > detect that?  The host is a core 2 duo.
> 
> It may be that the timer correction code detects that zillions of timer
> interrupts have not been serviced by the guest so it floods the guest
> with these interrupts.  Does -no-kvm-irqchip help?

I can't seem to reproduce the "soft lockup" at the moment, but there's
a "clocksource tsc unstable" that happens pretty reliably when I pause
the VM using stop/cont for about 15 seconds:

$ kvm -M pc -m 256 -smp 1 -boot c -hda test -net none

  stop/cont, guest reports:
Clocksource tsc unstable (delta = 15877929568 ns)
Time: acpi_pm clocksource has been installed.

$ kvm -no-kvm-irqchip -M pc -m 256 -smp 1 -boot c -hda test -net none

  stop/cont, guest seems not to notice.

(Host is 2.6.20.4, kvm-45 modules & userspace, guest 2.6.21)

-jim

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [ kvm-Bugs-1811073 ] XP guest unstable, clamav crashes it

2007-10-10 Thread SourceForge.net
Bugs item #1811073, was opened at 2007-10-10 18:19
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=893831&aid=1811073&group_id=180599

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Marco Menardi (mmenaz)
Assigned to: Nobody/Anonymous (nobody)
Summary: XP guest unstable, clamav crashes it

Initial Comment:
AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
kvm 45 and 46
host: uname -r: 2.6.22-2-amd64
Debian GNU/Linux unstable for AMD 64
Guest: WinXP pro 32bit

/opt/kvm/bin/qemu-system-x86_64 -boot c -hda winXP_01_TEST.img -m 1024 
-localtime -std-vga &

With KVM-36 everything works fine
With KVM-45 and 46, I have the following problems:
a) clamav with memory test: kvm-45 reboots XP abruptly during the test; kvm-46 
once seemd not to start (like in a forever loop), second time (after exit, 
re-run XP) run well, 3 time run well but rebooted the OS when I closed the 
program
b) using Paltalk and opening some videos (is streaming video got from their 
server) works fine with kvm-36, while with kvm 45 and 46 crashes paltalk after 
10 minutes or so.

Often after the crash XP reboots multiple times, and I briefly see a message by 
XP boot process (before entering in graphical mode) with something like 
"IRQ_NOT_LESS_OR_EQUAL", but I could be wrong with the spell.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=893831&aid=1811073&group_id=180599

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] Working on an entry-level project

2007-10-10 Thread Cam Macdonell
Izik Eidus wrote:
> Cam Macdonell wrote:
>> Hi,
>>
>>   
> sorry, but patch for that feature was already wrote by someone.
> 
> but you are more than welcome to try/ask about something else.

Ah, I should've searched the list.  Is there another project of similar 
scope that would be of use?

Thanks,
Cam

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] Working on an entry-level project

2007-10-10 Thread Izik Eidus
Cam Macdonell wrote:
> Hi,
>
> I'm interested in working on one of the entry-level projects on the TODO 
> list to get my feet wet with the code.  My preference is allowing CPU 
> features to be passed to the guest.  So I two things:  I want to check 
> if anyone is working on these already and if not can someone please 
> expand a little on what is wanted?  Any feedback or pointers on what 
> features would be most useful is also welcome.
>
> Thanks,
> Cam
>   
sorry, but patch for that feature was already wrote by someone.

but you are more than welcome to try/ask about something else.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] Working on an entry-level project

2007-10-10 Thread Cam Macdonell

Hi,

I'm interested in working on one of the entry-level projects on the TODO 
list to get my feet wet with the code.  My preference is allowing CPU 
features to be passed to the guest.  So I two things:  I want to check 
if anyone is working on these already and if not can someone please 
expand a little on what is wanted?  Any feedback or pointers on what 
features would be most useful is also welcome.

Thanks,
Cam

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] OpenBSD 4.1 failes with kvm-45

2007-10-10 Thread Avi Kivity
Oliver Kowalke wrote:
> Am Mittwoch, 10. Oktober 2007 14:17:56 schrieb Alexey Eremenko:
>   
>> On 10/10/07, Izik Eidus <[EMAIL PROTECTED]> wrote:
>> 
>>> Oliver Kowalke wrote:
>>>   
 Hi,
 I've Debian/Lenny (amd64) with kernel 2.6.22-9 (kvm-support build in)
 with kvm-45 running.
 WinXP, FreeBSD-6.2 (i386) and NetBSD-3.1 (i386) are working.
 I've only a problem running OpenBSD-4.1 (i386). The installation
 succeeded, but if I start OpenBSD I get following error:

 cpu0: QEMU Virtual CPU version 0.9.0
 cpu0: unknown i686 model 2, can't get bus clockkernel: protection fault
 trap, code=0
 
>> This is strange, because I have OpenBSD running fine on KVM-45.
>>
>> Which CPU ? Intel or AMD?
>>
>> please do:
>> modinfo kvm_intel
>> modinfo kvm_amd
>> 
>
> Hi,
> I'm using Intel c2d 6600 and I've compiled the kvm spport into the kernel (so 
> no modules).
>   

That means you're using a fairly old version of the kvm kernel 
components.  Perhaps a bug that openbsd hit was fixed later on.

I suggest you try with the kvm-45 modules to be sure.


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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] OpenBSD 4.1 failes with kvm-45

2007-10-10 Thread Oliver Kowalke
Am Mittwoch, 10. Oktober 2007 14:17:56 schrieb Alexey Eremenko:
> On 10/10/07, Izik Eidus <[EMAIL PROTECTED]> wrote:
> > Oliver Kowalke wrote:
> > > Hi,
> > > I've Debian/Lenny (amd64) with kernel 2.6.22-9 (kvm-support build in)
> > > with kvm-45 running.
> > > WinXP, FreeBSD-6.2 (i386) and NetBSD-3.1 (i386) are working.
> > > I've only a problem running OpenBSD-4.1 (i386). The installation
> > > succeeded, but if I start OpenBSD I get following error:
> > >
> > > cpu0: QEMU Virtual CPU version 0.9.0
> > > cpu0: unknown i686 model 2, can't get bus clockkernel: protection fault
> > > trap, code=0
>
> This is strange, because I have OpenBSD running fine on KVM-45.
>
> Which CPU ? Intel or AMD?
>
> please do:
> modinfo kvm_intel
> modinfo kvm_amd

Hi,
I'm using Intel c2d 6600 and I've compiled the kvm spport into the kernel (so 
no modules).
regards, Oliver

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Haydn Solomon
Thanks for clearing that up.


On 10/10/07, Dor Laor <[EMAIL PROTECTED]> wrote:
>
> Haydn Solomon wrote:
> > Should we be seeing a mmap file when running guests now or do we have
> > to use a special flag when running kvm?
> >
> Nope, the default is user space allocation were a regular malloc is used
> for allocating the guest ram from userspace.
> The mmap is for future shared memory implementations for parts of the
> guest memory space.
> > On 10/10/07, *Avi Kivity* < [EMAIL PROTECTED]
> > > wrote:
> >
> > Daniel P. Berrange wrote:
> > > On Wed, Oct 10, 2007 at 10:28:24AM +0200, Avi Kivity wrote:
> > >
> > >> We've now switched to allocating guest memory in userspace
> > rather than
> > >> in the kernel.  This is important if you have a mainframe, but
> > also if
> > >> you want to share memory between guests and implement nice
> > features like
> > >> swapping.
> > >>
> > >
> > > Is the memory allocation swappable by default, or still pinned
> > in RAM by
> > > default ?
> > >
> > >
> >
> > It's still not swappable.  That will come in a future release.
> >
> >
> > --
> > error compiling committee.c: too many arguments to function
> >
> >
> >
> -
> > This SF.net email is sponsored by: Splunk Inc.
> > Still grepping through log files to find problems?  Stop.
> > Now Search log events and configuration files using AJAX and a
> > browser.
> > Download your FREE copy of Splunk now >> http://get.splunk.com/
> > ___
> > kvm-devel mailing list
> > kvm-devel@lists.sourceforge.net
> > 
> > https://lists.sourceforge.net/lists/listinfo/kvm-devel
> > 
> >
> >
> > 
> >
> >
> -
> > This SF.net email is sponsored by: Splunk Inc.
> > Still grepping through log files to find problems?  Stop.
> > Now Search log events and configuration files using AJAX and a browser.
> > Download your FREE copy of Splunk now >> http://get.splunk.com/
> > 
> >
> > ___
> > kvm-devel mailing list
> > kvm-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/kvm-devel
> >
>
>
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] RFC/patch: a very trivial patch towards portability V3

2007-10-10 Thread Carsten Otte
Thanks to Avi's continued review, we've got even more common code this
time: KVM_CHECK_EXTENSION ioctl is now completely handled in kvm_main.c
instead of having arch callbacks to check extensions. The architectures
are expected to setup a bit mask named KVM_ARCH_EXTENSIONS with
information about capabilities they support. Possible valus for the bit
masks are defined in drivers/kvm/kvm.h (KVM_ARCH_HAS_*), which rely on
KVM_CAP_* definitions in include/linux/kvm.h.
Function prototypes in drivers/kvm/kvm.h have been fixed: they have
argument names now.

signed-off-by: Carsten Otte <[EMAIL PROTECTED]>
---
Index: kvm/drivers/kvm/kvm.h
===
--- kvm.orig/drivers/kvm/kvm.h  2007-10-10 12:42:21.0 +0200
+++ kvm/drivers/kvm/kvm.h   2007-10-10 17:00:12.0 +0200
@@ -64,6 +64,12 @@
 
 #define KVM_PIO_PAGE_OFFSET 1
 
+#define KVM_ARCH_HAS_IRQCHIP  (1ull << KVM_CAP_IRQCHIP)
+#define KVM_ARCH_HAS_HLT (1ull << KVM_CAP_HLT)
+#define KVM_ARCH_HAS_MMU_SHADOW_CACHE_CONTROL \ 
+(1ull << KVM_CAP_MMU_SHADOW_CACHE_CONTROL)
+#define KVM_ARCH_HAS_USER_MEMORY  (1ull << KVM_CAP_USER_MEMORY)
+
 /*
  * vcpu->requests bit members
  */
@@ -653,6 +659,10 @@
 
 int kvm_fix_hypercall(struct kvm_vcpu *vcpu);
 
+long kvm_arch_dev_ioctl(struct file *filp,
+   unsigned int ioctl, unsigned long arg);
+__init void kvm_arch_init(void);
+
 static inline int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t gva,
 u32 error_code)
 {
Index: kvm/drivers/kvm/Makefile
===
--- kvm.orig/drivers/kvm/Makefile   2007-10-10 11:35:01.0 +0200
+++ kvm/drivers/kvm/Makefile2007-10-10 14:36:36.0 +0200
@@ -2,7 +2,7 @@
 # Makefile for Kernel-based Virtual Machine module
 #
 
-kvm-objs := kvm_main.o mmu.o x86_emulate.o i8259.o irq.o lapic.o ioapic.o
+kvm-objs := kvm_main.o x86.o mmu.o x86_emulate.o i8259.o irq.o lapic.o ioapic.o
 obj-$(CONFIG_KVM) += kvm.o
 kvm-intel-objs = vmx.o
 obj-$(CONFIG_KVM_INTEL) += kvm-intel.o
Index: kvm/drivers/kvm/kvm_main.c
===
--- kvm.orig/drivers/kvm/kvm_main.c 2007-10-10 11:34:07.0 +0200
+++ kvm/drivers/kvm/kvm_main.c  2007-10-10 16:57:05.0 +0200
@@ -16,6 +16,7 @@
  */
 
 #include "kvm.h"
+#include "x86.h"
 #include "x86_emulate.h"
 #include "segment_descriptor.h"
 #include "irq.h"
@@ -45,7 +46,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 
 MODULE_AUTHOR("Qumranet");
@@ -2518,43 +2518,6 @@
 EXPORT_SYMBOL_GPL(kvm_get_cs_db_l_bits);
 
 /*
- * List of msr numbers which we expose to userspace through KVM_GET_MSRS
- * and KVM_SET_MSRS, and KVM_GET_MSR_INDEX_LIST.
- *
- * This list is modified at module load time to reflect the
- * capabilities of the host cpu.
- */
-static u32 msrs_to_save[] = {
-   MSR_IA32_SYSENTER_CS, MSR_IA32_SYSENTER_ESP, MSR_IA32_SYSENTER_EIP,
-   MSR_K6_STAR,
-#ifdef CONFIG_X86_64
-   MSR_CSTAR, MSR_KERNEL_GS_BASE, MSR_SYSCALL_MASK, MSR_LSTAR,
-#endif
-   MSR_IA32_TIME_STAMP_COUNTER,
-};
-
-static unsigned num_msrs_to_save;
-
-static u32 emulated_msrs[] = {
-   MSR_IA32_MISC_ENABLE,
-};
-
-static __init void kvm_init_msr_list(void)
-{
-   u32 dummy[2];
-   unsigned i, j;
-
-   for (i = j = 0; i < ARRAY_SIZE(msrs_to_save); i++) {
-   if (rdmsr_safe(msrs_to_save[i], &dummy[0], &dummy[1]) < 0)
-   continue;
-   if (j < i)
-   msrs_to_save[j] = msrs_to_save[i];
-   j++;
-   }
-   num_msrs_to_save = j;
-}
-
-/*
  * Adapt set_msr() to msr_io()'s calling convention
  */
 static int do_set_msr(struct kvm_vcpu *vcpu, unsigned index, u64 *data)
@@ -3366,57 +3329,25 @@
goto out;
r = kvm_dev_ioctl_create_vm();
break;
-   case KVM_GET_MSR_INDEX_LIST: {
-   struct kvm_msr_list __user *user_msr_list = argp;
-   struct kvm_msr_list msr_list;
-   unsigned n;
-
-   r = -EFAULT;
-   if (copy_from_user(&msr_list, user_msr_list, sizeof msr_list))
-   goto out;
-   n = msr_list.nmsrs;
-   msr_list.nmsrs = num_msrs_to_save + ARRAY_SIZE(emulated_msrs);
-   if (copy_to_user(user_msr_list, &msr_list, sizeof msr_list))
-   goto out;
-   r = -E2BIG;
-   if (n < num_msrs_to_save)
-   goto out;
-   r = -EFAULT;
-   if (copy_to_user(user_msr_list->indices, &msrs_to_save,
-num_msrs_to_save * sizeof(u32)))
-   goto out;
-   if (copy_to_user(user_msr_list->indices
-+ num_msrs_to_save * sizeof(u32),
-   

Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Dor Laor
Haydn Solomon wrote:
> Should we be seeing a mmap file when running guests now or do we have 
> to use a special flag when running kvm?
>
Nope, the default is user space allocation were a regular malloc is used 
for allocating the guest ram from userspace.
The mmap is for future shared memory implementations for parts of the 
guest memory space.
> On 10/10/07, *Avi Kivity* < [EMAIL PROTECTED] 
> > wrote:
>
> Daniel P. Berrange wrote:
> > On Wed, Oct 10, 2007 at 10:28:24AM +0200, Avi Kivity wrote:
> >
> >> We've now switched to allocating guest memory in userspace
> rather than
> >> in the kernel.  This is important if you have a mainframe, but
> also if
> >> you want to share memory between guests and implement nice
> features like
> >> swapping.
> >>
> >
> > Is the memory allocation swappable by default, or still pinned
> in RAM by
> > default ?
> >
> >
>
> It's still not swappable.  That will come in a future release.
>
>
> --
> error compiling committee.c: too many arguments to function
>
>
> -
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a
> browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> ___
> kvm-devel mailing list
> kvm-devel@lists.sourceforge.net
> 
> https://lists.sourceforge.net/lists/listinfo/kvm-devel
> 
>
>
> 
>
> -
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> 
>
> ___
> kvm-devel mailing list
> kvm-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kvm-devel
>   


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] RFC/patch: a very trivial patch towards portability V2.1

2007-10-10 Thread Carsten Otte
Avi Kivity wrote:
> Argument names in prototypes please.
Will do that.

>>  case KVM_CHECK_EXTENSION: {
>>  int ext = (long)argp;
>>  
>> -switch (ext) {
>> -case KVM_CAP_IRQCHIP:
>> -case KVM_CAP_HLT:
>> -case KVM_CAP_MMU_SHADOW_CACHE_CONTROL:
>> -case KVM_CAP_USER_MEMORY:
>> -r = 1;
>> -break;
>> -default:
>> -r = 0;
>> -break;
>> -}
>> +r = kvm_arch_check_extension(ext);
>>  break;
>>
>>   
> 
> 
> Reflecting some more, do we want different API availablility for 
> different archs?  We can make this generic, and ignore arch-specific 
> extensions.
> 
> But on the other hand, things like KVM_CAP_IRQCHIP _are_ applicable to 
> powerpc, but may not be implemented from day 1... should we do
> 
> case KVM_CAP_IRQCHIP:
> return KVM_ARCH_HAS_IRQCHIP;
> 
> ?
Will do that too.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Use a table to dispatch IO requests in kvmctl

2007-10-10 Thread Anthony Liguori
Avi Kivity wrote:
> Anthony Liguori wrote:
>>>

 QEMU uses an array for PIO but a table for MMIO.  I figured it 
 would be best to just use the same table.
>>>
>>> Or the same array?
>>
>> Indexed by the address or just sorted and searchable?  MMIO addresses 
>> are rather sparse so the former seems like the only sane thing.  
>
> I'm betting that a plain unsorted array will beat anything else with 
> less than 50 entries.  Also that the difference will be swamped by 
> vmexit costs and by the actual emulation costs.
>
>> It also has to support subpage granularity.
>
> My patent pending unsorted array supports that out of the box.

heh :-)  Okay, I'll make the change.

Regards,

Anthony LIguori


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] OpenSolaris 09/2007 (Sun Solaris Express)

2007-10-10 Thread magicboiz
Hi list,

you I always report OS that do not start with kvm :))

Sun Solaris Express(9/07), does not detect the hard disk..I attach
an screenshot.

Kernel:2.6.23
kvm: 45 and 46
CPU: Intel(R) Core(TM)2 CPU T7200  @ 2.00GHz
<>-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Haydn Solomon
Should we be seeing a mmap file when running guests now or do we have to use
a special flag when running kvm?

On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
>
> Daniel P. Berrange wrote:
> > On Wed, Oct 10, 2007 at 10:28:24AM +0200, Avi Kivity wrote:
> >
> >> We've now switched to allocating guest memory in userspace rather than
> >> in the kernel.  This is important if you have a mainframe, but also if
> >> you want to share memory between guests and implement nice features
> like
> >> swapping.
> >>
> >
> > Is the memory allocation swappable by default, or still pinned in RAM by
> > default ?
> >
> >
>
> It's still not swappable.  That will come in a future release.
>
>
> --
> error compiling committee.c: too many arguments to function
>
>
> -
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> ___
> kvm-devel mailing list
> kvm-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kvm-devel
>
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Use a table to dispatch IO requests in kvmctl

2007-10-10 Thread Avi Kivity
Anthony Liguori wrote:
>>
>>>
>>> QEMU uses an array for PIO but a table for MMIO.  I figured it would 
>>> be best to just use the same table.
>>
>> Or the same array?
>
> Indexed by the address or just sorted and searchable?  MMIO addresses 
> are rather sparse so the former seems like the only sane thing.  

I'm betting that a plain unsorted array will beat anything else with 
less than 50 entries.  Also that the difference will be swamped by 
vmexit costs and by the actual emulation costs.

> It also has to support subpage granularity.

My patent pending unsorted array supports that out of the box.

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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-10 Thread Aurelien Jarno
Avi Kivity a écrit :
> Aurelien Jarno wrote:
>> Avi Kivity a écrit :
>>   
>>> Aurelien Jarno wrote:
>>> 
>> I also confirm that using -no-acpi fixes the problem. However, I have
>> seen strange data corruption, even on Intel.
>>
>> Basically, booting a recently installed FreeBSD leads to the following
>> message from the bootloader: "No kernel found". And the next time, I get
>> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk".
>>
>> Looking at the disk image, the partition table (and maybe more?) has
>> disappeared. This is with a raw image disk.
>>

[snip]

>> After a few more tests, I have been able to reproduce it with the
>> current CVS version of QEMU. I conclude this is a QEMU or a BIOS
>> problem, and not a KVM one.
>>
>> Sorry for the noise.
>>   
> 
> Well, it still needs to be fixed.  I think there's a git import of qemu 
> available somewhere, that can be used for bisecting.
> 

Well the IDE code hasn't changed a lot recently, so I checked the CVS
history and easily (first test) found the commit that causes the problem:

Last AIO patch, by Vladimir N. Oleynik.

http://cvs.savannah.nongnu.org/viewvc/qemu/hw/ide.c?root=qemu&r1=1.64&r2=1.65

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Use a table to dispatch IO requests in kvmctl

2007-10-10 Thread Anthony Liguori
Avi Kivity wrote:
> Anthony Liguori wrote:
>> Avi Kivity wrote:
>>> Anthony Liguori wrote:
>>>  
 This patch attempts to clean up kvmctl so that it can be more 
 easily made to
 work for multiple architectures and to support more emulation.

 It introduces a io dispatch mechanism.  This mechanism supports 
 subpage
 granularity but is optimized to efficiently cover regions of pages 
 too.  It's
 a 64-bit address space that's structured as a 5-level table.
   
>>>
>>>
>>> Why not use a simple array?
>>>   
>>
>> For MMIO too?
>
> Yes.
>
>>
>> QEMU uses an array for PIO but a table for MMIO.  I figured it would 
>> be best to just use the same table.
>
> Or the same array?

Indexed by the address or just sorted and searchable?  MMIO addresses 
are rather sparse so the former seems like the only sane thing.  It also 
has to support subpage granularity.

Regards,

Anthony Liguori


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Avi Kivity
Daniel P. Berrange wrote:
> On Wed, Oct 10, 2007 at 10:28:24AM +0200, Avi Kivity wrote:
>   
>> We've now switched to allocating guest memory in userspace rather than
>> in the kernel.  This is important if you have a mainframe, but also if
>> you want to share memory between guests and implement nice features like
>> swapping.
>> 
>
> Is the memory allocation swappable by default, or still pinned in RAM by
> default ?
>
>   

It's still not swappable.  That will come in a future release.


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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Daniel P. Berrange
On Wed, Oct 10, 2007 at 10:28:24AM +0200, Avi Kivity wrote:
> We've now switched to allocating guest memory in userspace rather than
> in the kernel.  This is important if you have a mainframe, but also if
> you want to share memory between guests and implement nice features like
> swapping.

Is the memory allocation swappable by default, or still pinned in RAM by
default ?

Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-   Perl modules: http://search.cpan.org/~danberr/  -=|
|=-   Projects: http://freshmeat.net/~danielpb/   -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Use a table to dispatch IO requests in kvmctl

2007-10-10 Thread Avi Kivity
Anthony Liguori wrote:
> Avi Kivity wrote:
>> Anthony Liguori wrote:
>>  
>>> This patch attempts to clean up kvmctl so that it can be more easily 
>>> made to
>>> work for multiple architectures and to support more emulation.
>>>
>>> It introduces a io dispatch mechanism.  This mechanism supports subpage
>>> granularity but is optimized to efficiently cover regions of pages 
>>> too.  It's
>>> a 64-bit address space that's structured as a 5-level table.
>>>   
>>
>>
>> Why not use a simple array?
>>   
>
> For MMIO too?

Yes.

>
> QEMU uses an array for PIO but a table for MMIO.  I figured it would 
> be best to just use the same table.

Or the same array?


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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Use a table to dispatch IO requests in kvmctl

2007-10-10 Thread Anthony Liguori
Avi Kivity wrote:
> Anthony Liguori wrote:
>   
>> This patch attempts to clean up kvmctl so that it can be more easily made to
>> work for multiple architectures and to support more emulation.
>>
>> It introduces a io dispatch mechanism.  This mechanism supports subpage
>> granularity but is optimized to efficiently cover regions of pages too.  It's
>> a 64-bit address space that's structured as a 5-level table.
>>   
>> 
>
>
> Why not use a simple array?
>   

For MMIO too?

QEMU uses an array for PIO but a table for MMIO.  I figured it would be 
best to just use the same table.

Regards,

Anthony Liguori


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-10 Thread Avi Kivity
Aurelien Jarno wrote:
> Avi Kivity a écrit :
>   
>> Aurelien Jarno wrote:
>> 
> I also confirm that using -no-acpi fixes the problem. However, I have
> seen strange data corruption, even on Intel.
>
> Basically, booting a recently installed FreeBSD leads to the following
> message from the bootloader: "No kernel found". And the next time, I get
> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk".
>
> Looking at the disk image, the partition table (and maybe more?) has
> disappeared. This is with a raw image disk.
>
> If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear.
>   
>   
 I have just got the problem with -no-kvm-irqchip, though it seems to
 happen less often.
 
 
>>> The data corruption seems to come from the userspace part, as I am not
>>> able to reproduce it with the kvm-45 module, and the kvm-44 userspace.
>>>
>>>   
>>>   
>> Does it occur with -no-kvm?
>>
>> 
>
> After a few more tests, I have been able to reproduce it with the
> current CVS version of QEMU. I conclude this is a QEMU or a BIOS
> problem, and not a KVM one.
>
> Sorry for the noise.
>   

Well, it still needs to be fixed.  I think there's a git import of qemu 
available somewhere, that can be used for bisecting.

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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] RFC/patch: a very trivial patch towards portability V2.1

2007-10-10 Thread Avi Kivity
Carsten Otte wrote:
> Christian Borntraeger pointed out that Avi requested to rename kvm_x86.c
> to x86.c. The patch below is the same as V2, but the files kvm_x86.[ch]
> have been renamed to x86.[ch], and the #includes have been updated.
>
> signed-off-by: Carsten Otte <[EMAIL PROTECTED]>
> ---
> Index: kvm/drivers/kvm/kvm.h
> ===
> --- kvm.orig/drivers/kvm/kvm.h2007-10-10 12:42:21.0 +0200
> +++ kvm/drivers/kvm/kvm.h 2007-10-10 14:12:30.0 +0200
> @@ -653,6 +653,11 @@
>  
>  int kvm_fix_hypercall(struct kvm_vcpu *vcpu);
>  
> +long kvm_arch_dev_ioctl(struct file *,
> + unsigned int, unsigned long);
> +__init void kvm_arch_init(void);
> +long kvm_arch_check_extension(int);
>   

Argument names in prototypes please.

>   case KVM_CHECK_EXTENSION: {
>   int ext = (long)argp;
>  
> - switch (ext) {
> - case KVM_CAP_IRQCHIP:
> - case KVM_CAP_HLT:
> - case KVM_CAP_MMU_SHADOW_CACHE_CONTROL:
> - case KVM_CAP_USER_MEMORY:
> - r = 1;
> - break;
> - default:
> - r = 0;
> - break;
> - }
> + r = kvm_arch_check_extension(ext);
>   break;
>
>   


Reflecting some more, do we want different API availablility for 
different archs?  We can make this generic, and ignore arch-specific 
extensions.

But on the other hand, things like KVM_CAP_IRQCHIP _are_ applicable to 
powerpc, but may not be implemented from day 1... should we do

case KVM_CAP_IRQCHIP:
return KVM_ARCH_HAS_IRQCHIP;

?

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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-10 Thread Aurelien Jarno
Avi Kivity a écrit :
> Aurelien Jarno wrote:
 I also confirm that using -no-acpi fixes the problem. However, I have
 seen strange data corruption, even on Intel.

 Basically, booting a recently installed FreeBSD leads to the following
 message from the bootloader: "No kernel found". And the next time, I get
 from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk".

 Looking at the disk image, the partition table (and maybe more?) has
 disappeared. This is with a raw image disk.

 If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear.
   
>>> I have just got the problem with -no-kvm-irqchip, though it seems to
>>> happen less often.
>>> 
>> The data corruption seems to come from the userspace part, as I am not
>> able to reproduce it with the kvm-45 module, and the kvm-44 userspace.
>>
>>   
> 
> Does it occur with -no-kvm?
> 

After a few more tests, I have been able to reproduce it with the
current CVS version of QEMU. I conclude this is a QEMU or a BIOS
problem, and not a KVM one.

Sorry for the noise.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Farkas Levente
Avi Kivity wrote:
> Farkas Levente wrote:
 we did a quick test against this version and it's turn out the smp
 guests are still not working. even if we start only one linux guest
 with
 4cpu on 4cpu host the guest kernel hangs at random stages of the kernel
 loading process (if we run more smp guests then they hang earlier, but
 different random stage), but it's never reach the end of the kernel so
 hang somewhere inside the kernel. and the cpu usage of these process
 goes up to until the qemu-kvm processes eat all cpus (ie. 100%). t
   
>>> What host cpu are you using?  What guest kernel version?  32-bit or
>>> 64-bit?
>>>
>>> I have no problems running a 4-way Linux guest here.
>>> 
>>
>> - host:
>>   - Intel(R) Core(TM)2 Quad CPU Q6600  @ 2.40GHz
>>   - Intel S3000AHV
>>   - 8GB RAM
>>   - CentOS-5
>>   - kernel-2.6.18-8.1.14.el5 x86_64 64bit
>> - guest-1:
>>   - CentOS-5
>>   - kernel-2.6.18-8.1.14.el5 i386 32bit
>> - guest-2:
>>   - CentOS-5
>>   - kernel-2.6.18-8.1.14.el5 x86_64 64bit
>> - guest-3:
>>   - Mandrake-9
>>   - kernel-2.4.19.16mdk-1-1mdk 32bit
>> - guest-4:
>>   - Windows XP Professional 32bit
>>
>> start the first guest-1 with 4cpu produce the above hang. (and of course
>> using kvm-46:-)
>>
>>   
> 
> Is it the only guest that hangs with -smp 4?  Or all of them?

if i start this guest alone it's hang. if i start all guest-{1,2,3,4}
than all linux guest hangs expect windows which runs but see only one
cpu. ok now i try it for you:-) so:

- host + guest-1 -> hang

- host + guest-2 -> hang
in this case i've got a stack trace too on the host, and the host
working 2 more minutes (!?) so i see the top part of the stack
(shift-pageup) but when i try to take a picture the host crash and i can
only see the end:-( but next time i bale to catch it:
---
BUG: soft lockup detected on CPU#0!

Call Trace:
   [] softlockup_tick+0xdb/0xed
 [] update_process_times+0x42/0x68
 [] smp_local_timer_interrupt+0x23/0x47
 [] smp_apic_timer_interrupt+0x41/0x47
 [] apic_timer_interrupt+0x66/0x6c
   [] :kvm:kvm_flush_remote_tlbs+0xfb/0x109
 [] :kvm:kvm_flush_remote_tlbs+0xea/0x109
 [] :kvm:kvm_mmu_pte_write+0x1fc/0x330
 [] :kvm:kvm_write_guest_page+0x98/0xa3
 [] :kvm:emulator_write_emulated_onepage+0x6e/0xce
 [] :kvm:x86_emulate_insn+0x2b99/0x3e58
 [] __memset+0x39/0xc0
 [] :kvm_intel:vmcs_readl+0x17/0x1c
 [] :kvm:emulate_instruction+0x152/0x290
 [] :kvm_intel:handle_exception+0x170/0x250
 [] :kvm:kvm_vcpu_ioctl+0x34b/0x10ba
 [] :kvm:kvm_vcpu_kick+0x34/0x8e
 [] :kvm:kvm_vm_ioctl+0x48a/0x6af
 [] zone_statistics+0x3e/0x6d
 [] get_page_from_freelist+0x35d/0x3cf
 [] zone_statistics+0x3e/0x6d
 [] get_page_from_freelist+0x35d/0x3cf
 [] __alloc_pages+0x65/0x2b2
 [] __next_cpu+0x19/0x28
 [] find_busiest_group+0x20d/0x621
 [] __next_cpu+0x19/0x28
 [] smp_send_reschedule+0x4e/0x53
 [] enqueue_task+0x41/0x56
 [] __activate_task+0x27/0x39
 [] try_to_wake_up+0x407/0x418
 [] __wake_up_common+0x3e/0x68
 [] __wake_up+0x38/0x4f
 [] __up_read+0x19/0x7f
 [] avc_has_perm+0x43/0x55
 [] inode_has_perm+0x56/0x63
 [] default_wake_function+0x0/0xe
 [] file_has_perm+0x94/0xa3
 [] do_ioctl+0x21/0x6b
 [] vfs_ioctl+0x248/0x261
 [] sys_ioctl+0x59/0x78
 [] tracesys+0xd1/0xdc
---
i hope shouldn't have to test all other guests:-(
but if i can help you in something more specific let me know:-)




-- 
  Levente   "Si vis pacem para bellum!"

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] RFC/patch: a very trivial patch towards portability V2.1

2007-10-10 Thread Carsten Otte
Christian Borntraeger pointed out that Avi requested to rename kvm_x86.c
to x86.c. The patch below is the same as V2, but the files kvm_x86.[ch]
have been renamed to x86.[ch], and the #includes have been updated.

signed-off-by: Carsten Otte <[EMAIL PROTECTED]>
---
Index: kvm/drivers/kvm/kvm.h
===
--- kvm.orig/drivers/kvm/kvm.h  2007-10-10 12:42:21.0 +0200
+++ kvm/drivers/kvm/kvm.h   2007-10-10 14:12:30.0 +0200
@@ -653,6 +653,11 @@
 
 int kvm_fix_hypercall(struct kvm_vcpu *vcpu);
 
+long kvm_arch_dev_ioctl(struct file *,
+   unsigned int, unsigned long);
+__init void kvm_arch_init(void);
+long kvm_arch_check_extension(int);
+
 static inline int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t gva,
 u32 error_code)
 {
Index: kvm/drivers/kvm/Makefile
===
--- kvm.orig/drivers/kvm/Makefile   2007-10-10 11:35:01.0 +0200
+++ kvm/drivers/kvm/Makefile2007-10-10 14:36:36.0 +0200
@@ -2,7 +2,7 @@
 # Makefile for Kernel-based Virtual Machine module
 #
 
-kvm-objs := kvm_main.o mmu.o x86_emulate.o i8259.o irq.o lapic.o ioapic.o
+kvm-objs := kvm_main.o x86.o mmu.o x86_emulate.o i8259.o irq.o lapic.o ioapic.o
 obj-$(CONFIG_KVM) += kvm.o
 kvm-intel-objs = vmx.o
 obj-$(CONFIG_KVM_INTEL) += kvm-intel.o
Index: kvm/drivers/kvm/kvm_main.c
===
--- kvm.orig/drivers/kvm/kvm_main.c 2007-10-10 11:34:07.0 +0200
+++ kvm/drivers/kvm/kvm_main.c  2007-10-10 14:36:28.0 +0200
@@ -16,6 +16,7 @@
  */
 
 #include "kvm.h"
+#include "x86.h"
 #include "x86_emulate.h"
 #include "segment_descriptor.h"
 #include "irq.h"
@@ -45,7 +46,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 
 MODULE_AUTHOR("Qumranet");
@@ -2518,43 +2518,6 @@
 EXPORT_SYMBOL_GPL(kvm_get_cs_db_l_bits);
 
 /*
- * List of msr numbers which we expose to userspace through KVM_GET_MSRS
- * and KVM_SET_MSRS, and KVM_GET_MSR_INDEX_LIST.
- *
- * This list is modified at module load time to reflect the
- * capabilities of the host cpu.
- */
-static u32 msrs_to_save[] = {
-   MSR_IA32_SYSENTER_CS, MSR_IA32_SYSENTER_ESP, MSR_IA32_SYSENTER_EIP,
-   MSR_K6_STAR,
-#ifdef CONFIG_X86_64
-   MSR_CSTAR, MSR_KERNEL_GS_BASE, MSR_SYSCALL_MASK, MSR_LSTAR,
-#endif
-   MSR_IA32_TIME_STAMP_COUNTER,
-};
-
-static unsigned num_msrs_to_save;
-
-static u32 emulated_msrs[] = {
-   MSR_IA32_MISC_ENABLE,
-};
-
-static __init void kvm_init_msr_list(void)
-{
-   u32 dummy[2];
-   unsigned i, j;
-
-   for (i = j = 0; i < ARRAY_SIZE(msrs_to_save); i++) {
-   if (rdmsr_safe(msrs_to_save[i], &dummy[0], &dummy[1]) < 0)
-   continue;
-   if (j < i)
-   msrs_to_save[j] = msrs_to_save[i];
-   j++;
-   }
-   num_msrs_to_save = j;
-}
-
-/*
  * Adapt set_msr() to msr_io()'s calling convention
  */
 static int do_set_msr(struct kvm_vcpu *vcpu, unsigned index, u64 *data)
@@ -3366,57 +3329,20 @@
goto out;
r = kvm_dev_ioctl_create_vm();
break;
-   case KVM_GET_MSR_INDEX_LIST: {
-   struct kvm_msr_list __user *user_msr_list = argp;
-   struct kvm_msr_list msr_list;
-   unsigned n;
-
-   r = -EFAULT;
-   if (copy_from_user(&msr_list, user_msr_list, sizeof msr_list))
-   goto out;
-   n = msr_list.nmsrs;
-   msr_list.nmsrs = num_msrs_to_save + ARRAY_SIZE(emulated_msrs);
-   if (copy_to_user(user_msr_list, &msr_list, sizeof msr_list))
-   goto out;
-   r = -E2BIG;
-   if (n < num_msrs_to_save)
-   goto out;
-   r = -EFAULT;
-   if (copy_to_user(user_msr_list->indices, &msrs_to_save,
-num_msrs_to_save * sizeof(u32)))
-   goto out;
-   if (copy_to_user(user_msr_list->indices
-+ num_msrs_to_save * sizeof(u32),
-&emulated_msrs,
-ARRAY_SIZE(emulated_msrs) * sizeof(u32)))
-   goto out;
-   r = 0;
-   break;
-   }
case KVM_CHECK_EXTENSION: {
int ext = (long)argp;
 
-   switch (ext) {
-   case KVM_CAP_IRQCHIP:
-   case KVM_CAP_HLT:
-   case KVM_CAP_MMU_SHADOW_CACHE_CONTROL:
-   case KVM_CAP_USER_MEMORY:
-   r = 1;
-   break;
-   default:
-   r = 0;
-   break;
-   }
+   r = kvm_arch_check_extension(ext);
break;
}
cas

[kvm-devel] RFC/patch: a very trivial patch towards portability V2

2007-10-10 Thread Carsten Otte
Thanks to Avis review, this is an updated version of the patch that
splits kvm_dev_ioctl into architecture dependent and architecture
independent parts. I've changed everything Avi noted in his review
feedback. It is also rebased to fit on today's git with all that
reindentation. 
KVM_CHECK_EXTENSION and KVM_GET_VCPU_MMAP_SIZE are now implemented in
the common part. For now, kvm_main.c includes x86.h. After the split, I
think we should move that file into include/asm-arch/ so that kvm_main.c
automagically includes the correct header. Until we've actually got
another arch merged upstream, I think it is more convenient to have the
file in drivers/kvm so that we only need to convince Avi when changing
it.

signed-off-by: Carsten Otte <[EMAIL PROTECTED]>
---
Index: kvm/drivers/kvm/kvm_x86.h
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ kvm/drivers/kvm/kvm_x86.h   2007-10-10 14:16:47.0 +0200
@@ -0,0 +1,15 @@
+/*
+ * Kernel-based Virtual Machine driver for Linux
+ *
+ * This header defines architecture specific interfaces, x86 version
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2.  See
+ * the COPYING file in the top-level directory.
+ *
+ */
+
+#ifndef KVM_X86_H
+#define KVM_X86_H
+
+#define KVM_ARCH_VCPU_MMAP_SIZE (2 * PAGE_SIZE)
+#endif
Index: kvm/drivers/kvm/kvm.h
===
--- kvm.orig/drivers/kvm/kvm.h  2007-10-10 12:42:21.0 +0200
+++ kvm/drivers/kvm/kvm.h   2007-10-10 14:12:30.0 +0200
@@ -653,6 +653,11 @@
 
 int kvm_fix_hypercall(struct kvm_vcpu *vcpu);
 
+long kvm_arch_dev_ioctl(struct file *,
+   unsigned int, unsigned long);
+__init void kvm_arch_init(void);
+long kvm_arch_check_extension(int);
+
 static inline int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t gva,
 u32 error_code)
 {
Index: kvm/drivers/kvm/Makefile
===
--- kvm.orig/drivers/kvm/Makefile   2007-10-10 11:35:01.0 +0200
+++ kvm/drivers/kvm/Makefile2007-10-10 13:44:02.0 +0200
@@ -2,7 +2,7 @@
 # Makefile for Kernel-based Virtual Machine module
 #
 
-kvm-objs := kvm_main.o mmu.o x86_emulate.o i8259.o irq.o lapic.o ioapic.o
+kvm-objs := kvm_main.o kvm_x86.o mmu.o x86_emulate.o i8259.o irq.o lapic.o 
ioapic.o
 obj-$(CONFIG_KVM) += kvm.o
 kvm-intel-objs = vmx.o
 obj-$(CONFIG_KVM_INTEL) += kvm-intel.o
Index: kvm/drivers/kvm/kvm_main.c
===
--- kvm.orig/drivers/kvm/kvm_main.c 2007-10-10 11:34:07.0 +0200
+++ kvm/drivers/kvm/kvm_main.c  2007-10-10 14:17:08.0 +0200
@@ -16,6 +16,7 @@
  */
 
 #include "kvm.h"
+#include "kvm_x86.h"
 #include "x86_emulate.h"
 #include "segment_descriptor.h"
 #include "irq.h"
@@ -45,7 +46,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 
 MODULE_AUTHOR("Qumranet");
@@ -2518,43 +2518,6 @@
 EXPORT_SYMBOL_GPL(kvm_get_cs_db_l_bits);
 
 /*
- * List of msr numbers which we expose to userspace through KVM_GET_MSRS
- * and KVM_SET_MSRS, and KVM_GET_MSR_INDEX_LIST.
- *
- * This list is modified at module load time to reflect the
- * capabilities of the host cpu.
- */
-static u32 msrs_to_save[] = {
-   MSR_IA32_SYSENTER_CS, MSR_IA32_SYSENTER_ESP, MSR_IA32_SYSENTER_EIP,
-   MSR_K6_STAR,
-#ifdef CONFIG_X86_64
-   MSR_CSTAR, MSR_KERNEL_GS_BASE, MSR_SYSCALL_MASK, MSR_LSTAR,
-#endif
-   MSR_IA32_TIME_STAMP_COUNTER,
-};
-
-static unsigned num_msrs_to_save;
-
-static u32 emulated_msrs[] = {
-   MSR_IA32_MISC_ENABLE,
-};
-
-static __init void kvm_init_msr_list(void)
-{
-   u32 dummy[2];
-   unsigned i, j;
-
-   for (i = j = 0; i < ARRAY_SIZE(msrs_to_save); i++) {
-   if (rdmsr_safe(msrs_to_save[i], &dummy[0], &dummy[1]) < 0)
-   continue;
-   if (j < i)
-   msrs_to_save[j] = msrs_to_save[i];
-   j++;
-   }
-   num_msrs_to_save = j;
-}
-
-/*
  * Adapt set_msr() to msr_io()'s calling convention
  */
 static int do_set_msr(struct kvm_vcpu *vcpu, unsigned index, u64 *data)
@@ -3366,57 +3329,20 @@
goto out;
r = kvm_dev_ioctl_create_vm();
break;
-   case KVM_GET_MSR_INDEX_LIST: {
-   struct kvm_msr_list __user *user_msr_list = argp;
-   struct kvm_msr_list msr_list;
-   unsigned n;
-
-   r = -EFAULT;
-   if (copy_from_user(&msr_list, user_msr_list, sizeof msr_list))
-   goto out;
-   n = msr_list.nmsrs;
-   msr_list.nmsrs = num_msrs_to_save + ARRAY_SIZE(emulated_msrs);
-   if (copy_to_user(user_msr_list, &msr_list, sizeof msr_list))
-   goto out;
-   r = -E2BIG;
-   if (n < num_msrs_to_save)
-

Re: [kvm-devel] OpenBSD 4.1 failes with kvm-45

2007-10-10 Thread Dan Kenigsberg
On Wed, Oct 10, 2007 at 12:56:18PM +0200, Izik Eidus wrote:
> Oliver Kowalke wrote:
> > Hi,
> > I've Debian/Lenny (amd64) with kernel 2.6.22-9 (kvm-support build in) with 
> > kvm-45 running.
> > WinXP, FreeBSD-6.2 (i386) and NetBSD-3.1 (i386) are working.
> > I've only a problem running OpenBSD-4.1 (i386). The installation succeeded, 
> > but if I start OpenBSD I get following error:
> >
> > cpu0: QEMU Virtual CPU version 0.9.0 
> > cpu0: unknown i686 model 2, can't get bus clockkernel: protection fault 
> > trap, 
> > code=0
> >   
> can you try runing it with -no-kvm?

It might also be useful to try the following patch, that lets you choose
the cpu that is exposed to your guest. (try the option -cpu pentium2 )

==

diff --git a/qemu/hw/pc.c b/qemu/hw/pc.c
index 4d0bb93..bf4d35a 100644
--- a/qemu/hw/pc.c
+++ b/qemu/hw/pc.c
@@ -683,7 +683,7 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size, 
int boot_device,
  DisplayState *ds, const char **fd_filename, int snapshot,
  const char *kernel_filename, const char *kernel_cmdline,
  const char *initrd_filename,
- int pci_enabled)
+ int pci_enabled, const char *cpu_model)
 {
 char buf[1024];
 int ret, linux_boot, i;
@@ -705,6 +705,13 @@ static void pc_init1(ram_addr_t ram_size, int 
vga_ram_size, int boot_device,
 linux_boot = (kernel_filename != NULL);
 
 /* init CPUs */
+if (cpu_model == NULL)
+cpu_model = "basic";
+
+if (x86_find_cpu_by_name(cpu_model)) {
+fprintf(stderr, "Unable to find x86 CPU definition\n");
+exit(1);
+}
 for(i = 0; i < smp_cpus; i++) {
 env = cpu_init();
 if (i != 0)
@@ -1008,7 +1015,7 @@ static void pc_init_pci(ram_addr_t ram_size, int 
vga_ram_size, int boot_device,
 pc_init1(ram_size, vga_ram_size, boot_device,
  ds, fd_filename, snapshot,
  kernel_filename, kernel_cmdline,
- initrd_filename, 1);
+ initrd_filename, 1, cpu_model);
 }
 
 static void pc_init_isa(ram_addr_t ram_size, int vga_ram_size, int boot_device,
@@ -1022,7 +1029,7 @@ static void pc_init_isa(ram_addr_t ram_size, int 
vga_ram_size, int boot_device,
 pc_init1(ram_size, vga_ram_size, boot_device,
  ds, fd_filename, snapshot,
  kernel_filename, kernel_cmdline,
- initrd_filename, 0);
+ initrd_filename, 0, cpu_model);
 }
 
 QEMUMachine pc_machine = {
diff --git a/qemu/target-i386/cpu.h b/qemu/target-i386/cpu.h
index de2669e..7517699 100644
--- a/qemu/target-i386/cpu.h
+++ b/qemu/target-i386/cpu.h
@@ -280,21 +280,56 @@
 #define CPUID_CMOV (1 << 15)
 #define CPUID_PAT  (1 << 16)
 #define CPUID_PSE36   (1 << 17)
+#define CPUID_PN   (1 << 18)
 #define CPUID_CLFLUSH (1 << 19)
-/* ... */
+#define CPUID_DTS (1 << 21)
+#define CPUID_ACPI (1 << 22)
 #define CPUID_MMX  (1 << 23)
 #define CPUID_FXSR (1 << 24)
 #define CPUID_SSE  (1 << 25)
 #define CPUID_SSE2 (1 << 26)
+#define CPUID_SS (1 << 27)
+#define CPUID_HT (1 << 28)
+#define CPUID_TM (1 << 29)
+#define CPUID_IA64 (1 << 30)
+#define CPUID_PBE (1 << 31)
 
 #define CPUID_EXT_SSE3 (1 << 0)
 #define CPUID_EXT_MONITOR  (1 << 3)
+#define CPUID_EXT_DSCPL(1 << 4)
+#define CPUID_EXT_VMX  (1 << 5)
+#define CPUID_EXT_SMX  (1 << 6)
+#define CPUID_EXT_EST  (1 << 7)
+#define CPUID_EXT_TM2  (1 << 8)
+#define CPUID_EXT_SSSE3(1 << 9)
+#define CPUID_EXT_CID  (1 << 10)
 #define CPUID_EXT_CX16 (1 << 13)
+#define CPUID_EXT_XTPR (1 << 14)
+#define CPUID_EXT_DCA  (1 << 17)
+#define CPUID_EXT_POPCNT   (1 << 22)
 
 #define CPUID_EXT2_SYSCALL (1 << 11)
+#define CPUID_EXT2_MP  (1 << 19)
 #define CPUID_EXT2_NX  (1 << 20)
+#define CPUID_EXT2_MMXEXT  (1 << 22)
 #define CPUID_EXT2_FFXSR   (1 << 25)
+#define CPUID_EXT2_PDPE1GB (1 << 26)
+#define CPUID_EXT2_RDTSCP  (1 << 27)
 #define CPUID_EXT2_LM  (1 << 29)
+#define CPUID_EXT2_3DNOWEXT (1 << 30)
+#define CPUID_EXT2_3DNOW   (1 << 31)
+
+#define CPUID_EXT3_LAHF_LM (1 << 0)
+#define CPUID_EXT3_CMP_LEG (1 << 1)
+#define CPUID_EXT3_SVM (1 << 2)
+#define CPUID_EXT3_EXTAPIC (1 << 3)
+#define CPUID_EXT3_CR8LEG  (1 << 4)
+#define CPUID_EXT3_ABM (1 << 5)
+#define CPUID_EXT3_SSE4A   (1 << 6)
+#define CPUID_EXT3_MISALIGNSSE (1 << 7)
+#define CPUID_EXT3_3DNOWPREFETCH (1 << 8)
+#define CPUID_EXT3_OSVW(1 << 9)
+#define CPUID_EXT3_IBS (1 << 10)
 
 #define CPUID_EXT3_SVM (1 << 2)
 
@@ -581,6 +616,9 @@ typedef struct CPUX86State {
 CPUX86State *cpu_x86_init(void);
 int cpu_x86_exec(CPUX86State *s);
 void cpu_x86_close(CPUX86State *s);
+int x86_find_cpu_by_name (const unsigned char *name);
+void x86_cpu_list (FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt,
+ ...));
 int cpu_get_pic_interrupt(CPUX86State *s);
 /* MSDOS compatibility mode FPU exception support */
 void cpu_set_ferr(CPUX86State *s);
di

Re: [kvm-devel] OpenBSD 4.1 failes with kvm-45

2007-10-10 Thread Alexey Eremenko
On 10/10/07, Izik Eidus <[EMAIL PROTECTED]> wrote:
> Oliver Kowalke wrote:
> > Hi,
> > I've Debian/Lenny (amd64) with kernel 2.6.22-9 (kvm-support build in) with
> > kvm-45 running.
> > WinXP, FreeBSD-6.2 (i386) and NetBSD-3.1 (i386) are working.
> > I've only a problem running OpenBSD-4.1 (i386). The installation succeeded,
> > but if I start OpenBSD I get following error:
> >
> > cpu0: QEMU Virtual CPU version 0.9.0
> > cpu0: unknown i686 model 2, can't get bus clockkernel: protection fault 
> > trap,
> > code=0

This is strange, because I have OpenBSD running fine on KVM-45.

Which CPU ? Intel or AMD?

please do:
modinfo kvm_intel
modinfo kvm_amd

-- 
-Alexey Eremenko "Technologov"

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Avi Kivity
Farkas Levente wrote:
>>> we did a quick test against this version and it's turn out the smp
>>> guests are still not working. even if we start only one linux guest with
>>> 4cpu on 4cpu host the guest kernel hangs at random stages of the kernel
>>> loading process (if we run more smp guests then they hang earlier, but
>>> different random stage), but it's never reach the end of the kernel so
>>> hang somewhere inside the kernel. and the cpu usage of these process
>>> goes up to until the qemu-kvm processes eat all cpus (ie. 100%). t
>>>   
>> What host cpu are you using?  What guest kernel version?  32-bit or 64-bit?
>>
>> I have no problems running a 4-way Linux guest here.
>> 
>
> - host:
>   - Intel(R) Core(TM)2 Quad CPU Q6600  @ 2.40GHz
>   - Intel S3000AHV
>   - 8GB RAM
>   - CentOS-5
>   - kernel-2.6.18-8.1.14.el5 x86_64 64bit
> - guest-1:
>   - CentOS-5
>   - kernel-2.6.18-8.1.14.el5 i386 32bit
> - guest-2:
>   - CentOS-5
>   - kernel-2.6.18-8.1.14.el5 x86_64 64bit
> - guest-3:
>   - Mandrake-9
>   - kernel-2.4.19.16mdk-1-1mdk 32bit
> - guest-4:
>   - Windows XP Professional 32bit
>
> start the first guest-1 with 4cpu produce the above hang. (and of course
> using kvm-46:-)
>
>   

Is it the only guest that hangs with -smp 4?  Or all of them?



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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Farkas Levente
Avi Kivity wrote:
> Farkas Levente wrote:
>> Avi Kivity wrote:
>>  
>>> We've now switched to allocating guest memory in userspace rather than
>>> in the kernel.  This is important if you have a mainframe, but also if
>>> you want to share memory between guests and implement nice features like
>>> swapping.
>>> 
>>
>> we did a quick test against this version and it's turn out the smp
>> guests are still not working. even if we start only one linux guest with
>> 4cpu on 4cpu host the guest kernel hangs at random stages of the kernel
>> loading process (if we run more smp guests then they hang earlier, but
>> different random stage), but it's never reach the end of the kernel so
>> hang somewhere inside the kernel. and the cpu usage of these process
>> goes up to until the qemu-kvm processes eat all cpus (ie. 100%). t
> 
> 
> What host cpu are you using?  What guest kernel version?  32-bit or 64-bit?
> 
> I have no problems running a 4-way Linux guest here.

- host:
  - Intel(R) Core(TM)2 Quad CPU Q6600  @ 2.40GHz
  - Intel S3000AHV
  - 8GB RAM
  - CentOS-5
  - kernel-2.6.18-8.1.14.el5 x86_64 64bit
- guest-1:
  - CentOS-5
  - kernel-2.6.18-8.1.14.el5 i386 32bit
- guest-2:
  - CentOS-5
  - kernel-2.6.18-8.1.14.el5 x86_64 64bit
- guest-3:
  - Mandrake-9
  - kernel-2.4.19.16mdk-1-1mdk 32bit
- guest-4:
  - Windows XP Professional 32bit

start the first guest-1 with 4cpu produce the above hang. (and of course
using kvm-46:-)

-- 
  Levente   "Si vis pacem para bellum!"

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-10 Thread Avi Kivity
Aurelien Jarno wrote:
> Avi Kivity a écrit :
>   
>> Aurelien Jarno wrote:
>> 
> I also confirm that using -no-acpi fixes the problem. However, I have
> seen strange data corruption, even on Intel.
>
> Basically, booting a recently installed FreeBSD leads to the following
> message from the bootloader: "No kernel found". And the next time, I get
> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk".
>
> Looking at the disk image, the partition table (and maybe more?) has
> disappeared. This is with a raw image disk.
>
> If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear.
>   
>   
 I have just got the problem with -no-kvm-irqchip, though it seems to
 happen less often.
 
 
>>> The data corruption seems to come from the userspace part, as I am not
>>> able to reproduce it with the kvm-45 module, and the kvm-44 userspace.
>>>
>>>   
>>>   
>> Does it occur with -no-kvm?
>>
>> 
>
> With kvm 45 it does not occurs with -no-kvm.
>
> With kvm 46 the problem is still there, but I haven't tried with -no-kvm
> yet. I am currently building a small test image, otherwise I spend all
> my time copying a 15GB image.
>
>   

Maybe snapshots can help here...

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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Avi Kivity
Farkas Levente wrote:
> Avi Kivity wrote:
>   
>> We've now switched to allocating guest memory in userspace rather than
>> in the kernel.  This is important if you have a mainframe, but also if
>> you want to share memory between guests and implement nice features like
>> swapping.
>> 
>
> we did a quick test against this version and it's turn out the smp
> guests are still not working. even if we start only one linux guest with
> 4cpu on 4cpu host the guest kernel hangs at random stages of the kernel
> loading process (if we run more smp guests then they hang earlier, but
> different random stage), but it's never reach the end of the kernel so
> hang somewhere inside the kernel. and the cpu usage of these process
> goes up to until the qemu-kvm processes eat all cpus (ie. 100%). t


What host cpu are you using?  What guest kernel version?  32-bit or 64-bit?

I have no problems running a 4-way Linux guest here.

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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-10 Thread Aurelien Jarno
Avi Kivity a écrit :
> Aurelien Jarno wrote:
 I also confirm that using -no-acpi fixes the problem. However, I have
 seen strange data corruption, even on Intel.

 Basically, booting a recently installed FreeBSD leads to the following
 message from the bootloader: "No kernel found". And the next time, I get
 from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk".

 Looking at the disk image, the partition table (and maybe more?) has
 disappeared. This is with a raw image disk.

 If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear.
   
>>> I have just got the problem with -no-kvm-irqchip, though it seems to
>>> happen less often.
>>> 
>> The data corruption seems to come from the userspace part, as I am not
>> able to reproduce it with the kvm-45 module, and the kvm-44 userspace.
>>
>>   
> 
> Does it occur with -no-kvm?
> 

With kvm 45 it does not occurs with -no-kvm.

With kvm 46 the problem is still there, but I haven't tried with -no-kvm
yet. I am currently building a small test image, otherwise I spend all
my time copying a 15GB image.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Farkas Levente
Avi Kivity wrote:
> We've now switched to allocating guest memory in userspace rather than
> in the kernel.  This is important if you have a mainframe, but also if
> you want to share memory between guests and implement nice features like
> swapping.

we did a quick test against this version and it's turn out the smp
guests are still not working. even if we start only one linux guest with
4cpu on 4cpu host the guest kernel hangs at random stages of the kernel
loading process (if we run more smp guests then they hang earlier, but
different random stage), but it's never reach the end of the kernel so
hang somewhere inside the kernel. and the cpu usage of these process
goes up to until the qemu-kvm processes eat all cpus (ie. 100%). the
strange thing is that the host is running no error on console just these
 and similar are in dmesg:
---
Ignoring de-assert INIT to vcpu 1
SIPI to vcpu 1 vector 0x03
SIPI to vcpu 1 vector 0x03
Ignoring de-assert INIT to vcpu 2
SIPI to vcpu 2 vector 0x03
---

but the good news that if we run more single cpu guests (both linux and
windows) than it seems to working (at least in the last half an hour:-).
which means that kvm-46 is as usable as kvm-36 for us (which was not the
case with all previous version), but of course this's a very subjective
'fact':-)

-- 
  Levente   "Si vis pacem para bellum!"

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] kvm-45 problems

2007-10-10 Thread Laurent Vivier
Avi Kivity wrote:
> Zhao, Yunfeng wrote:
>> This fix cannot resolve this issue.
>> Against latest kvm commits, SMP linux with 4 vcpus still cannot boot up.
>> But the issue will not happen , if adding "-smp4 -no-acpi".
>>   
> 
> Can you try the attached patch?
> 
> 
> 
> 
> 
> 
> 
> 
> diff --git a/kernel/kvm_main.c b/kernel/kvm_main.c
> index 0b2894a..61d931e 100644
> --- a/kernel/kvm_main.c
> +++ b/kernel/kvm_main.c
> @@ -235,11 +235,7 @@ void kvm_flush_remote_tlbs(struct kvm *kvm)
>* to complete.
>*/
>   for (cpu = first_cpu(cpus); cpu != NR_CPUS; cpu = next_cpu(cpu, cpus))
> - smp_call_function_single(cpu, ack_flush, &completed, 1, 0);
> - while (atomic_read(&completed) != needed) {
> - cpu_relax();
> - barrier();
> - }
> + smp_call_function_single(cpu, ack_flush, &completed, 1, 1);
>  }
>  
>  int kvm_vcpu_init(struct kvm_vcpu *vcpu, struct kvm *kvm, unsigned id)

This part will be obsolete as soon as linux will export
smp_call_function_mask(). This is already in mm tree:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc8/2.6.23-rc8-mm2/broken-out/x86_64-mm-export-i386-smp_call_function_mask-to-modules.patch
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc8/2.6.23-rc8-mm2/broken-out/x86_64-mm-implement-missing-x86_64-function-smp_call_function_mask.patch

Apply these patches and try the attached patch for KVM.

Laurent
-- 
 [EMAIL PROTECTED]  -
"Given enough eyeballs, all bugs are shallow" E. S. Raymond
Index: kvm/drivers/kvm/kvm_main.c
===
--- kvm.orig/drivers/kvm/kvm_main.c 2007-09-12 17:49:51.0 +0200
+++ kvm/drivers/kvm/kvm_main.c  2007-09-12 17:58:18.0 +0200
@@ -198,21 +198,15 @@ static void vcpu_put(struct kvm_vcpu *vc
 
 static void ack_flush(void *_completed)
 {
-   atomic_t *completed = _completed;
-
-   atomic_inc(completed);
 }
 
 void kvm_flush_remote_tlbs(struct kvm *kvm)
 {
-   int i, cpu, needed;
+   int i, cpu;
cpumask_t cpus;
struct kvm_vcpu *vcpu;
-   atomic_t completed;
 
-   atomic_set(&completed, 0);
cpus_clear(cpus);
-   needed = 0;
for (i = 0; i < KVM_MAX_VCPUS; ++i) {
vcpu = kvm->vcpus[i];
if (!vcpu)
@@ -221,23 +215,9 @@ void kvm_flush_remote_tlbs(struct kvm *k
continue;
cpu = vcpu->cpu;
if (cpu != -1 && cpu != raw_smp_processor_id())
-   if (!cpu_isset(cpu, cpus)) {
-   cpu_set(cpu, cpus);
-   ++needed;
-   }
-   }
-
-   /*
-* We really want smp_call_function_mask() here.  But that's not
-* available, so ipi all cpus in parallel and wait for them
-* to complete.
-*/
-   for (cpu = first_cpu(cpus); cpu != NR_CPUS; cpu = next_cpu(cpu, cpus))
-   smp_call_function_single(cpu, ack_flush, &completed, 1, 0);
-   while (atomic_read(&completed) != needed) {
-   cpu_relax();
-   barrier();
+   cpu_set(cpu, cpus);
}
+   smp_call_function_mask(cpus, ack_flush, NULL, 1);
 }
 
 int kvm_vcpu_init(struct kvm_vcpu *vcpu, struct kvm *kvm, unsigned id)


signature.asc
Description: OpenPGP digital signature
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-10 Thread Avi Kivity
Aurelien Jarno wrote:
>>> I also confirm that using -no-acpi fixes the problem. However, I have
>>> seen strange data corruption, even on Intel.
>>>
>>> Basically, booting a recently installed FreeBSD leads to the following
>>> message from the bootloader: "No kernel found". And the next time, I get
>>> from the *BIOS*: "Boot from Hard Disk failed: not a bootable disk".
>>>
>>> Looking at the disk image, the partition table (and maybe more?) has
>>> disappeared. This is with a raw image disk.
>>>
>>> If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear.
>>>   
>> I have just got the problem with -no-kvm-irqchip, though it seems to
>> happen less often.
>> 
>
> The data corruption seems to come from the userspace part, as I am not
> able to reproduce it with the kvm-45 module, and the kvm-44 userspace.
>
>   

Does it occur with -no-kvm?

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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] OpenBSD 4.1 failes with kvm-45

2007-10-10 Thread Izik Eidus
Oliver Kowalke wrote:
> Hi,
> I've Debian/Lenny (amd64) with kernel 2.6.22-9 (kvm-support build in) with 
> kvm-45 running.
> WinXP, FreeBSD-6.2 (i386) and NetBSD-3.1 (i386) are working.
> I've only a problem running OpenBSD-4.1 (i386). The installation succeeded, 
> but if I start OpenBSD I get following error:
>
> cpu0: QEMU Virtual CPU version 0.9.0 
> cpu0: unknown i686 model 2, can't get bus clockkernel: protection fault trap, 
> code=0
>   
can you try runing it with -no-kvm?

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] kvm-45 problems

2007-10-10 Thread Avi Kivity
Zhao, Yunfeng wrote:
> This fix cannot resolve this issue.
> Against latest kvm commits, SMP linux with 4 vcpus still cannot boot up.
> But the issue will not happen , if adding "-smp4 -no-acpi".
>   

Can you try the attached patch?




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

diff --git a/kernel/kvm_main.c b/kernel/kvm_main.c
index 0b2894a..61d931e 100644
--- a/kernel/kvm_main.c
+++ b/kernel/kvm_main.c
@@ -235,11 +235,7 @@ void kvm_flush_remote_tlbs(struct kvm *kvm)
 	 * to complete.
 	 */
 	for (cpu = first_cpu(cpus); cpu != NR_CPUS; cpu = next_cpu(cpu, cpus))
-		smp_call_function_single(cpu, ack_flush, &completed, 1, 0);
-	while (atomic_read(&completed) != needed) {
-		cpu_relax();
-		barrier();
-	}
+		smp_call_function_single(cpu, ack_flush, &completed, 1, 1);
 }
 
 int kvm_vcpu_init(struct kvm_vcpu *vcpu, struct kvm *kvm, unsigned id)
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] OpenBSD 4.1 failes with kvm-45

2007-10-10 Thread Oliver Kowalke
Hi,
I've Debian/Lenny (amd64) with kernel 2.6.22-9 (kvm-support build in) with 
kvm-45 running.
WinXP, FreeBSD-6.2 (i386) and NetBSD-3.1 (i386) are working.
I've only a problem running OpenBSD-4.1 (i386). The installation succeeded, 
but if I start OpenBSD I get following error:

cpu0: QEMU Virtual CPU version 0.9.0 
cpu0: unknown i686 model 2, can't get bus clockkernel: protection fault trap, 
code=0

It was started with:

/opt/kvm/bin/kvm \
-hda /srv/openbsd_4.1_32.qcow \
-full-screen \
-boot c \
-localtime \
-m 1024 \
-no-acpi \
-soundhw es1370 \
-usb -usbdevice tablet \
-net nic,vlan=0 \
-net tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup

Any hint to solve this problem?!

kind regards, Oliver

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] kvm: disabled by bios

2007-10-10 Thread Avi Kivity
Elmar Haneke wrote:
> Hi,
>
> is there any option to reenable virtualisation support (AMD-CPU) if it
> is disabled by bios (and Bios does not show an option to enable
> virtualisation support)?
>   

Look for a bios update, that may help.


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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] SMP reboot issue

2007-10-10 Thread Avi Kivity
Dong, Eddie wrote:
> SMP reboot failed with various phenomena such as user level
> "unhandled vm exit: 0x8021 ..." when rebooting SMP RHEL5U
> or "execption 8 (0)..." when rebooting XP etc. The reason is that 
> we are not correctly reset VCPU. create_vcpu does some initialization
> work which should be part of reset job. So reset_vcpu can't do full 
> VCPU reset and thus cause AP reboot failure.
>   The best approach is to re-org above 2 functions to make it
> clear that everything will be re-initialized in vcpu_reset. create_vcpu
> probably only allocate memory and do initialization only for those
> communicating with user level data structure. while leave others 
> including MMU reset to vcpu_reset. For now, let us
> use this small patch to fix current issue: GUEST_CR3 in VMCS is
> not correctly reseted due to enter_rmode issue.
>   With this I get XPSP2 acpi SMP guest reboot successfully
> and also SMP Linux RHEL5U.
> thanks, eddie
>
>
>   

Applied, thanks,

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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] kvm: disabled by bios

2007-10-10 Thread Elmar Haneke
Hi,

is there any option to reenable virtualisation support (AMD-CPU) if it
is disabled by bios (and Bios does not show an option to enable
virtualisation support)?

Elmar


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] kernel device reset support

2007-10-10 Thread Avi Kivity
Dong, Eddie wrote:
> Avi Kivity wrote:
>   
>> Dong, Eddie wrote:
>> 
>>> Avi Kivity wrote:
>>>
>>>   
 But, for an ungraceful reset, nothing prevents an AP from
 issuing a reset?

 
>>> Mmm, Yes, but I think current architecture can't handle this.
>>> The thread where AP issues "RESET" will continue run, which
>>> means it becomes BSP now and wake up other APs later on.
>>> Or We can block that AP first and then inform BSP to do
>>> RESET job. Here we need to block the AP in kernel
>>> so that we can wake up.
>>>
>>>   
>> It should call vcpu_halt() immediately after reset.
>> 
>
> ?? Can user level be able to enter kernel HALT state.
>
>   

It's just like the guest kernel executing hlt.  Why is there a difference?

>>> It can be a future task which is not that high priority IMO.
>>> I will focus on SMP boot 1st. Your opnion?
>>>
>>>   
>> Agree.  But let's make it close to the complete solution.
>>
>> 
>
> Yes, halt all APs and let BSP do reset ops in user level. 
> Will post patch to Qemu to support SMP reboot some time later.
>
>   

Wait, that's a big change.  Need to think about this...

>> The test for vcpu->requests already exists (and is needed for tlb
>> flushes) so there is no additional performance hit.
>> 
>
> OK, that makes sense. changed. please verify.
> User level is split into libkvm and qemu.
>
>  /*
>   * Address types:
> diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
> index 0b2894a..33f16bd 100644
> --- a/drivers/kvm/kvm_main.c
> +++ b/drivers/kvm/kvm_main.c
> @@ -2189,9 +2189,17 @@ again:
>  
>   vcpu->guest_mode = 1;
>  
> - if (vcpu->requests)
> + if (vcpu->requests) {
>   if (test_and_clear_bit(KVM_TLB_FLUSH, &vcpu->requests))
>   kvm_x86_ops->tlb_flush(vcpu);
> + if (test_and_clear_bit(KVM_FROZEN, &vcpu->requests)) {
> + local_irq_enable();
> + preempt_enable();
> + r = -EINTR;
> + kvm_run->exit_reason = KVM_EXIT_FROZEN;
> + goto out;
> + }
> + }
>   


Why not just call vcpu_reset() here, then call vcpu_halt() if we're an AP?

>  
> +/*
> + * Kernel side VM Reset.
> + * NOTE here: User level code must guarantee only the BSP
> + * thread can do this call.
> + *
> + */
> +int kvm_vm_reset(struct kvm *kvm)
> +{
> + struct kvm_vcpu *vcpu;
> + int i;
> +
> + for (i = 0; i < KVM_MAX_VCPUS; i++) {
> + vcpu = kvm->vcpus[i];
> + if (!vcpu)
> + continue;
> + /* active VCPU */
> + if (vcpu->vcpu_id) {
> + vcpu->mp_state = VCPU_MP_STATE_UNINITIALIZED;
> + set_bit(KVM_FROZEN, &vcpu->requests);
> + kvm_vcpu_kick(vcpu);
> + /*
> +  * Wait till the AP entered waiting for
> +  * INIT/SIPI state
> +  */
> + while (test_bit(KVM_FROZEN, &vcpu->requests))
> + schedule();
>   

I don't think we need to wait here.

> + }
> + else {
> + vcpu->mp_state = VCPU_MP_STATE_RUNNABLE;
> + kvm_lapic_reset(vcpu);
> + }
> + }
> + /* Now only BSP is running... */
> + kvm_reset_devices(kvm);
>   

But now you're reseting the devices while vcpu 0 may be running.  If in 
the first stage you halt all vcpus, and then restart vcpu 0 after the 
reset, you avoid the race.


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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Farkas Levente
Avi Kivity wrote:
> Farkas Levente wrote:
>> Avi Kivity wrote:
>>  
>>> We've now switched to allocating guest memory in userspace rather than
>>> in the kernel.  This is important if you have a mainframe, but also if
>>> you want to share memory between guests and implement nice features like
>>> swapping.
>>>
>>> Changes since kvm-45:
>>> - fix host oops on bad guest ioapic accesses
>>> - handle NMIs before enabling host interrupts
>>> - add general guest memory accessors (Izik Eidus)
>>> - allow user control over shadow cache size (Izik Eidus)
>>> - auto tune shadow cache size with guest memory (Izik Eidus)
>>> - allocate guest memory in userspace instead of in kernel (Izik Eidus)
>>> - code style fixes (Mike Day, Anthony Liguori)
>>> - lapic cleanups (Rusty Russell)
>>> - fix acpi interrupt reporting for FreeBSD
>>> - fix color problems on certain displays
>>> - Red Hat 7.1 support
>>> - vmmouse support (Dan Kenigsberg)
>>> - fix sdl window caption when keyboard is captured (Dan Kenigsberg)
>>> - improve libkvm configure script (Jerone Young)
>>> - improve bios compilation support on x86_64 hosts (Laurent Vivier)
>>> - fix acpi processor reporting for Windows 2000 with the ACPI HAL (Sheng
>>> Yang)
>>> 
>>
>> when i try to compile it on centos i've got this error (which is not
>> happend in kvm-45) :
>> --
>> iasl -tc -p acpi-dsdt.hex acpi-dsdt.dsl
>> make[1]: iasl: Command not found
>> --
>> where this iasl comes from? and where can i found it? i can't found in
>> any package even in external repos.
>>
>>   
> 
> How did you get this?  Normal 'make' doesn't try to compile the bios.

yes, but my spec based on fedora spec which use Jeremy Katz's patch to
bios boot menu, that's way i need it.

-- 
  Levente   "Si vis pacem para bellum!"

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Farkas Levente
Farkas Levente wrote:
> Avi Kivity wrote:
>> We've now switched to allocating guest memory in userspace rather than
>> in the kernel.  This is important if you have a mainframe, but also if
>> you want to share memory between guests and implement nice features like
>> swapping.
>>
>> Changes since kvm-45:
>> - fix host oops on bad guest ioapic accesses
>> - handle NMIs before enabling host interrupts
>> - add general guest memory accessors (Izik Eidus)
>> - allow user control over shadow cache size (Izik Eidus)
>> - auto tune shadow cache size with guest memory (Izik Eidus)
>> - allocate guest memory in userspace instead of in kernel (Izik Eidus)
>> - code style fixes (Mike Day, Anthony Liguori)
>> - lapic cleanups (Rusty Russell)
>> - fix acpi interrupt reporting for FreeBSD
>> - fix color problems on certain displays
>> - Red Hat 7.1 support
>> - vmmouse support (Dan Kenigsberg)
>> - fix sdl window caption when keyboard is captured (Dan Kenigsberg)
>> - improve libkvm configure script (Jerone Young)
>> - improve bios compilation support on x86_64 hosts (Laurent Vivier)
>> - fix acpi processor reporting for Windows 2000 with the ACPI HAL (Sheng
>> Yang)
> 
> when i try to compile it on centos i've got this error (which is not
> happend in kvm-45) :
> --
> iasl -tc -p acpi-dsdt.hex acpi-dsdt.dsl
> make[1]: iasl: Command not found
> --
> where this iasl comes from? and where can i found it? i can't found in
> any package even in external repos.
> 

ok i find it for fedora and recompile it from there.

-- 
  Levente   "Si vis pacem para bellum!"

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] split ioapic reset API

2007-10-10 Thread Avi Kivity
Dong, Eddie wrote:
> Avi Kivity wrote:
>   
>> Dong, Eddie wrote:
>> 
>>> This one is a preparation for kernel devices reset support.
>>>
>>>
>>>
>>>Split ioapic reset API and export PIC reset API
>>>
>>>   
>> Please split into two patches, I need to fold them into the pic patch
>> and the ioapic patch. 
>>
>> 
>
> Splited, please check in.
>   

Applied, thank.

> It is too small now :-)
>   

Small is good!

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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] Firewire Support for KVM Guest?

2007-10-10 Thread Gildas
2007/10/10, Calin Brabandt <[EMAIL PROTECTED]>:
> I'm a KVM newb and can't find any information or
> associated FAQ about KVM guest firewire support.  If
> there's no KVM support, I'm seeking alternative
> recommendations, if KVM list members are so inclined.
>
> My goal is to boot a dedicated and proprietary Linux
> 2.4 kernel based AVX1 LiveCD under KVM.  See
> http://www.169time.com/ for details, if interested.
>
> Unfortunately, the AVX1 CD source is not available.
> (Is this a GPL violation, perhaps?)

Possibily, but IANAL. You can report this to the GPL Violations
Mailing Lists if you think this might be the case
(http://gpl-violations.org/)

> Normally the AVX1 CD must run on a standalone PC
> equipped with two firewire ports for I/O.  The sole
> function of AVX1 is to process firewire HDTV video
> data but it can't decode, render, or record the video
> data in any manner.
>
> I'd like to run the AVX1 CD under a KVM on my Fedora 7
> Mythtv system and loop the AVX1 firewire output back
> into a third firewire port that's assigned to the
> Mythtv host for capture.  I've booted both the AVX1 CD
> disc and an iso image under KVM, but it hangs when it
> tries to load the AVX1 guest firewire driver modules.
>
> I have an Intel G965OT mobo with 2GB of DDR-2 and a
> 6600 Core 2 Duo.  I'll soon upgrade to 4GB of DDR-2
> and a Q6600 quad CPU.  I don't believe the AVX1 CD
> supports the TI firewire chip on my mobo so I
> installed an AVX1 supported VIA chip firewire PCI card
> that previously functioned correctly in my standalone
> AVX1 system.
>
> Any ideas, encouragement (or discouragement ;)) are
> much appreciated.  If I can get this to work, there
> are many 169time/AVX1 users at www.avsforum.com who
> would be interested.  The 169time developer has
> promised "integrated" support for years but, in
> reality, I suspect he's completely abandoned the
> project.
>
> Thanks for everyone's patience, given that
> knowledgeable KVM list readers may immediately
> identify my goal as unrealistic folly.
>
> -Cal

At the moment it seems that there's no support in qemu hence no
support in kvm. You can try the qemu mailing list and ask if someone
is working on this/if this is feasible.

HTH
Gildas

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Avi Kivity
Farkas Levente wrote:
> Avi Kivity wrote:
>   
>> We've now switched to allocating guest memory in userspace rather than
>> in the kernel.  This is important if you have a mainframe, but also if
>> you want to share memory between guests and implement nice features like
>> swapping.
>>
>> Changes since kvm-45:
>> - fix host oops on bad guest ioapic accesses
>> - handle NMIs before enabling host interrupts
>> - add general guest memory accessors (Izik Eidus)
>> - allow user control over shadow cache size (Izik Eidus)
>> - auto tune shadow cache size with guest memory (Izik Eidus)
>> - allocate guest memory in userspace instead of in kernel (Izik Eidus)
>> - code style fixes (Mike Day, Anthony Liguori)
>> - lapic cleanups (Rusty Russell)
>> - fix acpi interrupt reporting for FreeBSD
>> - fix color problems on certain displays
>> - Red Hat 7.1 support
>> - vmmouse support (Dan Kenigsberg)
>> - fix sdl window caption when keyboard is captured (Dan Kenigsberg)
>> - improve libkvm configure script (Jerone Young)
>> - improve bios compilation support on x86_64 hosts (Laurent Vivier)
>> - fix acpi processor reporting for Windows 2000 with the ACPI HAL (Sheng
>> Yang)
>> 
>
> when i try to compile it on centos i've got this error (which is not
> happend in kvm-45) :
> --
> iasl -tc -p acpi-dsdt.hex acpi-dsdt.dsl
> make[1]: iasl: Command not found
> --
> where this iasl comes from? and where can i found it? i can't found in
> any package even in external repos.
>
>   

How did you get this?  Normal 'make' doesn't try to compile the bios.

You can download the iasl compiler from 
http://www.intel.com/technology/iapc/acpi/downloads.htm.

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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] soft lockup after stop/cont

2007-10-10 Thread Avi Kivity
Dong, Eddie wrote:
>> Or is the timer saved in absolute time?  if so you are right, and yes,
>> your solution is needed.
>>
>> 
> Looks like current live migration, also save/restore, doesn't migrate 
> guest time. (do I miss something?) So the new guest will 
> see a totally different TSC and OS feel stranger or 
> many lost ticks etc.
>
> Should we add this one?
> thx,eddie
>   

cpu_save (qemu/hw/pc.c) has this:

#ifdef USE_KVM
if (kvm_allowed) {
for (i = 0; i < NR_IRQ_WORDS ; i++) {
qemu_put_be32s(f, &env->kvm_interrupt_bitmap[i]);
}
qemu_put_be64s(f, &env->tsc);
}
#endif

And I think the apic code saves the timer?

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


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] soft lockup after stop/cont

2007-10-10 Thread Dong, Eddie

>Or is the timer saved in absolute time?  if so you are right, and yes,
>your solution is needed.
>
Looks like current live migration, also save/restore, doesn't migrate 
guest time. (do I miss something?) So the new guest will 
see a totally different TSC and OS feel stranger or 
many lost ticks etc.

Should we add this one?
thx,eddie

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Farkas Levente
Avi Kivity wrote:
> We've now switched to allocating guest memory in userspace rather than
> in the kernel.  This is important if you have a mainframe, but also if
> you want to share memory between guests and implement nice features like
> swapping.
> 
> Changes since kvm-45:
> - fix host oops on bad guest ioapic accesses
> - handle NMIs before enabling host interrupts
> - add general guest memory accessors (Izik Eidus)
> - allow user control over shadow cache size (Izik Eidus)
> - auto tune shadow cache size with guest memory (Izik Eidus)
> - allocate guest memory in userspace instead of in kernel (Izik Eidus)
> - code style fixes (Mike Day, Anthony Liguori)
> - lapic cleanups (Rusty Russell)
> - fix acpi interrupt reporting for FreeBSD
> - fix color problems on certain displays
> - Red Hat 7.1 support
> - vmmouse support (Dan Kenigsberg)
> - fix sdl window caption when keyboard is captured (Dan Kenigsberg)
> - improve libkvm configure script (Jerone Young)
> - improve bios compilation support on x86_64 hosts (Laurent Vivier)
> - fix acpi processor reporting for Windows 2000 with the ACPI HAL (Sheng
> Yang)

when i try to compile it on centos i've got this error (which is not
happend in kvm-45) :
--
iasl -tc -p acpi-dsdt.hex acpi-dsdt.dsl
make[1]: iasl: Command not found
--
where this iasl comes from? and where can i found it? i can't found in
any package even in external repos.

-- 
  Levente   "Si vis pacem para bellum!"

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] soft lockup after stop/cont

2007-10-10 Thread Avi Kivity
Dong, Eddie wrote:
> Avi Kivity wrote:
>   
>> Dong, Eddie wrote:
>> 
>>> [EMAIL PROTECTED] wrote:
>>>
>>>   
 It may be that the timer correction code detects that zillions of
 timer interrupts have not been serviced by the guest so it floods
 the guest with these interrupts.  Does -no-kvm-irqchip help?


 
>>> In Xen, we decide to froze the guest time after save/restore. In this
>>> way the guest see contiguous timer and thus avoid this issue.
>>>
>>> Probably we should do similar here, comments?
>>>
>>>   
>> This is pause/resume, not save/restore.  I think save/restore now has
>> contiguous lapic timer and discontiguous real time.
>>
>> 
>
> If save/restore means live migration here, yes you are right.
>   

No, I didn't mean that.

> save to file and later resume from file will have this issue.
>   

Why? after saving to a file, the local apic in the kernel is destroyed
when qemu quits.

Or is the timer saved in absolute time?  if so you are right, and yes,
your solution is needed.


-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] soft lockup after stop/cont

2007-10-10 Thread Dong, Eddie
Avi Kivity wrote:
> Dong, Eddie wrote:
>> [EMAIL PROTECTED] wrote:
>> 
>>> It may be that the timer correction code detects that zillions of
>>> timer interrupts have not been serviced by the guest so it floods
>>> the guest with these interrupts.  Does -no-kvm-irqchip help?
>>> 
>>> 
>> In Xen, we decide to froze the guest time after save/restore. In this
>> way the guest see contiguous timer and thus avoid this issue.
>> 
>> Probably we should do similar here, comments?
>> 
> 
> This is pause/resume, not save/restore.  I think save/restore now has
> contiguous lapic timer and discontiguous real time.
> 

If save/restore means live migration here, yes you are right.
save to file and later resume from file will have this issue.
thx,eddie

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] soft lockup after stop/cont

2007-10-10 Thread Avi Kivity
Dong, Eddie wrote:
> [EMAIL PROTECTED] wrote:
>   
>> It may be that the timer correction code detects that zillions of
>> timer interrupts have not been serviced by the guest so it floods the
>> guest with these interrupts.  Does -no-kvm-irqchip help?
>>
>> 
> In Xen, we decide to froze the guest time after save/restore. In this
> way the guest see contiguous timer and thus avoid this issue.
>
> Probably we should do similar here, comments?
>   

This is pause/resume, not save/restore.  I think save/restore now has
contiguous lapic timer and discontiguous real time.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Avi Kivity
Jun Koi wrote:
> On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
>   
>> Jun Koi wrote:
>> 
>>> Hi,
>>>
>>> On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
>>>
>>>   
 We've now switched to allocating guest memory in userspace rather than
 in the kernel.  This is important if you have a mainframe, but also if
 you want to share memory between guests and implement nice features like
 swapping.

 
>>> This is interesting! But how can we do that now? (share memory between 
>>> guests)
>>>
>>>
>>>   
>> It's not exposed by qemu, but you can now mmap() some file (or use SysV
>> shared memory) and use that as guest memory.
>>
>> 
>
> OK, lets say we have 2 guest VMs share a memory, like mmap() a tmpfs
> file (which is actually in memory). Now one writes to the memory
> (shared file). Can we guarantee that the memory immediately updated,
> so other will see the change immediately? Or the data might be cached
> for a while, befere being flushed to the shared memory?
>   

Changes are visible immediately.


-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Jun Koi
On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
> Jun Koi wrote:
> > Hi,
> >
> > On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
> >
> >> We've now switched to allocating guest memory in userspace rather than
> >> in the kernel.  This is important if you have a mainframe, but also if
> >> you want to share memory between guests and implement nice features like
> >> swapping.
> >>
> >
> > This is interesting! But how can we do that now? (share memory between 
> > guests)
> >
> >
>
> It's not exposed by qemu, but you can now mmap() some file (or use SysV
> shared memory) and use that as guest memory.
>

OK, lets say we have 2 guest VMs share a memory, like mmap() a tmpfs
file (which is actually in memory). Now one writes to the memory
(shared file). Can we guarantee that the memory immediately updated,
so other will see the change immediately? Or the data might be cached
for a while, befere being flushed to the shared memory?

Thanks,
Jun

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] soft lockup after stop/cont

2007-10-10 Thread Dong, Eddie
[EMAIL PROTECTED] wrote:
> 
> It may be that the timer correction code detects that zillions of
> timer interrupts have not been serviced by the guest so it floods the
> guest with these interrupts.  Does -no-kvm-irqchip help?
> 
In Xen, we decide to froze the guest time after save/restore. In this
way the guest see contiguous timer and thus avoid this issue.

Probably we should do similar here, comments?
thx,eddie

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Avi Kivity
Jun Koi wrote:
> Hi,
>
> On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
>   
>> We've now switched to allocating guest memory in userspace rather than
>> in the kernel.  This is important if you have a mainframe, but also if
>> you want to share memory between guests and implement nice features like
>> swapping.
>> 
>
> This is interesting! But how can we do that now? (share memory between guests)
>
>   

It's not exposed by qemu, but you can now mmap() some file (or use SysV
shared memory) and use that as guest memory.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Jun Koi
Hi,

On 10/10/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
> We've now switched to allocating guest memory in userspace rather than
> in the kernel.  This is important if you have a mainframe, but also if
> you want to share memory between guests and implement nice features like
> swapping.

This is interesting! But how can we do that now? (share memory between guests)

Thanks,
Jun

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] RFC/patch: a very trivial patch towards portability

2007-10-10 Thread Carsten Otte
Avi Kivity wrote:
> What's the motivation for the new header?  So we have a list of 
> arch-dependent functions?  Compiler-wise it could just as well remain in 
> kvm.h.
The motivation for a new header, is that it contains definitions 
specific to an architecture. These prototypes should go to kvm.h, they 
are common for all archs. Will fix it.


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] RFC/patch: a very trivial patch towards portability

2007-10-10 Thread Carsten Otte
Avi Kivity wrote:
> Small, reviewable, posted patches are definitely the best way forward.
Very well, will go that direction.
> 
>> -case KVM_CHECK_EXTENSION: {
>> -int ext = (long)argp;
>> -
>> -switch (ext) {
>> -case KVM_CAP_IRQCHIP:
>> -case KVM_CAP_HLT:
>> -case KVM_CAP_MMU_SHADOW_CACHE_CONTROL:
>> -r = 1;
>> -break;
>> -default:
>> -r = 0;
>> -break;
>> -}
>> -break;
>> -}
>>   
> 
> CHECK_EXTENSION is hopefully a generic mechanism (even if the some of 
> the actual extensions are not).  So there should be a switch in common 
> code for the common extensions, and the default: target should call 
> kvm_arch_check_extension() for further processing.
Agreed, the call itself should be generic. But the result is arch 
dependent. Will fix it.
> 
>> -case KVM_GET_VCPU_MMAP_SIZE:
>> -r = -EINVAL;
>> -if (arg)
>> -goto out;
>> -r = 2 * PAGE_SIZE;
>> -break;
>>   
> 
> I would think this is generic too?  Isn't s390 interested in passing 
> information to userspace via a mmap()ed region?
Yes, same as above: call is generic - result value not. Will fix this too.
> Note that mmio data is passed via that region.
Yes, I've seen that. Thanks for the heads-up.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [ANNOUNCE] kvm-46 release

2007-10-10 Thread Avi Kivity
We've now switched to allocating guest memory in userspace rather than
in the kernel.  This is important if you have a mainframe, but also if
you want to share memory between guests and implement nice features like
swapping.

Changes since kvm-45:
- fix host oops on bad guest ioapic accesses
- handle NMIs before enabling host interrupts
- add general guest memory accessors (Izik Eidus)
- allow user control over shadow cache size (Izik Eidus)
- auto tune shadow cache size with guest memory (Izik Eidus)
- allocate guest memory in userspace instead of in kernel (Izik Eidus)
- code style fixes (Mike Day, Anthony Liguori)
- lapic cleanups (Rusty Russell)
- fix acpi interrupt reporting for FreeBSD
- fix color problems on certain displays
- Red Hat 7.1 support
- vmmouse support (Dan Kenigsberg)
- fix sdl window caption when keyboard is captured (Dan Kenigsberg)
- improve libkvm configure script (Jerone Young)
- improve bios compilation support on x86_64 hosts (Laurent Vivier)
- fix acpi processor reporting for Windows 2000 with the ACPI HAL (Sheng
Yang)


Notes:
If you use the modules bundled with kvm-46, you can use any version
of Linux from 2.6.9 upwards.
If you use the modules bundled with Linux 2.6.20, you need to use
kvm-12.
If you use the modules bundled with Linux 2.6.21, you need to use
kvm-17.
Modules from Linux 2.6.22 and up will work with any kvm version from
kvm-22.  Some features may only be available in newer releases.
For best performance, use Linux 2.6.23-rc2 or later as the host.

http://kvm.qumranet.com



-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] Firewire Support for KVM Guest?

2007-10-10 Thread Izik Eidus
Calin Brabandt wrote:
> I'm a KVM newb and can't find any information or
> associated FAQ about KVM guest firewire support
Unfourtantly kvm have no firewire support


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] soft lockup after stop/cont

2007-10-10 Thread Avi Kivity
Jim Paris wrote:
> If I stop KVM in the monitor with "stop", wait a minute, and do
> "cont", a Linux guest gives me a "BUG: soft lockup detected on CPU#0".
> Is that expected behavior?  

No.

> What isn't virtualized that allows it to
> detect that?  The host is a core 2 duo.
>
>   

It may be that the timer correction code detects that zillions of timer
interrupts have not been serviced by the guest so it floods the guest
with these interrupts.  Does -no-kvm-irqchip help?

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] soft lockup after stop/cont

2007-10-10 Thread Jim Paris
If I stop KVM in the monitor with "stop", wait a minute, and do
"cont", a Linux guest gives me a "BUG: soft lockup detected on CPU#0".
Is that expected behavior?  What isn't virtualized that allows it to
detect that?  The host is a core 2 duo.

I have bigger problems in the guest after migrating to a file and
restoring from that, but this seems like a good place to start..

-jim

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Use a table to dispatch IO requests in kvmctl

2007-10-10 Thread Avi Kivity
Anthony Liguori wrote:
> This patch attempts to clean up kvmctl so that it can be more easily made to
> work for multiple architectures and to support more emulation.
>
> It introduces a io dispatch mechanism.  This mechanism supports subpage
> granularity but is optimized to efficiently cover regions of pages too.  It's
> a 64-bit address space that's structured as a 5-level table.
>   


Why not use a simple array?

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel