aarch64: cleanup some warnings

This commit is contained in:
K. Lange 2022-02-22 17:30:17 +09:00
parent 158f61e226
commit 814f5210ae
4 changed files with 13 additions and 4 deletions

View File

@ -62,7 +62,7 @@ KRK_MODS += $(patsubst kuroko/modules/%,$(BASE)/lib/kuroko/%,$(wildcard kuroko/m
KRK_MODS_X = $(patsubst lib/kuroko/%.c,$(BASE)/lib/kuroko/%.so,$(wildcard lib/kuroko/*.c))
KRK_MODS_Y = $(patsubst lib/kuroko/%.c,.make/%.kmak,$(wildcard lib/kuroko/*.c))
CFLAGS= -O2 -std=gnu11 -I. -Iapps -fplan9-extensions -Wall -Wextra -Wno-unused-parameter
CFLAGS= -O2 -std=gnu11 -I. -Iapps -fplan9-extensions -Wall -Wextra -Wno-unused-parameter ${ARCH_USER_CFLAGS}
LIBC_OBJS = $(patsubst %.c,%.o,$(wildcard libc/*.c))
LIBC_OBJS += $(patsubst %.c,%.o,$(wildcard libc/*/*.c))
@ -84,10 +84,10 @@ ramdisk.igz: $(wildcard $(BASE)/* $(BASE)/*/* $(BASE)/*/*/* $(BASE)/*/*/*/* $(BA
KRK_SRC = $(sort $(wildcard kuroko/src/*.c))
$(BASE)/bin/kuroko: $(KRK_SRC) $(CRTS) lib/rline.c | $(LC)
$(CC) -O2 -g -o $@ -Wl,--export-dynamic -Ikuroko/src $(KRK_SRC) lib/rline.c
$(CC) $(CFLAGS) -o $@ -Wl,--export-dynamic -Ikuroko/src $(KRK_SRC) lib/rline.c
$(BASE)/lib/kuroko/%.so: kuroko/src/modules/module_%.c| dirs $(LC)
$(CC) -O2 -shared -fPIC -Ikuroko/src -o $@ $<
$(CC) $(CFLAGS) -shared -fPIC -Ikuroko/src -o $@ $<
$(BASE)/lib/kuroko/%.krk: kuroko/modules/%.krk | dirs
mkdir -p $(dir $@)

View File

@ -1,6 +1,7 @@
ARCH=aarch64
ARCH_KERNEL_CFLAGS = -z max-page-size=0x1000 -nostdlib -mgeneral-regs-only -mno-outline-atomics -ffixed-x18
ARCH_USER_CFLAGS = -Wno-psabi
TARGET=aarch64-unknown-toaru

View File

@ -342,7 +342,8 @@ char _ret_from_preempt_source[1];
void aarch64_interrupt_dispatch(int from_wfi) {
uint32_t iar = gicc_regs[3];
uint32_t irq = iar & 0x3FF;
uint32_t cpu = (iar >> 10) & 0x7;
/* Currently we aren't using the CPU value and I'm not sure we have any use for it, we know who we are? */
//uint32_t cpu = (iar >> 10) & 0x7;
switch (irq) {
case TIMER_IRQ:

View File

@ -98,6 +98,12 @@ void aarch64_safe_dump_traceback(uintptr_t elr, struct regs * r) {
dump_traceback(elr, r->x29, r->x30);
}
/* We need to pull the frame address from the caller or this isn't going work, but
* gcc is going to warn that that is unsafe... */
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wno-frame-address"
/**
* @brief Display a traceback from the current call context.
*/
@ -105,3 +111,4 @@ void arch_dump_traceback(void) {
dump_traceback((uintptr_t)arch_dump_traceback+1, (uintptr_t)__builtin_frame_address(1), (uintptr_t)__builtin_return_address(0));
}
#pragma GCC diagnostic pop