[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1 of 2] traps: AMD PM RDMSRs (MSR_K8_PSTATE_CTRL, etc)
On Thu, Mar 01, 2012 at 04:33:42PM +0000, Keir Fraser wrote: > On 24/02/2012 10:38, "Jan Beulich" <JBeulich@xxxxxxxx> wrote: > > >>>> On 24.02.12 at 07:43, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > >>>> wrote: > >> # HG changeset patch > >> # User Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > >> # Date 1330065828 18000 > >> # Node ID a34b652afb0ca484b7416008c95fd36ffbbea334 > >> # Parent a4d93d0e0df2fafe5b3e2dab3e34799498a875e2 > >> traps: AMD PM RDMSRs (MSR_K8_PSTATE_CTRL, etc) > >> > >> The restriction to read and write the AMD power management MSRs is gated if > >> the > >> domain 0 is the PM domain (so FREQCTL_dom0_kernel is set). But we can > >> relax this restriction and allow the privileged domain to read the MSRs > >> (but not write). This allows the priviliged domain to harvest the power > >> management information (ACPI _PSS states) and send it to the hypervisor. > >> > >> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > >> > >> diff -r a4d93d0e0df2 -r a34b652afb0c xen/arch/x86/traps.c > >> --- a/xen/arch/x86/traps.c Wed Feb 22 14:33:24 2012 +0000 > >> +++ b/xen/arch/x86/traps.c Fri Feb 24 01:43:48 2012 -0500 > >> @@ -2610,7 +2610,7 @@ static int emulate_privileged_op(struct > >> case MSR_K8_PSTATE7: > >> if ( boot_cpu_data.x86_vendor != X86_VENDOR_AMD ) > >> goto fail; > >> - if ( !is_cpufreq_controller(v->domain) ) > >> + if ( !is_cpufreq_controller(v->domain) && !IS_PRIV(v->domain) > >> ) > > > > As said already in response to your Linux side overview mail, while > > I don't view this as having potential to cause any problems, I also > > don't see the need. > > > > And then if this indeed is wanted, replacing is_cpufreq_controller() > > by IS_PRIV() rather than adding the latter would seem preferable > > (because of being more strait forward). > > Any response to this, Konrad? Ah, lets drop this patch. Jan got me thinking about doing it in a much nicer way without a need to do the MSRs. > > K. > > > Jan > > > >> { > >> regs->eax = regs->edx = 0; > >> break; > >> > >> > >> > >> _______________________________________________ > >> Xen-devel mailing list > >> Xen-devel@xxxxxxxxxxxxx > >> http://lists.xen.org/xen-devel > > > > > > > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@xxxxxxxxxxxxx > > http://lists.xen.org/xen-devel > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |