diff mbox

kvm hardlocks on hp dv9010us

Message ID 4A0809FE.7050801@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Avi Kivity May 11, 2009, 11:20 a.m. UTC
Piotr Jaroszyński wrote:
> I have a hp dv9010us laptop (one of those that hard locked before
> CONFIG_IO_DELAY_* options were introduced in kernel - not sure if it
> may be related at all).
>   

I skipped this bit, and it's crucial.  kvm passes port 80 to go from 
guest to host as an optimization, and of course it kills your laptop.  
I'll fix this up.

(nowadays it may be faster to emulate the port access in the kernel 
rather than pass it to the hardware, so this is likely to be a 
performance improvement as well).

In the meantime, you can use the attached patch.

Comments

Piotr Jaroszy?ski May 11, 2009, 11:37 a.m. UTC | #1
2009/5/11 Avi Kivity <avi@redhat.com>:
> Piotr Jaroszyński wrote:
>>
>> I have a hp dv9010us laptop (one of those that hard locked before
>> CONFIG_IO_DELAY_* options were introduced in kernel - not sure if it
>> may be related at all).
>>
>
> I skipped this bit, and it's crucial.  kvm passes port 80 to go from guest
> to host as an optimization, and of course it kills your laptop.  I'll fix
> this up.
>
> (nowadays it may be faster to emulate the port access in the kernel rather
> than pass it to the hardware, so this is likely to be a performance
> improvement as well).
>
> In the meantime, you can use the attached patch.

That was quick, thanks a lot! Seems to be working so far (~10 mins)
and before it was lucky to even get through boot, so I think that was
it.
diff mbox

Patch

diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 27d5b74..f994c6d 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -384,7 +384,6 @@  static __init int svm_hardware_setup(void)
 
 	iopm_va = page_address(iopm_pages);
 	memset(iopm_va, 0xff, PAGE_SIZE * (1 << IOPM_ALLOC_ORDER));
-	clear_bit(0x80, iopm_va); /* allow direct access to PC debug port */
 	iopm_base = page_to_pfn(iopm_pages) << PAGE_SHIFT;
 
 	if (boot_cpu_has(X86_FEATURE_NX))