📄 profxsc1.h
字号:
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
//------------------------------------------------------------------------------
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
//------------------------------------------------------------------------------
//
// This module contains the function prototypes and constant, type and
// structure definitions for the Windows CE profiling functionality.
//
//------------------------------------------------------------------------------
#ifndef _PROFXSC1_H_
#define _PROFXSC1_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <windows.h>
// Used when calling IOCTL_HAL_OEM_PROFILER on XScale
typedef struct XSC1_ProfilerControl {
DWORD dwPMNCFlags; // what will be set in PMNC as a result of this operation
DWORD dwCCNTOverflowInterval;
DWORD dwPMN0OverflowInterval;
DWORD dwPMN1OverflowInterval;
} XSC1_ProfilerControl;
// Used as output struct when calling IOCTL_HAL_OEM_PROFILER on XScale
typedef struct XSC1_ProfilerData {
DWORD dwValCCNT;
DWORD dwOverflowCCNT;
DWORD dwValPMN0;
DWORD dwOverflowPMN0;
DWORD dwValPMN1;
DWORD dwOverflowPMN1;
} XSC1_ProfilerData;
// Nomenclature for PMU CP register access (matches spec)
#define PMUREG_PMNC 0 // PMU Control Register
#define PMUREG_CCNT 1 // PMU Clock Counter (CCNT)
#define PMUREG_PMN0 2 // PMU Count Register 0 (PMN0)
#define PMUREG_PMN1 3 // PMU Count Register 1 (PMN1)
// implemented in cp14regaccess.s
extern unsigned long ReadPMURegister(unsigned long Regno);
extern void WritePMURegister(unsigned long Regno, unsigned long Value);
#ifdef __cplusplus
}
#endif
#endif // _PROFXSC1_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -