RTEMS  5.1
psim.h
1 /*
2  * PSIM addresses and constants based upon the configuration
3  * of devices used in the script provided by RTEMS.
4  */
5 
6 #ifndef __PSIM_h
7 #define __PSIM_h
8 
9 /*
10  * RAM Information
11  */
12 
13 extern char RamBase[];
14 extern char RamSize[];
15 
16 /*
17  * RamBase/RamSize is defined by the linker script;
18  * CPP symbols are AFAIK unused and deprecated.
19  */
20 #define PSIM_RAM_SIZE ((unsigned long)RamSize)
21 #define PSIM_RAM_BASE ((void*)RamBase)
22 
23 /*
24  * NVRAM/RTC Structure and Information
25  */
26 
27 #define PSIM_RTC_FREEZE 0xc0
28 #define PSIM_RTC_UPDATE 0x00
29 
30 typedef struct {
31  volatile uint8_t Control; /* 0x04 */
32  volatile uint8_t Second; /* 0x05 */
33  volatile uint8_t Minute; /* 0x06 */
34  volatile uint8_t Hour; /* 0x07 */
35  volatile uint8_t Day; /* 0x08 */
36  volatile uint8_t Date; /* 0x09 */
37  volatile uint8_t Month; /* 0x0a */
38  volatile uint8_t Year; /* 0x0b */
39 } psim_rtc_t;
40 
41 /*
42  * System V IPC Semaphore -- Read Only
43  */
44 
45 typedef struct {
46  volatile uint32_t obtain_value; /* 0x00 */
47  volatile uint32_t lock; /* 0x04 */
48  volatile uint32_t unlock; /* 0x08 */
50 
51 typedef struct {
52  /* 0x0c000000 - 0x0c007FFF - AMD 29F040 */
53  volatile uint8_t Flash[ 512 * 1024 ];
54 
55  /* 0x0c080000 - 0x0c0FFFFF - NVRAM/NVRAM */
56  volatile uint8_t nvram[ 512 * 1024 ];
57 
58  /* 0x0c100000 - 0x0c100007 - NVRAM/RTC */
60 
61  /* 0x0c100008 - 0x0c10000F - NVRAM/RTC */
62  uint8_t gap1[8];
63 
64  /* 0x0c100010 - 0x0c10001b - System V IPC Semaphore */
65  psim_sysv_sem_t Semaphore;
66 
67  /* 0x0c10001c - 0x0c10001f - NVRAM/RTC */
68  uint8_t gap2[4];
69 
70  /* 0x0c100020 - 0x0c10005F - Ethernet */
71  volatile uint8_t Ethtap[ 64 ];
72 
73  /* 0x0c100060 - 0x0c10FFFF - NVRAM/RTC */
74  uint8_t gap3[65440];
75 
76  /* 0x0c110000 - 0x0c12FFFF - System V IPC Shared Memory */
77  uint8_t SharedMemory[ 128 * 1024 ];
78 
79  /* 0x0c130000 - 0x0c170000 - OpenPIC IRQ Controller */
80  volatile uint8_t OpenPIC[ 256 * 1024 ];
81 
83 
84 /*
85  * Data Structure Overlay for Registers. See linkcmds for placement.
86  */
87 extern psim_registers_t PSIM;
88 
89 #endif
90 /* end of include file */
Definition: psim.h:45
Definition: psim.h:30
Definition: openpic.h:166
Definition: psim.h:51
#define RTC
(RTC ) Base Address
Definition: same70j19.h:542