📄 config.h
字号:
#define SM_ANCHOR_ADRS ((sysProcNumGet() == 0) ? \ ((char*) (LOCAL_MEM_LOCAL_ADRS + SM_ANCHOR_OFFSET)) : \ ((char*) (VME_A32_MSTR_LOCAL + SM_ANCHOR_OFFSET)))#define SM_INT_TYPE SM_INT_MAILBOX_1 /* or SM_INT_NONE *//* * The following defines are only used by the master. * If SM_OFF_BOARD == FALSE, these values are used * by the master's UNIVERSE_II window definitions, so * they need to be on a 64K byte boundary. * The slave only uses the "Anchor" address. */#define SM_MEM_ADRS 0x00010000 /* Start of actual SM region */#define SM_MEM_SIZE 0x00020000#define SM_OBJ_MEM_ADRS (SM_MEM_ADRS+SM_MEM_SIZE) /* SM Objects pool */#define SM_OBJ_MEM_SIZE 0x00010000#define INCLUDE_VME /* undef to exclude VME support *//* * Local Memory definitions * * By default, the available DRAM memory is sized at bootup (LOCAL_MEM_AUTOSIZE * is defined). If auto-sizing is not selected, make certain that * LOCAL_MEM_SIZE is set to the actual amount of memory on the board. * By default, it is set to the minimum memory configuration: 16 MB. * Failure to do so can cause unpredictable system behavior! */#define LOCAL_MEM_AUTOSIZE /* undef for fixed size */#define LOCAL_MEM_LOCAL_ADRS 0x00000000 /* fixed at zero */#define LOCAL_MEM_SIZE 0x01000000 /* Default: Min memory: 16MB */#define RAM_HIGH_ADRS 0x00300000 /* RAM address for ROM boot */#define RAM_LOW_ADRS 0x00100000 /* RAM address for kernel *//* user reserved memory, see sysMemTop() */#define USER_RESERVED_MEM (0) /* number of reserved bytes *//* * The constants ROM_TEXT_ADRS, ROM_SIZE, RAM_LOW_ADRS and RAM_HIGH_ADRS * are defined in config.h, Makefile. * All definitions for these constants must be identical. */#undef INCLUDE_MOT_BUG_ROM /* define this to use */#ifdef INCLUDE_MOT_BUG_ROM# define ROM_BASE_ADRS (LOCAL_MEM_SIZE)# define ROM_TEXT_ADRS ROM_BASE_ADRS#else# define ROM_BASE_ADRS 0xfff00000 /* base address of ROM */# define ROM_TEXT_ADRS (ROM_BASE_ADRS + 0x100)#endif /* INCLUDE_MOT_BUG_ROM */#define ROM_SIZE 0x00100000 /* 1 Meg ROM space *//* Extended VME A32 space; enabled by default, #undef disables it */#define EXTENDED_VME/* * VME A32 master window, * * The standard window size (as shipped) is 128 MB. This is the largest * size recommended for use with TLBs and is the largest size allowed with * extended VME addressing disabled. Use of only BAT registers can increase * the size to 1 GB. For larger sizes, TLBs and BATs must be used together. * * Memory address granularity is 64 KB for TLBs while BATs are restricted to * the following fixed sizes: 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, * 16 MB, 32 MB, 64 MB, 128 MB or 256 MB each. Because there are only 4 BATs * for data address translation, a maximum of 4 x 256 MB = 1 GB can be * mapped this way. * * Memory usage by TLBs is costly. For each 128 MB of memory to be mapped, * 1 MB of memory is used by TLBs. A TLB array for 1 GB would require 8 MB! *//* * VME A32 start address. This value must be larger than the amount of local * DRAM when using the Extended VME address map. */#ifdef EXTENDED_VME# define VME_A32_MSTR_LOCAL 0x10000000 /* 256MB default */#else# define VME_A32_MSTR_LOCAL 0xd8000000 /* After PCI I/O */#endif/* VME Master access windows, set size to 0 to disable a window */#define VME_A32_MSTR_BUS 0x08000000 /* Base VME address */#define VME_A32_MSTR_SIZE 0x08000000 /* VME A24 master window, (16MB) */#define VME_A24_MSTR_BUS 0x00000000 /* Base VME address */#define VME_A24_MSTR_SIZE 0x01000000 /* 0 to 16MB, mult of 64K *//* VME A16 Master window (64KB) */#define VME_A16_MSTR_SIZE 0x00010000 /* either 0 or 64KB, only *//* Setup VME slave windows, set size to 0 to disable a window *//* * VME A32 slave window, default is to map all local memory to VMEbus. * The window size is set to LOCAL_MEM_SIZE. This will reduce the window * size if LOCAL_MEM_SIZE does not reflect the actual amount of memory. * Hence, if all of physical memory is to be addressed in the A32 window, * the actual board memory size should be set in LOCAL_MEM_SIZE. */#define VME_A32_SLV_LOCAL LOCAL_MEM_LOCAL_ADRS#define VME_A32_SLV_BUS VME_A32_MSTR_BUS#define VME_A32_SLV_SIZE (((ULONG)sysPhysMemTop()) - (LOCAL_MEM_LOCAL_ADRS))/* VME A24 slave window, no default support *//* VME A16 slave window, no default support */#ifdef INCLUDE_VME_DMA/* Default DMA operating parameters used by sysVmeDmaInit() *//* * VMEbus data transfer type * - a combination of VMEbus Max. Datawidth (VDM) and * VMEbus Cycle Type (VCT). * * choices: * (DCTL_VDW_8 | DCTL_VCT_SINGLE) * (DCTL_VDW_16 | DCTL_VCT_SINGLE) * (DCTL_VDW_32 | DCTL_VCT_SINGLE) * (DCTL_VDW_64 | DCTL_VCT_SINGLE) * (DCTL_VDW_32 | DCTL_VCT_BLK) ** BLT ** * (DCTL_VDW_64 | DCTL_VCT_BLK) ** MBLT ** */#define VME_DMA_XFER_TYPE (DCTL_VDW_32 | DCTL_VCT_SINGLE)/* * VMEbus Address Space type * choices: * DCTL_VAS_A16 * DCTL_VAS_A24 * DCTL_VAS_A32 */#define VME_DMA_ADDR_SPACE DCTL_VAS_A32/* * Program/Data Address Modifier (AM) Code * choices: * DCTL_PGM_DATA * DCTL_PGM_PRGM */#define VME_DMA_DATA_TYPE DCTL_PGM_DATA/* * Supervisor/User Address Modifier (AM) Code * choices: * DCTL_SUPER_USER * DCTL_SUPER_SUP */#define VME_DMA_USER_TYPE DCTL_SUPER_SUP/* * VMEbus Aligned DMA Transfer Count (in bytes) * - Max. data transferred before giving up the VMEbus * choices: * DGCS_VON_DONE * DGCS_VON_256 * DGCS_VON_512 * DGCS_VON_1024 * DGCS_VON_2048 * DGCS_VON_4096 * DGCS_VON_8192 * DGCS_VON_16384 */#define VME_DMA_MAX_BURST DGCS_VON_DONE/* * Minimum period the DMA is off the VMEbus between tenures (in microseconds) * choices: * DGCS_VOFF_0 * DGCS_VOFF_16 * DGCS_VOFF_32 * DGCS_VOFF_64 * DGCS_VOFF_128 * DGCS_VOFF_256 * DGCS_VOFF_512 * DGCS_VOFF_1024 */#define VME_DMA_MIN_TIME_OFF_BUS DGCS_VOFF_0#endif /* INCLUDE_VME_DMA *//* Include MPIC support by default */#define INCLUDE_MPIC/* * These defines are used to initialize the External Source * Vector/Priority registers in the MPIC. The following can * be defined: interrupt sensitivity, polarity and interrupt priority. * * Note: by default a 1 into the sense bit(22) will setup for level * sensitive, and a 0 into the polarity bit(23) will setup for low * polarity. * * At initialization all external interrupt sources are disabled * except for the 8259 input, which is enabled in the MPIC driver. * * All currently unused interrupt sources are set to a priority of * 0, which will not allow them to be enabled. If any one of these * levels is to be used, the priority value must be changed here. */ #define INIT_EXT_SRC0 ( INT_MASK_BIT | HIGH_POLARITY | LEVEL_SENSE |\ PRIORITY_LVL8 ) /* PIB (8259) */ #define INIT_EXT_SRC1 ( INT_MASK_BIT | PRIORITY_LVL0 ) /* Falcon ECC*/ #define INIT_EXT_SRC2 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL14 ) /* primary ethernet */ #define INIT_EXT_SRC3 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL3 ) /* primary SCSI */ #define INIT_EXT_SRC4 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* graphics */#define INIT_EXT_SRC5 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL10 ) /* Universe LINT0 */ #define INIT_EXT_SRC6 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* Universe LINT1 */ #define INIT_EXT_SRC7 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* Universe LINT2 */ #define INIT_EXT_SRC8 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* Universe LINT3 */ #define INIT_EXT_SRC9 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL7 ) /* PCI PMC1/PMC2 INTA */#ifdef INCLUDE_SECONDARY_ENET# define INIT_EXT_SRC10 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL13 ) /* PCI INTB/sec ethernet */#else# define INIT_EXT_SRC10 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL6 ) /* PCI INTB */#endif /* INCLUDE_SECONDARY_ENET */#ifdef INCLUDE_SECONDARY_SCSI# define INIT_EXT_SRC11 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL2 ) /* PCI INTC/sec SCSI */#else# define INIT_EXT_SRC11 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL5 ) /* PCI INTC */#endif /* INCLUDE_SECONDARY_SCSI */#define INIT_EXT_SRC12 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL4 ) /* PCI PMC1/PMC2 INTD */ #define INIT_EXT_SRC13 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* LM/SIG int 0 */ #define INIT_EXT_SRC14 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL15 ) /* LM/SIG int 0/mailbox */ #define INIT_EXT_SRC15 ( INT_MASK_BIT | LEVEL_SENSE |\ PRIORITY_LVL0 ) /* NOT USED */ /* BSP-specific includes */#include "mv2600.h"#ifdef __cplusplus}#endif#endif /* INCconfigh */#if defined(PRJ_BUILD)#include "prjParams.h"#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -