84 lines
2.4 KiB
C
84 lines
2.4 KiB
C
/* adrSpaceArchLibP.h - address space header file for x86_64 */
|
|
|
|
/*
|
|
* Copyright (c) 2010 Wind River Systems, Inc.
|
|
*
|
|
* The right to copy, distribute, modify or otherwise make use
|
|
* of this software may be licensed only pursuant to the terms
|
|
* of an applicable Wind River license agreement.
|
|
*/
|
|
|
|
/*
|
|
modification history
|
|
--------------------
|
|
01a,01feb10,elp created from x86_64 with 64-bit region definitions.
|
|
*/
|
|
|
|
#ifndef __INCadrSpaceArchLibPh
|
|
#define __INCadrSpaceArchLibPh
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* defines */
|
|
|
|
/* virtual memory region definitions */
|
|
|
|
#define KERNEL_SYS_MEM_RGN_BASE \
|
|
(adrSpaceArchRgnBaseGet(ADR_SPACE_ARCH_KERNEL_SYS_MEM_RGN))
|
|
#define KERNEL_SYS_MEM_RGN_SIZE \
|
|
(adrSpaceArchRgnSizeGet(ADR_SPACE_ARCH_KERNEL_SYS_MEM_RGN))
|
|
|
|
#define KERNEL_VIRT_POOL_RGN_BASE \
|
|
(adrSpaceArchRgnBaseGet(ADR_SPACE_ARCH_KERNEL_VIRT_POOL_RGN))
|
|
#define KERNEL_VIRT_POOL_RGN_SIZE \
|
|
(adrSpaceArchRgnSizeGet(ADR_SPACE_ARCH_KERNEL_VIRT_POOL_RGN))
|
|
|
|
#define KERNEL_DIRECT_MAP_RGN_BASE \
|
|
(adrSpaceArchRgnBaseGet(ADR_SPACE_ARCH_KERNEL_DIRECT_MAP_RGN))
|
|
#define KERNEL_DIRECT_MAP_RGN_SIZE \
|
|
(adrSpaceArchRgnSizeGet(ADR_SPACE_ARCH_KERNEL_DIRECT_MAP_RGN))
|
|
|
|
#define SHARED_RGN_BASE \
|
|
(adrSpaceArchRgnBaseGet(ADR_SPACE_ARCH_SHARED_RGN))
|
|
#define SHARED_RGN_SIZE \
|
|
(adrSpaceArchRgnSizeGet(ADR_SPACE_ARCH_SHARED_RGN))
|
|
|
|
#define RTP_PRIVATE_RGN_BASE \
|
|
(adrSpaceArchRgnBaseGet(ADR_SPACE_ARCH_RTP_PRIV_RGN))
|
|
#define RTP_PRIVATE_RGN_SIZE \
|
|
(adrSpaceArchRgnSizeGet(ADR_SPACE_ARCH_RTP_PRIV_RGN))
|
|
|
|
#define ADR_SPACE_ARCH_RGN_NUM 5 /* number of regions */
|
|
|
|
/* typedefs */
|
|
|
|
typedef enum
|
|
{
|
|
ADR_SPACE_ARCH_KERNEL_SYS_MEM_RGN = 0,
|
|
ADR_SPACE_ARCH_KERNEL_VIRT_POOL_RGN = 1,
|
|
ADR_SPACE_ARCH_KERNEL_DIRECT_MAP_RGN = 2,
|
|
ADR_SPACE_ARCH_SHARED_RGN = 3,
|
|
ADR_SPACE_ARCH_RTP_PRIV_RGN = 4
|
|
} ADR_SPACE_ARCH_RGN_TYPE;
|
|
|
|
/* BSP configured values */
|
|
|
|
extern VIRT_ADDR sysKernelSysMemRgnBase;
|
|
extern size_t sysKernelSysMemRgnSize;
|
|
extern VIRT_ADDR sysRtpPrivMemRgnBase;
|
|
extern size_t sysRtpPrivMemRgnSize;
|
|
extern VIRT_ADDR sysSharedMemRgnBase;
|
|
extern size_t sysSharedMemRgnSize;
|
|
extern VIRT_ADDR sysKernelVirtPoolMemRgnBase;
|
|
extern size_t sysKernelVirtPoolMemRgnSize;
|
|
|
|
extern VIRT_ADDR adrSpaceArchRgnBaseGet (ADR_SPACE_ARCH_RGN_TYPE rgnType);
|
|
extern size_t adrSpaceArchRgnSizeGet (ADR_SPACE_ARCH_RGN_TYPE rgnType);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __INCadrSpaceArchLibPh */
|