aboutsummaryrefslogtreecommitdiff
path: root/arm/common/memory.h
blob: 0899ae7cd3c58b82bef6b3de1c815b9ab59aafb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#ifndef _MEMORY_H
#define _MEMORY_H

#include "platform.h"

#define VA_SIZE 32
#define TnSZ (32-VA_SIZE)
#define STACK_SIZE 0x40000

#define EL3_FLASH_BASE FLASH_BASE
#define EL3_RAM_BASE RAM_BASE
#define EL3_RAM_SIZE (512*1024)
#define EL3_BASE_VA 0x70000000
#define EL3_PGTBL_SIZE EL1_S_PGTBL_SIZE
#define EL3_PGTBL_BASE EL1_S_PGTBL_BASE
#define EL3_STACK_SIZE STACK_SIZE
#define EL3_STACK_BASE 0x7FFF0000
#define EL3_PA_POOL_BASE (EL3_PTE_POOL_BASE+(0x40000-0x4000))
#define EL3_PTE_POOL_BASE EL3_RAM_BASE
#define EL3_INIT_STACK EL3_RAM_BASE+EL3_RAM_SIZE-0x1000
#define EL3_VA_HEAP_BASE EL3_BASE_VA + 0x1000000

#define EL1_S_FLASH_BASE (FLASH_BASE+0x10000)
#define EL1_S_RAM_BASE (RAM_BASE+0xC000000)
#define EL1_S_RAM_SIZE (512*1024)
#define EL1_S_BASE_VA 0x60000000
#define EL1_S_PGTBL_SIZE 0x40000
#define EL1_S_PGTBL_BASE EL1_S_RAM_BASE
#define EL1_S_STACK_SIZE STACK_SIZE
#define EL1_S_STACK_BASE 0x6FFFF000
#define EL1_S_ABT_STACK_BASE EL1_S_STACK_BASE
#define EL1_S_IRQ_STACK_BASE EL1_S_ABT_STACK_BASE - 0x2000
#define EL1_S_UND_STACK_BASE EL1_S_IRQ_STACK_BASE - 0x2000
#define EL1_S_SVC_STACK_BASE EL1_S_UND_STACK_BASE - 0x2000
#define EL1_S_PA_POOL_BASE (EL1_S_PGTBL_BASE+EL1_S_PGTBL_SIZE)
#define EL1_S_PTE_POOL_BASE (EL1_S_PGTBL_BASE + 0x4000)
#define EL1_S_INIT_STACK EL1_S_RAM_BASE+EL1_S_RAM_SIZE-0x1000
#define EL1_S_VA_HEAP_BASE EL1_S_BASE_VA + 0x1000000

#define EL1_NS_FLASH_BASE (FLASH_BASE+0x20000)
#define EL1_NS_RAM_BASE (RAM_BASE+0x8000000)
#define EL1_NS_RAM_SIZE (512*1024)
#define EL1_NS_BASE_VA 0x50000000
#define EL1_NS_PGTBL_SIZE 0x40000
#define EL1_NS_PGTBL_BASE EL1_NS_RAM_BASE
#define EL1_NS_STACK_SIZE STACK_SIZE
#define EL1_NS_STACK_BASE 0x5FFF0000
#define EL1_NS_ABT_STACK_BASE EL1_NS_STACK_BASE
#define EL1_NS_IRQ_STACK_BASE EL1_NS_ABT_STACK_BASE - 0x2000
#define EL1_NS_UND_STACK_BASE EL1_NS_IRQ_STACK_BASE - 0x2000
#define EL1_NS_SVC_STACK_BASE EL1_NS_UND_STACK_BASE - 0x2000
#define EL1_NS_PA_POOL_BASE (EL1_NS_PGTBL_BASE+EL1_NS_PGTBL_SIZE)
#define EL1_NS_PTE_POOL_BASE (EL1_NS_PGTBL_BASE + 0x4000)
#define EL1_NS_INIT_STACK EL1_NS_RAM_BASE+EL1_NS_RAM_SIZE-0x1000
#define EL1_NS_VA_HEAP_BASE EL1_NS_BASE_VA + 0x1000000

#define EL0_S_FLASH_BASE (FLASH_BASE+0x50000)
#define EL0_S_RAM_BASE (RAM_BASE+0x4000000)
#define EL0_S_RAM_SIZE (512*1024)
#define EL0_S_BASE_VA 0x000C0000
#define EL0_S_STACK_SIZE STACK_SIZE
#define EL0_S_STACK_BASE 0xEFF0000

#define EL0_NS_FLASH_BASE (FLASH_BASE+0x30000)
#define EL0_NS_RAM_BASE (RAM_BASE+0x4000000)
#define EL0_NS_RAM_SIZE (512*1024)
#define EL0_NS_BASE_VA 0x00080000
#define EL0_NS_STACK_SIZE STACK_SIZE
#define EL0_NS_STACK_BASE 0xFFF0000

#define TZTEST_COMMON_HEAP_BASE 0x49000000
#define TZTEST_SHARED_HEAP_BASE 0x4A000000
#endif