From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Subject: Re: [resend] [PATCH] MSR_IA32_PERF_STATUS support Date: Tue, 15 Jan 2008 17:35:22 +0100 Message-ID: <478CE0CA.9040708@csgraf.de> References: <478CA68D.4050504@csgraf.de> <478CD687.9070000@qumranet.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel To: Avi Kivity Return-path: In-Reply-To: <478CD687.9070000-atKUWr5tajBWk0Htik3J/w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org 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/