📄 xllp_pm_sleepcontext.inc
字号:
@******************************************************************************
@;
@; COPYRIGHT (C) 2002 Intel Corporation.
@;
@; This software as well as the software described in it is furnished under
@; license and may only be used or copied in accordance with the terms of the
@; license. The information in this file is furnished for informational use
@; only, is subject to change without notice, and should not be construed as
@; a commitment by Intel Corporation. Intel Corporation assumes no
@; responsibility or liability for any errors or inaccuracies that may appear
@; in this document or any software that may be provided in association with
@; this document.
@; Except as permitted by such license, no part of this document may be
@; reproduced, stored in a retrieval system, or transmitted in any form or by
@; any means without the express written consent of Intel Corporation.
@;
@; FILENAME: xllp_Pm_SleepContext.inc
@;
@; LAST MODIFIED: 5/28/02
@;
@******************************************************************************
@
@
@ Include file for Bulverde Processor based platforms
@ NOTE: This file must be kept in sync with xllp_Pm_SleepContext.h
@
.ifndef xllp_Pm_SleepContext_inc
.equ xllp_Pm_SleepContext_inc, 1
@ For sanity check in checksum
.equ XLLI_MAX_SLEEP_DATA_COUNT, 0x200
.equ XLLP_STORE_WMX_REGS_BYTES, 156
.equ WORD_SIZE, (4)
@ Template that defines the ASM-addressable part of the
@ XLLP_PM_ENTER_SLEEP_PARAMS_S structure used for the sleep parameter.
@ Note that the ASM-addressable section begins at the start of the structure.
@ /////////////////////////////////////////////////////////////////////////
@ //
@ // Definition of parameter structure needed by XllpPmEnterSleep()
@ //
@
@ typedef struct XLLP_PM_ENTER_SLEEP_PARAMS_S
.equ SleepParams_Data_Start, 0
.equ SleepParams_SleepType, (SleepParams_Data_Start )
.equ SleepParams_r10, (SleepParams_SleepType + WORD_SIZE)
.equ SleepParams_PEDR, (SleepParams_r10 + WORD_SIZE)
.equ SleepParams_PKSR, (SleepParams_PEDR + WORD_SIZE)
.equ SleepParams_SleepDataAreaPA, (SleepParams_PKSR + WORD_SIZE)
.equ SleepParams_SleepDataAreaVA, (SleepParams_SleepDataAreaPA + WORD_SIZE)
.equ SleepParams_SleepParamsVA, (SleepParams_SleepDataAreaVA + WORD_SIZE)
.equ SleepParams_SleepOptions, (SleepParams_SleepParamsVA + WORD_SIZE)
.equ SleepParams_DeepSleepOptionsAndEnable, (SleepParams_SleepOptions + WORD_SIZE)
.equ SleepParams_EndOfInterestingArea, (SleepParams_DeepSleepOptionsAndEnable+WORD_SIZE)
@ End of template for ASM use. C-level usage extends beyond this.
@ Don't base any other symbols or addressing on "SleepParams_" symbols
@=================================================================
@=================================================================
@ Template that defines the ASM-addressable part of the
@ XLLP_PM_SLEEP_SAVE_DATA_S structure used for the sleep saved data area.
@ Note that the ASM-addressable section begins at the start of the structure.
@typedef struct XLLP_PM_SLEEP_SAVE_DATA_S
.equ SleepState_Data_Start, 0
.equ SleepState_CHKSUM, ( SleepState_Data_Start )
.equ SleepState_WordCount, ( SleepState_CHKSUM + WORD_SIZE )
.equ SleepState_AwakeAddr, ( SleepState_WordCount + WORD_SIZE )
.equ SleepState_SleepDataAreaVA, ( SleepState_AwakeAddr + WORD_SIZE )
.equ SleepState_SleepParamVA, ( SleepState_SleepDataAreaVA + WORD_SIZE )
@ // ARM* registers and most coprocessors must be processed locally
@ // using assembly language.
@
@ // ARM* unique registers
@
.equ SleepState_ENTRY_CPSR, ( SleepState_SleepParamVA + WORD_SIZE )
.equ SleepState_ENTRY_SP, ( SleepState_ENTRY_CPSR + WORD_SIZE )
.equ SleepState_ENTRY_SPSR, ( SleepState_ENTRY_SP + WORD_SIZE )
.equ SleepState_SYS_SP, ( SleepState_ENTRY_SPSR + WORD_SIZE )
.equ SleepState_FIQ_SP, ( SleepState_SYS_SP + WORD_SIZE )
.equ SleepState_ABT_SP, ( SleepState_FIQ_SP + WORD_SIZE )
.equ SleepState_IRQ_SP, ( SleepState_ABT_SP + WORD_SIZE )
.equ SleepState_UND_SP, ( SleepState_IRQ_SP + WORD_SIZE )
.equ SleepState_SVC_SP, ( SleepState_UND_SP + WORD_SIZE )
@ // Saved Coprocessor regs other than CP0+1 (includes MMU values)
@ // MMU
.equ SleepState_Cp15_ACR_MMU, ( SleepState_SVC_SP + WORD_SIZE )
.equ SleepState_Cp15_AUXCR_MMU, ( SleepState_Cp15_ACR_MMU + WORD_SIZE )
.equ SleepState_Cp15_TTBR_MMU, ( SleepState_Cp15_AUXCR_MMU + WORD_SIZE )
.equ SleepState_Cp15_DACR_MMU, ( SleepState_Cp15_TTBR_MMU + WORD_SIZE )
.equ SleepState_Cp15_PID_MMU, ( SleepState_Cp15_DACR_MMU + WORD_SIZE )
.equ SleepState_Cp15_CPAR, (SleepState_Cp15_PID_MMU + WORD_SIZE )
.equ SleepState_EndOfInterestingArea, ( SleepState_Cp15_CPAR + WORD_SIZE )
@ End of template for ASM use. C-level usage extends beyond this.
@ Don't base any other symbols or addressing on "SleepState_" symbols
@;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@;
@; Some important constants that aren't defined elsewhere
@;
@;
@; Intel
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -