aboutsummaryrefslogtreecommitdiff
path: root/02-usart/include
diff options
context:
space:
mode:
Diffstat (limited to '02-usart/include')
-rw-r--r--02-usart/include/arch/x86_64/arch.h4
-rw-r--r--02-usart/include/mem.h5
2 files changed, 6 insertions, 3 deletions
diff --git a/02-usart/include/arch/x86_64/arch.h b/02-usart/include/arch/x86_64/arch.h
index accc449..e87559b 100644
--- a/02-usart/include/arch/x86_64/arch.h
+++ b/02-usart/include/arch/x86_64/arch.h
@@ -27,7 +27,7 @@
// Pretend there's a data segement at the start of SRAM1 for more accurate
// testing.
#define GHOST_DATA_SEGMENT_SIZE 1234
-#define DATA_SEGMENT_START SRAM1_BASE
-#define DATA_SEGMENT_STOP (SRAM1_BASE + GHOST_DATA_SEGMENT_SIZE)
+#define DATA_SEGMENT_START (*((uint8_t*)SRAM1_BASE))
+#define DATA_SEGMENT_STOP (*(((uint8_t*)SRAM1_BASE) + GHOST_DATA_SEGMENT_SIZE))
#endif /* ARCH_H_ */
diff --git a/02-usart/include/mem.h b/02-usart/include/mem.h
index f376e7d..d150744 100644
--- a/02-usart/include/mem.h
+++ b/02-usart/include/mem.h
@@ -4,8 +4,11 @@
#include "arch.h"
#include <stddef.h>
+#define DATA_SEGMENT_STOP_ADDR ((uint8_t*) &DATA_SEGMENT_STOP)
+#define DATA_SEGMENT_START_ADDR ((uint8_t*) &DATA_SEGMENT_START)
+
#define MAX_HEAP_SIZE \
- ((16384 - (DATA_SEGMENT_STOP - DATA_SEGMENT_START)) / 4 * 4)
+ ((16384 - (DATA_SEGMENT_STOP_ADDR - DATA_SEGMENT_START_ADDR)) / 4 * 4)
/* allocates memory on the head, which is stored in sram2 */
void* halloc(size_t n);