* [resend] [PATCH] MSR_IA32_PERF_STATUS support
@ 2008-01-15 12:26 Alexander Graf
[not found] ` <478CA68D.4050504-r27SGEef+tmzQB+pC5nmwQ@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Alexander Graf @ 2008-01-15 12:26 UTC (permalink / raw)
To: kvm-devel
[-- Attachment #1: Type: text/plain, Size: 489 bytes --]
This is a resend of a mail I sent on 01/10/2008. I did not receive any
response, so I assume it was lost.
The patch is really minor, does not break any compatibility (the MSR is
Intel family 13+) and makes Darwin work.
--- old mail ---
This patch adds support for the MSR MSR_IA32_PERF_STATUS. This is
required to boot Darwin.
I only implemented dummy support, as the real value would be of no
meaning to any OS I know so far anyway and is only implemented on very
recent Intel CPUs.
[-- Attachment #2: kvm-perf.patch --]
[-- Type: text/x-patch, Size: 1115 bytes --]
Index: kernel/x86.c
===================================================================
--- kernel.orig/x86.c
+++ kernel/x86.c
@@ -412,7 +412,7 @@ static u32 msrs_to_save[] = {
#ifdef CONFIG_X86_64
MSR_CSTAR, MSR_KERNEL_GS_BASE, MSR_SYSCALL_MASK, MSR_LSTAR,
#endif
- MSR_IA32_TIME_STAMP_COUNTER,
+ MSR_IA32_TIME_STAMP_COUNTER, MSR_IA32_PERF_STATUS,
};
static unsigned num_msrs_to_save;
@@ -532,7 +532,6 @@ int kvm_get_msr_common(struct kvm_vcpu *
case MSR_IA32_MC0_MISC+12:
case MSR_IA32_MC0_MISC+16:
case MSR_IA32_UCODE_REV:
- case MSR_IA32_PERF_STATUS:
case MSR_IA32_EBL_CR_POWERON:
/* MTRR registers */
case 0xfe:
@@ -548,6 +547,12 @@ int kvm_get_msr_common(struct kvm_vcpu *
case MSR_IA32_MISC_ENABLE:
data = vcpu->arch.ia32_misc_enable_msr;
break;
+ case MSR_IA32_PERF_STATUS:
+ /* These are fake values, necessary to get
+ Darwin running */
+ data = 1000ULL /* tsc_increment_by_tick */
+ | (((uint64_t)(4ULL /* granularity */ & 0x7)) << 40);
+ break;
#ifdef CONFIG_X86_64
case MSR_EFER:
data = vcpu->arch.shadow_efer;
[-- Attachment #3: Type: text/plain, Size: 278 bytes --]
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
[-- Attachment #4: Type: text/plain, Size: 186 bytes --]
_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel
^ permalink raw reply [flat|nested] 6+ messages in thread[parent not found: <478CA68D.4050504-r27SGEef+tmzQB+pC5nmwQ@public.gmane.org>]
* Re: [resend] [PATCH] MSR_IA32_PERF_STATUS support [not found] ` <478CA68D.4050504-r27SGEef+tmzQB+pC5nmwQ@public.gmane.org> @ 2008-01-15 15:28 ` Avi Kivity [not found] ` <478CD11A.1030500-atKUWr5tajBWk0Htik3J/w@public.gmane.org> 2008-01-15 15:51 ` Avi Kivity 1 sibling, 1 reply; 6+ messages in thread From: Avi Kivity @ 2008-01-15 15:28 UTC (permalink / raw) To: Alexander Graf; +Cc: kvm-devel Alexander Graf wrote: > This is a resend of a mail I sent on 01/10/2008. I did not receive any > response, so I assume it was lost. > > The patch is really minor, does not break any compatibility (the MSR is > Intel family 13+) and makes Darwin work. > > --- old mail --- > > This patch adds support for the MSR MSR_IA32_PERF_STATUS. This is > required to boot Darwin. > > I only implemented dummy support, as the real value would be of no > meaning to any OS I know so far anyway and is only implemented on very > recent Intel CPUs. > > Looks okay, but please add a signoff line and use the kernel coding style (tabs and comment style). -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <478CD11A.1030500-atKUWr5tajBWk0Htik3J/w@public.gmane.org>]
* Re: [resend] [PATCH] MSR_IA32_PERF_STATUS support [not found] ` <478CD11A.1030500-atKUWr5tajBWk0Htik3J/w@public.gmane.org> @ 2008-01-15 16:43 ` Alexander Graf [not found] ` <478CE2BD.7090002-r27SGEef+tmzQB+pC5nmwQ@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Alexander Graf @ 2008-01-15 16:43 UTC (permalink / raw) To: Avi Kivity; +Cc: kvm-devel, Alexander Graf Avi Kivity wrote: > Alexander Graf wrote: > >> This is a resend of a mail I sent on 01/10/2008. I did not receive any >> response, so I assume it was lost. >> >> The patch is really minor, does not break any compatibility (the MSR is >> Intel family 13+) and makes Darwin work. >> >> --- old mail --- >> >> This patch adds support for the MSR MSR_IA32_PERF_STATUS. This is >> required to boot Darwin. >> >> I only implemented dummy support, as the real value would be of no >> meaning to any OS I know so far anyway and is only implemented on very >> recent Intel CPUs. >> >> >> > > Looks okay, but please add a signoff line and use the kernel coding > style (tabs and comment style). > > > > Ok, should I resend the patch with a signed-off line and proper coding style? ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <478CE2BD.7090002-r27SGEef+tmzQB+pC5nmwQ@public.gmane.org>]
* Re: [resend] [PATCH] MSR_IA32_PERF_STATUS support [not found] ` <478CE2BD.7090002-r27SGEef+tmzQB+pC5nmwQ@public.gmane.org> @ 2008-01-15 17:45 ` Avi Kivity 0 siblings, 0 replies; 6+ messages in thread From: Avi Kivity @ 2008-01-15 17:45 UTC (permalink / raw) To: Alexander Graf; +Cc: kvm-devel Alexander Graf wrote: > Avi Kivity wrote: > >> Alexander Graf wrote: >> >> >>> This is a resend of a mail I sent on 01/10/2008. I did not receive any >>> response, so I assume it was lost. >>> >>> The patch is really minor, does not break any compatibility (the MSR is >>> Intel family 13+) and makes Darwin work. >>> >>> --- old mail --- >>> >>> This patch adds support for the MSR MSR_IA32_PERF_STATUS. This is >>> required to boot Darwin. >>> >>> I only implemented dummy support, as the real value would be of no >>> meaning to any OS I know so far anyway and is only implemented on very >>> recent Intel CPUs. >>> >>> >>> >>> >> Looks okay, but please add a signoff line and use the kernel coding >> style (tabs and comment style). >> >> >> >> >> > Ok, should I resend the patch with a signed-off line and proper coding > style? > Yes please. I'm a little worried that this can confuse other guests, but as it's read only and a large variety have run so far without complaining, it's probably safe enough. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [resend] [PATCH] MSR_IA32_PERF_STATUS support [not found] ` <478CA68D.4050504-r27SGEef+tmzQB+pC5nmwQ@public.gmane.org> 2008-01-15 15:28 ` Avi Kivity @ 2008-01-15 15:51 ` Avi Kivity [not found] ` <478CD687.9070000-atKUWr5tajBWk0Htik3J/w@public.gmane.org> 1 sibling, 1 reply; 6+ messages in thread From: Avi Kivity @ 2008-01-15 15:51 UTC (permalink / raw) To: Alexander Graf; +Cc: kvm-devel Alexander Graf wrote: > This is a resend of a mail I sent on 01/10/2008. I did not receive any > response, so I assume it was lost. > > The patch is really minor, does not break any compatibility (the MSR is > Intel family 13+) and makes Darwin work. > > --- old mail --- > > This patch adds support for the MSR MSR_IA32_PERF_STATUS. This is > required to boot Darwin. > > I only implemented dummy support, as the real value would be of no > meaning to any OS I know so far anyway and is only implemented on very > recent Intel CPUs. > I see some documentation of this in 13.1.1, but is there somewhere with more information? -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <478CD687.9070000-atKUWr5tajBWk0Htik3J/w@public.gmane.org>]
* Re: [resend] [PATCH] MSR_IA32_PERF_STATUS support [not found] ` <478CD687.9070000-atKUWr5tajBWk0Htik3J/w@public.gmane.org> @ 2008-01-15 16:35 ` Alexander Graf 0 siblings, 0 replies; 6+ messages in thread From: Alexander Graf @ 2008-01-15 16:35 UTC (permalink / raw) To: Avi Kivity; +Cc: kvm-devel Avi Kivity wrote: > Alexander Graf wrote: >> This is a resend of a mail I sent on 01/10/2008. I did not receive any >> response, so I assume it was lost. >> >> The patch is really minor, does not break any compatibility (the MSR is >> Intel family 13+) and makes Darwin work. >> >> --- old mail --- >> >> This patch adds support for the MSR MSR_IA32_PERF_STATUS. This is >> required to boot Darwin. >> >> I only implemented dummy support, as the real value would be of no >> meaning to any OS I know so far anyway and is only implemented on very >> recent Intel CPUs. >> > > I see some documentation of this in 13.1.1, but is there somewhere > with more information? > The only proper source of information I found was the XNU kernel, which implements a full interpretation of the MSR values. Basically the high bits are the CPU multiplier, while the low bits represent the number the TSC advances in one cycle. There is also a bit which multiplies everything by 2, but maybe the Intel people on this list can tell us more about it. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-01-15 17:45 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-15 12:26 [resend] [PATCH] MSR_IA32_PERF_STATUS support Alexander Graf
[not found] ` <478CA68D.4050504-r27SGEef+tmzQB+pC5nmwQ@public.gmane.org>
2008-01-15 15:28 ` Avi Kivity
[not found] ` <478CD11A.1030500-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-15 16:43 ` Alexander Graf
[not found] ` <478CE2BD.7090002-r27SGEef+tmzQB+pC5nmwQ@public.gmane.org>
2008-01-15 17:45 ` Avi Kivity
2008-01-15 15:51 ` Avi Kivity
[not found] ` <478CD687.9070000-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-15 16:35 ` Alexander Graf
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox