From 0ec2016f80ffb5971362559b98b10744bb5bf893 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Tue, 31 Dec 2019 18:54:28 +0100 Subject: split stack into irq, fiq and supervisor stacks; add proper handling of those in interrupt handlers (asm code) --- kernel_stage2.ld | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'kernel_stage2.ld') diff --git a/kernel_stage2.ld b/kernel_stage2.ld index a3df063..15b61ec 100644 --- a/kernel_stage2.ld +++ b/kernel_stage2.ld @@ -56,8 +56,24 @@ SECTIONS { _stack_start = .; - . = . + MMU_SECTION_SIZE; - - _stack_top = .; + _fiq_stack_start = .; + + . = . + (1 << 18); + + _fiq_stack_top = .; + + _irq_stack_start = .; + + . = . + (1 << 18); + + _irq_stack_top = .; + + _supervisor_stack_start = .; + + . = . + (1 << 19); + + _supervisor_stack_top = .; + + _stack_end = .; } } -- cgit v1.2.3