[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libxc: Add xc_domain_hvm_get_mtrr_type() call
On Wed, 2012-12-19 at 10:42 +0000, Razvan Cojocaru wrote: > > It would certainly be preferable to have libxc do it now rather than > > every application it or having to introduce cleverer versions of the API > > in the future. > > I agree. > > > I don't know enough about MTRRs or how Xen represents them either > > internally or at the hypercall interface to have a sensible opinion > > about the feasibility but my gut feeling is that there's no reason it > > shouldn't be. > > Unfortunately I'm far from being an expert on MTRRs too, There is a section in the Intel SDM (chapter 10.4 in my copy) which explains the meanings etc of the registers, which are what is exposed in hvm_hw_mtrr I think. > so maybe > someone can tell us what the equivalent of this: > > uint8_t get_mtrr_type(struct mtrr_state *m, paddr_t pa) > { > [...] > if ( unlikely(!(m->enabled & 0x2)) ) > return MTRR_TYPE_UNCACHABLE; > [...] > } > > whould be with libxc code using struct hvm_hw_mtrr? Or, more to the > point, what the equivalent of m->enabled is in this: xen/arch/x86/hvm/mtrr.c:mtrr_def_type_msr_set() seems to be where it is written, and it is called with hw_mtrr.msr_mtrr_def_type so it looks like it can be derived from that value in hvm_hw_mtrr. > > 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; > }; > > I'm also having a hard time figuring out how to map m->overlapped on the > hvm_hw_mtrr members. m->overlapped = is_var_mtrr_overlapped(m); Looks like that function contains the necessary logic. > It's also quite possible (to me, at least, at this > stage) that they're not needed because at libxc level they're assumed to > be set to some value (i.e. 'overlapped' is assumed to be 0, 'enabled' to > be 1). > > Any help is appreciated, if we clear this up I'll modify and re-submit > the patch. > > Thanks, > Razvan Cojocaru _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |