RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
powerpc
psim
include
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 */
49
}
psim_sysv_sem_t
;
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 */
59
psim_rtc_t
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
82
}
psim_registers_t
;
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 */
psim_registers_t
Definition
psim.h:51
psim_rtc_t
Definition
psim.h:30
psim_sysv_sem_t
Definition
psim.h:45
Generated by
1.18.0