|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Libxc code to get MTRR memory type for physical address pa
At 17:13 +0200 on 13 Dec (1355418813), Razvan Cojocaru wrote:
> Hello,
>
> what would be the libxc-based equivalent of get_mtrr_type(struct
> mtrr_state *m, paddr_t pa) (from xen/arch/x86/hvm/mtrr.c)?
>
> I've searched the source code and found this:
>
> struct hvm_hw_mtrr {
> #define MTRR_VCNT 8
> #define NUM_FIXED_MSR 11
> uint64_t msr_pat_cr;
> /* mtrr physbase & physmask msr pair*/
> uint64_t msr_mtrr_var[MTRR_VCNT*2];
> uint64_t msr_mtrr_fixed[NUM_FIXED_MSR];
> uint64_t msr_mtrr_cap;
> uint64_t msr_mtrr_def_type;
> };
>
> in xen/include/public/arch-x86/hvm/save.h. I can retrieve that using
> xc_domain_hvm_getcontext_partial(), but what would the the best way to
> get the uint8_t result, for a given 'pa', that get_mtrr_type() returns?
I think you'd have to write some code to decode the MTRRs, by copying
the logic that Xen uses in get_mtrr_type (or by following the processor
manuals).
If you do, please send a patch to add it to libxc for the next person!
Tim.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |