From 52c81e3f8d33a6d7c4886f842681d975a976eae7 Mon Sep 17 00:00:00 2001 From: subhobhai943 Date: Tue, 18 Aug 2026 19:57:59 +0530 Subject: [PATCH] fix(arm): Add armv81 alias support and resolve 32-bit pointer cast warning - Support 'armv81' and 'armv81_defconfig' aliases in Makefile and Kconfig menuconfig.py - Fix uint64_t to pointer cast on 32-bit ARM in LazyBox shell.c --- Makefile | 6 +++--- scripts/kconfig/menuconfig.py | 6 +++--- userland/lazybox/shell.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 1c0675a..4217ae1 100644 --- a/Makefile +++ b/Makefile @@ -83,7 +83,7 @@ else ifneq ($(filter $(ARCH), aarch64 arm64),) TARGET = $(BUILD_DIR)/kernel.elf QEMU_CMD = qemu-system-aarch64 -M virt -cpu cortex-a57 -m 128M -nographic -kernel $(BUILD_DIR)/kernel.elf -else ifneq ($(filter $(ARCH), armv8i arm32 arm),) +else ifneq ($(filter $(ARCH), armv8i armv81 arm32 arm armv7 armv7-a armv7a aarch32),) CROSS_COMPILE ?= arm-linux-gnueabihf- CC = $(CROSS_COMPILE)gcc LD = $(CROSS_COMPILE)ld @@ -300,7 +300,7 @@ else OTHER_OBJS = $(filter-out $(ENTRY_OBJ), $(S_OBJS) $(C_OBJS)) endif -.PHONY: all clean run debug info configure menuconfig config tui nconfig defconfig x86_64_defconfig aarch64_defconfig armv8_defconfig armv8i_defconfig qemu help +.PHONY: all clean run debug info configure menuconfig config tui nconfig defconfig x86_64_defconfig aarch64_defconfig armv8_defconfig armv8i_defconfig armv81_defconfig arm32_defconfig qemu help all: $(TARGET) @@ -319,7 +319,7 @@ x86_64_defconfig: aarch64_defconfig: @python3 scripts/kconfig/menuconfig.py --aarch64 -armv8_defconfig armv8i_defconfig arm32_defconfig: +armv8_defconfig armv8i_defconfig armv81_defconfig arm32_defconfig: @python3 scripts/kconfig/menuconfig.py --armv8i # ----------------------------------------------------------------------------- diff --git a/scripts/kconfig/menuconfig.py b/scripts/kconfig/menuconfig.py index ffae4ff..725428e 100755 --- a/scripts/kconfig/menuconfig.py +++ b/scripts/kconfig/menuconfig.py @@ -711,7 +711,7 @@ def defconfig(arch="x86_64"): cfg["CONFIG_ARCH_X86_64"] = False cfg["CONFIG_ARCH_AARCH64"] = True cfg["CONFIG_ARCH_ARMV8I"] = False - elif arch in ["armv8i", "arm32", "arm", "armv8"]: + elif arch in ["armv8i", "armv81", "arm32", "arm", "armv8", "aarch32"]: cfg["CONFIG_ARCH_X86_64"] = False cfg["CONFIG_ARCH_AARCH64"] = False cfg["CONFIG_ARCH_ARMV8I"] = True @@ -728,10 +728,10 @@ def main(): elif cmd == "--x86_64": defconfig("x86_64") return - elif cmd in ["--aarch64", "--armv8"]: + elif cmd in ["--aarch64", "--armv8", "--arm64"]: defconfig("aarch64") return - elif cmd == "--armv8i": + elif cmd in ["--armv8i", "--armv81", "--arm32", "--arm", "--aarch32"]: defconfig("armv8i") return diff --git a/userland/lazybox/shell.c b/userland/lazybox/shell.c index 29d58ee..e453a24 100644 --- a/userland/lazybox/shell.c +++ b/userland/lazybox/shell.c @@ -184,7 +184,7 @@ static void cmd_hexdump(const char* args) { } if (len > 512) len = 512; - uint8_t* ptr = (uint8_t*)addr; + uint8_t* ptr = (uint8_t*)(uintptr_t)addr; printk("Hexdump of 0x%lx (%llu bytes):\n", addr, len); for (uint64_t i = 0; i < len; i += 16) { printk(ANSI_BRIGHT_BLACK "%016lx: " ANSI_RESET, addr + i);