Re: [GIT PULL] xen /proc/mtrr implementation

From: Jeremy Fitzhardinge
Date: Wed May 20 2009 - 12:12:31 EST


Ingo Molnar wrote:
That's it. I could add any number of bizarre convolutions to achieve the same effect, but given that there's an existing interface that is exactly designed for what we want to achieve, I have to admit it didn't occur to me to do anything else.

Exactly what is 'bizarre' about using the API defined by the _CPU_ already, without adding any ad-hoc hypecall? Catch the dom0 WRMSRs, filter out the MTRR indices - that's it.

Well, the x86 world can't seem to decide what the ABI is supposed to be, which is why we have mtrr_ops in the first place. Doing emulation at the MSR level means that I'd need to decide which MTRR interface we're emulating today and do that.

Yes, I realize that almost everyone is using the same Intel-like interface these days, but it does mean there's a level of fragility that doesn't exist if we just implement mtrr_ops.

There's some secondary issues which arise. For example, the mtrr trimming test is meaningless in dom0 (the e820 is fake, so it doesn't make sense to compare it with the mtrrs); we currently avoid that because the test only happens if the mtrr vendor is Intel. We would need to disable that test some other way.

J
--
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/