feat(epicardium): Implement basic core 1 lifecycle
This commit introduces a way to control core 1. This is archieved by a
predefined API-Interrupt: The reset interrupt. When triggered, it will
bring the core back into its default state and wait for a new vector
address from Epicardium. Once this vector address is transferred, it
will start the new payload.
This method only works as long as core 1 is responsive to the API
interrupts. Cases where this might not be the case:
- During times where core 1 has interrupts disabled
- When in a higher priority exception handler
- When core 1 has corrupted its IVT
Signed-off-by:
Rahix <rahix@rahix.de>
Showing
- epicardium/api/common.h 9 additions, 1 deletionepicardium/api/common.h
- epicardium/api/control.c 233 additions, 0 deletionsepicardium/api/control.c
- epicardium/api/dispatcher.c 6 additions, 2 deletionsepicardium/api/dispatcher.c
- epicardium/api/dispatcher.h 16 additions, 0 deletionsepicardium/api/dispatcher.h
- epicardium/api/interrupt-receiver.c 7 additions, 0 deletionsepicardium/api/interrupt-receiver.c
- epicardium/main.c 5 additions, 3 deletionsepicardium/main.c
- epicardium/meson.build 2 additions, 1 deletionepicardium/meson.build
epicardium/api/control.c
0 → 100644
Please register or sign in to comment