aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sys/schedule.h5
-rw-r--r--linker.ld75
2 files changed, 40 insertions, 40 deletions
diff --git a/include/sys/schedule.h b/include/sys/schedule.h
index 18b2f7f..210ab3f 100644
--- a/include/sys/schedule.h
+++ b/include/sys/schedule.h
@@ -2,11 +2,10 @@
#define SYS_SCHEDULE_H
#include <lib/queue.h>
-#define TQUEUE_MAX 0x800
+#define TQUEUE_MAX 0x400
#define STACK_SIZE 0x4000
-#define TQUEUE_CNT 3
#define PRIORITIES 8
-#define MAX_THREADS TQUEUE_MAX*PRIORITIES*TQUEUE_CNT
+#define MAX_THREADS TQUEUE_MAX*PRIORITIES
enum ThreadStatus {
THREAD_READY = 0,
diff --git a/linker.ld b/linker.ld
index 8e6bcc4..62ae053 100644
--- a/linker.ld
+++ b/linker.ld
@@ -2,59 +2,60 @@ ENTRY(_start)
SECTIONS
{
- /* Starts at LOADER_ADDR. */
- . = 0x8000;
- __start = .;
- __text_start = .;
- .text :
- {
- KEEP(*(.text.boot))
- KEEP(*(.text.exceptions))
- KEEP(*(.text.kernel))
- *(.text*)
+ . = 0x4000;
+ __ttbr = .;
+ /* Starts at LOADER_ADDR. */
+ . = 0x8000;
+ __start = .;
+ __text_start = .;
+ .text :
+ {
+ KEEP(*(.text.boot))
+ KEEP(*(.text.exceptions))
+ KEEP(*(.text.kernel))
+ *(.text*)
}
+ . = ALIGN(4096);
__text_end = .;
-
+
__data_start = .;
.data :
{
- *(.data*)
- __stacks_start = .;
- KEEP(*(.data.stacks))
+ *(.data*)
}
. = ALIGN(4096); /* align to page size */
__data_end = .;
-
+
__bss_start = .;
.bss :
{
- bss = .;
- . = ALIGN(4096);
- KEEP(*(.bss.estacks))
- . = ALIGN(4096);
- KEEP(*(.bss.kmem))
- . = ALIGN(4096);
- KEEP(*(.bss.threadl))
- . = ALIGN(4096);
- KEEP(*(.bss.threads))
- . = ALIGN(4096);
- KEEP(*(.bss.threade))
- . = ALIGN(4096);
- KEEP(*(.bss.mutexl))
- . = ALIGN(4096);
- KEEP(*(.bss.mutexs))
- . = ALIGN(4096);
- *(.bss)
- *(.bss.*)
- KEEP(*(.bss.mmheap))
- KEEP(*(.bss.mmheap.base))
+ bss = .;
+ . = ALIGN(4096);
+ KEEP(*(.bss.estacks))
+ . = ALIGN(4096);
+ KEEP(*(.bss.kmem))
+ . = ALIGN(4096);
+ KEEP(*(.bss.threadl))
+ . = ALIGN(4096);
+ KEEP(*(.bss.threads))
+ . = ALIGN(4096);
+ KEEP(*(.bss.threade))
+ . = ALIGN(4096);
+ KEEP(*(.bss.mutexl))
+ . = ALIGN(4096);
+ KEEP(*(.bss.mutexs))
+ . = ALIGN(4096);
+ *(.bss)
+ *(.bss.*)
+ KEEP(*(.bss.mmheap))
+ KEEP(*(.bss.mmheap.base))
}
. = ALIGN(4096); /* align to page size */
__bss_end = .;
__end = .;
/DISCARD/ : {
*(.ARM.attributes*)
- *(.comment*)
- *(.debug*)
+ *(.comment*)
+ *(.debug*)
}
}