feat(arch): Add armv8i (32-bit ARM/AArch32) architecture & complete TUI configurator

- Support ARMv8i / ARM32 (AArch32) baremetal target with arm-linux-gnueabihf toolchain
- Implement ARMv8i boot entry point, banked exception mode stacks (IRQ, ABT, UND, SVC)
- Implement 8 exception vectors, GICv2 distributor/CPU interface, CP15 Generic Timer (100 Hz), flat Section MMU
- Support PL011 UART for early console & interactive LazyBox TTY input
- Update Makefile with make armv8i_defconfig and automated cross-compilation
- Update scripts/kconfig/menuconfig.py with dedicated armv8i options
This commit is contained in:
subhobhai943 committed 2026-08-18 11:13:23 +05:30
1 parent 70d5925b16
commit 7b646c8cc4
30 files changed
+964 -24

No files matched your search

+4 -2
View File
@@ -125,10 +125,12 @@ void keyboard_init(void) {
#if defined(__aarch64__)
#include <arch/aarch64/uart.h>
#elif defined(__arm__) || defined(__armv8i__)
#include <arch/armv8i/uart.h>
#endif
bool keyboard_has_key(void) {
#if defined(__aarch64__)
#if defined(__aarch64__) || defined(__arm__) || defined(__armv8i__)
if (uart_pl011_has_data()) return true;
#endif
return buffer_head != buffer_tail;
@@ -138,7 +140,7 @@ uint16_t keyboard_get_key(void) {
while (!keyboard_has_key()) {
arch_halt();
}
#if defined(__aarch64__)
#if defined(__aarch64__) || defined(__arm__) || defined(__armv8i__)
if (uart_pl011_has_data()) {
char c = uart_pl011_getc();
if (c == '\r') c = '\n';