diff options
Diffstat (limited to 'memory.h')
-rw-r--r-- | memory.h | 28 |
1 files changed, 7 insertions, 21 deletions
@@ -1,17 +1,13 @@ #ifndef MEMORY_H #define MEMORY_H -#include "paging.h" - -#define SECTION_SIZE (((uint32_t) 1) << 20) - #define INTERRUPT_VECTOR_TABLE_START ((uint32_t) 0x0) #define STACK_START ((uint32_t) 0x4000) #define STACK_END ((uint32_t) 0x8000) -extern const char __end; -extern const char __start; +extern char __end; +extern char __start; #define KERNEL_START ((uint32_t) &__start) #define KERNEL_END ((uint32_t) &__end) @@ -24,21 +20,11 @@ extern const char __start; #define TRANSLATION_TABLE_END \ (TRANSLATION_TABLE_BASE + (uint32_t) (4096 * 4)) -#define LIBKERNEL_SECTION_START \ - (((TRANSLATION_TABLE_END - (uint32_t) 1) & ~((uint32_t) 0xfffff)) \ - + SECTION_SIZE) - -#define LIBKERNEL_SECTION_END \ - (LIBKERNEL_SECTION_START + SECTION_SIZE) +#define PRIVILEGED_MEMORY_END TRANSLATION_TABLE_END -// section for libkernel is flat-mapped -#define LIBKERNEL_SECTION_NUMBER (LIBKERNEL_SECTION_START >> 20) - -#define PRIVILEGED_MEMORY_END LIBKERNEL_SECTION_END - -#define UNPRIVILEGED_MEMORY_START PRIVILEGED_MEMORY_END -#define UNPRIVILEGED_MEMORY_END \ - (UNPRIVILEGED_MEMORY_START + SECTION_SIZE) +#define UNPRIVILEGED_MEMORY_START \ + (((PRIVILEGED_MEMORY_END - (uint32_t) 1) & ~((uint32_t) 0xfffff)) \ + + (uint32_t) 0x100000) #define PL0_SECTION_NUMBER ((uint32_t) 0b101010101010) #define PL0_SECTION_NUMBER_STR "0b101010101010" @@ -46,4 +32,4 @@ extern const char __start; #define VIRTUAL_PL0_MEMORY_START (PL0_SECTION_NUMBER << 20) #endif // MEMORY_H - + |