From d0dbc02e5e48a6849a74dec4e7e0084e058d7e00 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 17 Jan 2020 15:01:40 +0100 Subject: get rid of reset handler --- src/arm/PL1/kernel/interrupts.c | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'src/arm/PL1/kernel/interrupts.c') diff --git a/src/arm/PL1/kernel/interrupts.c b/src/arm/PL1/kernel/interrupts.c index 5695e6f..0832cad 100644 --- a/src/arm/PL1/kernel/interrupts.c +++ b/src/arm/PL1/kernel/interrupts.c @@ -4,17 +4,6 @@ #include "armclock.h" #include "scheduler.h" -// defined in setup.c -void __attribute__((noreturn)) setup(void); - -// from what I've heard, reset is never used on the Pi; -// in our case it should run once - when stage1 of the kernel -// jumps to stage2 -void reset_handler(void) -{ - setup(); -} - void undefined_instruction_vector(void) { error("Undefined instruction occured"); -- cgit v1.2.3 From b9622c2d54b4943e40ced0a0af086f16e9b4f785 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Sat, 18 Jan 2020 16:34:14 +0100 Subject: mark an overlooking in IRQ handler --- src/arm/PL1/kernel/interrupts.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/arm/PL1/kernel/interrupts.c') diff --git a/src/arm/PL1/kernel/interrupts.c b/src/arm/PL1/kernel/interrupts.c index 0832cad..6f61615 100644 --- a/src/arm/PL1/kernel/interrupts.c +++ b/src/arm/PL1/kernel/interrupts.c @@ -74,6 +74,7 @@ void irq_handler(uint32_t regs[14]) if (read_SPSR().fields.PSR_MODE_4_0 != MODE_USER) { + // TODO set supervisor mode's stack pointer write_SPSR(PL1_PSR); asm volatile("mov lr, %0\n\r" "subs pc, lr, #0" :: -- cgit v1.2.3