RE: [kvm-devel] [PATCH] Refactor hypercall infrastructure

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Nakajima, Jun
Date: Friday, September 14, 2007 - 11:11 pm

Jeremy Fitzhardinge wrote:
kernel
specific
If
interface?

I'm suggesting that we use CPUID.0x4000000Y (Y: TBD, e.g. 6) for Linux
paravirtualization.  The ebx, ecx and edx return the Linux
paravirtualization features available on that hypervisor. Those features
are defined architecturally (not VMM specific).

Like CPUID.0, CPUID.0x40000000 is used to detect the hypervisor with the
vendor identification string returned in ebx, edx, and ecx (as we are
doing in Xen). The eax returns the max leaf (which is 0x40000002 on Xen
today). And like CPUID.1, CPUID.0x40000001 returns the version number in
eax, and each VMM should be able to define a number of VMM-specific
features available in ebx, ecx, and edx returned (which are reserved,
i.e. not used in Xen today). 

Suppose we knew (i.e. tested) Xen and KVM supported Linux
paravirtualization, the Linux code does:
1. detect Xen or KVM <the list> using CPUID.0x40000000 
2. Check the version if necessary using CPUID.0x40000001
3. Check the Linux paravirtualization features available using
CPUID.0x4000000Y.

Jun
---
Intel Open Source Technology Center
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] Refactor hypercall infrastructure, Anthony Liguori, (Fri Sep 14, 12:45 pm)
Re: [PATCH] Refactor hypercall infrastructure, Jeremy Fitzhardinge, (Fri Sep 14, 1:53 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Anthony Liguori, (Fri Sep 14, 2:02 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Zachary Amsden, (Fri Sep 14, 2:20 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Jeremy Fitzhardinge, (Fri Sep 14, 2:22 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Anthony Liguori, (Fri Sep 14, 2:44 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Anthony Liguori, (Fri Sep 14, 2:46 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Jeremy Fitzhardinge, (Fri Sep 14, 2:52 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Anthony Liguori, (Fri Sep 14, 3:08 pm)
RE: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Nakajima, Jun, (Fri Sep 14, 3:40 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Jeremy Fitzhardinge, (Fri Sep 14, 4:00 pm)
RE: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Nakajima, Jun, (Fri Sep 14, 5:10 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Jeremy Fitzhardinge, (Fri Sep 14, 5:28 pm)
RE: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Nakajima, Jun, (Fri Sep 14, 6:04 pm)
Re: [PATCH] Refactor hypercall infrastructure, Rusty Russell, (Fri Sep 14, 7:35 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Zachary Amsden, (Fri Sep 14, 8:37 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Jeremy Fitzhardinge, (Fri Sep 14, 9:53 pm)
RE: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Nakajima, Jun, (Fri Sep 14, 11:11 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Anthony Liguori, (Sat Sep 15, 10:33 am)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Anthony Liguori, (Sat Sep 15, 11:23 am)
RE: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Nakajima, Jun, (Mon Sep 17, 11:14 am)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Anthony Liguori, (Mon Sep 17, 11:27 am)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Jeremy Fitzhardinge, (Mon Sep 17, 12:15 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Jeremy Fitzhardinge, (Mon Sep 17, 12:15 pm)
Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Anthony Liguori, (Mon Sep 17, 12:33 pm)
RE: [kvm-devel] [PATCH] Refactor hypercall infrastructure, Nakajima, Jun, (Mon Sep 17, 1:52 pm)