Anthony Liguori writes: > On 10/25/2010 08:37 AM, Lluís wrote: >> I know extending the ISA is not nice at all, but I think that's much >> more maintainable than a per-guest OS interface (supposing some will >> need extra guest drivers).
> On x86, there are some architecturally nicer ways to do this. > For instance, a CPUID leaf could be used in the 0x40001xxx range. Right, I commented this in a previous mail as a much nicer way to do it, but I was just too lazy to look up how CPUID works and instead ported the implementation I already had in bochs :) Although I can port it to CPUID if people find it useful to have upstream. I just need a way to provide an immediate and a register-based argument (at the same time), which does not require executing more than a couple of extra instructions (right now everything fits on a single instruction). Being able te receive back information would be a plus, which I think CPUID already does to return its results; although I think the ISA says that _all_ registers are "used" after executing it. Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth