Re: [RFC] CPUID usage for interaction between Hypervisors and Linux.

From: Anthony Liguori
Date: Wed Oct 01 2008 - 16:05:01 EST


Jeremy Fitzhardinge wrote:
Alok Kataria wrote:

No, we're not getting anywhere. This is an outright broken idea. The space is too small to be able to chop up in this way, and the number of vendors too large to be able to do it without having a central oversight.

The only way this can work is by having explicit positive identification of each group of leaves with a signature. If there's a recognizable signature, then you can inspect the rest of the group; if not, then you can't. That way, you can avoid any leaf usage which doesn't conform to this model, and you can also simultaneously support multiple hypervisor ABIs. It also accommodates existing hypervisor use of this leaf space, even if they currently use a fixed location within it.

A concrete counter-proposal:

Mmm, cpuid bikeshedding :-)

The space 0x40000000-0x400000ff is reserved for hypervisor usage.

This region is divided into 16 16-leaf blocks. Each block has the structure:

0x400000x0:
eax: max used leaf within the leaf block (max 0x400000xf)

Why even bother with this? It doesn't seem necessary in your proposal.

Regards,

Anthony Liguori
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/