Re: [PATCH v3 05/12] x86/xen: set MTRR state when running as Xen PV initial domain

From: Juergen Gross
Date: Mon Feb 27 2023 - 08:56:19 EST


On 27.02.23 14:52, Boris Ostrovsky wrote:


On 2/27/23 2:12 AM, Juergen Gross wrote:
On 24.02.23 22:00, Boris Ostrovsky wrote:

On 2/23/23 4:32 AM, Juergen Gross wrote:
+
+    for (reg = 0; reg < MTRR_MAX_VAR_RANGES; reg++) {
+        op.u.read_memtype.reg = reg;
+        if (HYPERVISOR_platform_op(&op))
+            break;


If we fail on the first iteration, do we still want to mark MTRRs are enabled/set in mtrr_overwrite_state()?

Hmm, good idea.

I think we should just drop the call of mtrr_overwrite_state() in this
case.


TBH I am not sure what the right way is to handle errors here. What if the hypercall fails on second iteration?

The main reason would be that only one variable MTRR is available.

Its not as if there are very complicated scenarios leading to failures here.

Either the interface is usable and then it will work, or it isn't usable
and we can fall back to today's handling by ignoring MTRRs.


Juergen

Attachment: OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature