[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <46EFD318.3070401@codemonkey.ws>
Date: Tue, 18 Sep 2007 08:31:04 -0500
From: Anthony Liguori <anthony@...emonkey.ws>
To: Avi Kivity <avi@...ranet.com>
CC: Anthony Liguori <aliguori@...ibm.com>,
kvm-devel@...ts.sourceforge.net, Zachary Amsden <zach@...are.com>,
Jeremy Fitzhardinge <jeremy@...p.org>,
linux-kernel@...r.kernel.org
Subject: Re: [kvm-devel] [PATCH 2/3] Refactor hypercall infrastructure (v3)
Avi Kivity wrote:
> Avi Kivity wrote:
>
>> Avi Kivity wrote:
>>
>>> Anthony Liguori wrote:
>>>
>>>
>>>> This patch refactors the current hypercall infrastructure to better
>>>> support live
>>>> migration and SMP. It eliminates the hypercall page by trapping the UD
>>>> exception that would occur if you used the wrong hypercall
>>>> instruction for the
>>>> underlying architecture and replacing it with the right one lazily.
>>>>
>>>> It also introduces the infrastructure to probe for hypercall
>>>> available via
>>>> CPUID leaves 0x40000000. CPUID leaf 0x40000001 should be filled out by
>>>> userspace.
>>>>
>>>> A fall-out of this patch is that the unhandled hypercalls no longer
>>>> trap to
>>>> userspace. There is very little reason though to use a hypercall to
>>>> communicate
>>>> with userspace as PIO or MMIO can be used. There is no code in tree
>>>> that uses
>>>> userspace hypercalls.
>>>>
>>>>
>>>>
>>> Surprisingly, this patch kills Windows XP (ACPI HAL). I'll try to
>>> find out why.
>>>
>>>
>>>
>> Not trapping #UD brings things back to normal. So, Windows likes to
>> execute undefined instructions, and we don'd handle these well.
>>
>>
> Okay, vmx_inject_ud() was broken. Fixed now.
>
Yeah, I was just about to send the patch for that. Sorry about that, I
didn't even think to test Windows...
Regards,
Anthony Liguori
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists