⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pr.h

📁 内核linux2.4.20,可跟rtlinux3.2打补丁 组成实时linux系统,编译内核
💻 H
字号:
/****************************************************************************** * * Module Name: processor.h *              $Revision: 13 $ * *****************************************************************************//* *  Copyright (C) 2000, 2001 Andrew Grover * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#ifndef __PR_H__#define __PR_H__#include <bm.h>/***************************************************************************** *                             Types & Other Defines *****************************************************************************/#define PR_MAX_POWER_STATES	4#define PR_MAX_THROTTLE_STATES  8#define PR_MAX_PERF_STATES	32#define PR_MAX_C2_LATENCY	100#define PR_MAX_C3_LATENCY	1000/* * Commands: * --------- */#define PR_COMMAND_GET_POWER_INFO ((BM_COMMAND) 0x80)#define PR_COMMAND_SET_POWER_INFO ((BM_COMMAND) 0x81)#define PR_COMMAND_GET_PERF_INFO ((BM_COMMAND) 0x82)#define PR_COMMAND_GET_PERF_STATE ((BM_COMMAND) 0x83)#define PR_COMMAND_SET_PERF_LIMIT ((BM_COMMAND) 0x84)/* * Notifications: * -------------- */#define PR_NOTIFY_PERF_STATES	((BM_NOTIFY) 0x80)#define PR_NOTIFY_POWER_STATES	((BM_NOTIFY) 0x81)/* * Performance Control: * -------------------- */#define PR_PERF_DEC		0x00#define PR_PERF_INC		0x01#define PR_PERF_MAX		0xFF/* * Power States: * ------------- */#define PR_C0			0x00#define PR_C1			0x01#define PR_C2			0x02#define PR_C3			0x03#define PR_C1_FLAG		0x01;#define PR_C2_FLAG		0x02;#define PR_C3_FLAG		0x04;/* * PR_CX_POLICY_VALUES: * -------------------- */typedef struct{	u32			time_threshold;	u32			count_threshold;	u32                     bm_threshold;	u32         		target_state;	u32			count;} PR_CX_POLICY_VALUES;/* * PR_CX: * ------ */typedef struct{	u32                     latency;	u32                     utilization;	u8                      is_valid;	PR_CX_POLICY_VALUES     promotion;	PR_CX_POLICY_VALUES     demotion;} PR_CX;/* * PR_POWER: * --------- */typedef struct{	ACPI_PHYSICAL_ADDRESS   p_lvl2;	ACPI_PHYSICAL_ADDRESS   p_lvl3;	u32                     bm_activity;	u32                     active_state;	u32			default_state;	u32			busy_metric;	u32                     state_count;	PR_CX                   state[PR_MAX_POWER_STATES];} PR_POWER;/* * PR_PERFORMANCE_STATE: * --------------------- */typedef struct{	u32                     performance;	u32                     power;} PR_PERFORMANCE_STATE;/* * PR_PERFORMANCE: * --------------- */typedef struct{	u32                     active_state;	u32			thermal_limit;	u32			power_limit;	u32                     state_count;	PR_PERFORMANCE_STATE    state[PR_MAX_PERF_STATES];} PR_PERFORMANCE;/* * PR_PBLOCK: * ---------- */typedef struct{	u32                     length;	ACPI_PHYSICAL_ADDRESS   address;} PR_PBLOCK;/* * PR_CONTEXT: * ----------- */typedef struct{	BM_HANDLE               device_handle;	acpi_handle             acpi_handle;	u32                     uid;	PR_PBLOCK               pblk;	PR_POWER		power;	PR_PERFORMANCE		performance;} PR_CONTEXT;/****************************************************************************** *                             Function Prototypes *****************************************************************************//* processor.c */acpi_statuspr_initialize(void);acpi_statuspr_terminate(void);acpi_statuspr_notify (	BM_NOTIFY               notify_type,	BM_HANDLE               device_handle,	void                    **context);acpi_statuspr_request(	BM_REQUEST		*request,	void                    *context);/* prpower.c */voidpr_power_idle (void);acpi_statuspr_power_add_device (	PR_CONTEXT              *processor);acpi_statuspr_power_remove_device (	PR_CONTEXT              *processor);acpi_statuspr_power_initialize (void);acpi_statuspr_power_terminate (void);/* prperf.c */acpi_statuspr_perf_get_state (	PR_CONTEXT              *processor,	u32                     *state);acpi_statuspr_perf_set_state (	PR_CONTEXT              *processor,	u32                     state);acpi_statuspr_perf_set_limit (	PR_CONTEXT              *processor,	u32                     limit);acpi_statuspr_perf_add_device (	PR_CONTEXT              *processor);acpi_statuspr_perf_remove_device (	PR_CONTEXT              *processor);/* Processor Driver OSL */acpi_statuspr_osl_add_device (	PR_CONTEXT		*processor);acpi_statuspr_osl_remove_device (	PR_CONTEXT		*processor);acpi_statuspr_osl_generate_event (	u32			event,	PR_CONTEXT		*processor);#endif  /* __PR_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -