summaryrefslogtreecommitdiff
path: root/arch/x86/include
diff options
context:
space:
mode:
authorSimon Glass <[email protected]>2025-03-15 14:25:42 +0000
committerTom Rini <[email protected]>2025-04-03 11:41:55 -0600
commit8bd563707d909d7bb414de2c0ff4ab66eb8009db (patch)
tree2c2c62b064691532cc3f4721072d7ff3ab04533e /arch/x86/include
parent5ee60f3afa146e45752e1e99c382f18dd7f8200e (diff)
x86: Add functions to convert between mtrr size and mask
Rather than repeating the same code in several places, add some functions which can do the conversion. Use the cpu_phys_address_size() function to obtain the physical-address size, since it is more reliable with kvm, where the host CPU may have a different value from the emulation CPU. Signed-off-by: Simon Glass <[email protected]>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/mtrr.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h
index 2e995f54061..67e897daa25 100644
--- a/arch/x86/include/asm/mtrr.h
+++ b/arch/x86/include/asm/mtrr.h
@@ -91,6 +91,22 @@ struct mtrr_info {
};
/**
+ * mtrr_to_size() - Convert a mask to a size value
+ *
+ * @mask: Value of the mask register
+ * Return: associated size
+ */
+u64 mtrr_to_size(u64 mask);
+
+/**
+ * mtrr_to_mask() - Convert a size to a mask value
+ *
+ * @size: Value of the size register
+ * Return: associated mask, without MTRR_PHYS_MASK_VALID
+ */
+u64 mtrr_to_mask(u64 size);
+
+/**
* mtrr_open() - Prepare to adjust MTRRs
*
* Use mtrr_open() passing in a structure - this function will init it. Then