diff --git a/kernel/linker/vx_link32.ld b/kernel/linker/vx_link32.ld index ea5c4e56..40a624f6 100644 --- a/kernel/linker/vx_link32.ld +++ b/kernel/linker/vx_link32.ld @@ -10,6 +10,7 @@ ENTRY(_start) MEMORY { DRAM0 (rwx): ORIGIN = 0x80000000, LENGTH = 512M + DRAMARG (rwx): ORIGIN = 0x9fff0000, LENGTH = 8K DRAM1 (rwx): ORIGIN = 0xa0000000, LENGTH = 32K DRAM2 (rwx): ORIGIN = 0xa1000000, LENGTH = 32K } @@ -259,6 +260,10 @@ SECTIONS .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } + .args : { + *(.args) + . += 8K; + }> DRAMARG .operand.a : { *(.operand.a) . += 32K; diff --git a/tests/regression/common.mk b/tests/regression/common.mk index 33e78828..04ddbb3f 100644 --- a/tests/regression/common.mk +++ b/tests/regression/common.mk @@ -107,15 +107,19 @@ kernel.elf: $(VX_SRCS) $(VX_CXX) $(VX_CFLAGS) $(VX_SRCS) $(VX_LDFLAGS) -o $@ $(OBJCOPY) --set-section-flags .operand.a=$(OBJCOPY_FLAGS) $@ $(OBJCOPY) --set-section-flags .operand.b=$(OBJCOPY_FLAGS) $@ + $(OBJCOPY) --set-section-flags .args=$(OBJCOPY_FLAGS) $@ $(OBJCOPY) --update-section .operand.a=input.a.bin $@ $(OBJCOPY) --update-section .operand.b=input.b.bin $@ + $(OBJCOPY) --update-section .args=args.bin $@ kernel.radiance.elf: $(VX_SRCS) $(VX_CXX) $(VX_CFLAGS) $(VX_SRCS) $(VX_LDFLAGS) -DRADIANCE -o $@ $(OBJCOPY) --set-section-flags .operand.a=$(OBJCOPY_FLAGS) $@ $(OBJCOPY) --set-section-flags .operand.b=$(OBJCOPY_FLAGS) $@ + $(OBJCOPY) --set-section-flags .args=$(OBJCOPY_FLAGS) $@ $(OBJCOPY) --update-section .operand.a=input.a.bin $@ $(OBJCOPY) --update-section .operand.b=input.b.bin $@ + $(OBJCOPY) --update-section .args=args.bin $@ ifneq ($(CONFIG),) kernel$(CONFIGEXT).elf: kernel.elf diff --git a/tests/regression/sgemm_gemmini/common.h b/tests/regression/sgemm_gemmini/common.h index 74941562..5c84f3b7 100644 --- a/tests/regression/sgemm_gemmini/common.h +++ b/tests/regression/sgemm_gemmini/common.h @@ -3,7 +3,7 @@ #include -#define KERNEL_ARG_DEV_MEM_ADDR 0x7fff0000 +#define KERNEL_ARG_DEV_MEM_ADDR 0x9fff0000 #define DEV_SMEM_START_ADDR 0xff000000 typedef struct { diff --git a/tests/regression/sgemm_tcore/common.h b/tests/regression/sgemm_tcore/common.h index d94a270f..5c84f3b7 100644 --- a/tests/regression/sgemm_tcore/common.h +++ b/tests/regression/sgemm_tcore/common.h @@ -3,7 +3,7 @@ #include -#define KERNEL_ARG_DEV_MEM_ADDR 0x7fff0000 +#define KERNEL_ARG_DEV_MEM_ADDR 0x9fff0000 #define DEV_SMEM_START_ADDR 0xff000000 typedef struct { @@ -15,4 +15,4 @@ typedef struct { uint64_t addr_c; } kernel_arg_t; -#endif \ No newline at end of file +#endif diff --git a/tests/regression/sgemm_wg/common.h b/tests/regression/sgemm_wg/common.h index 74941562..5c84f3b7 100644 --- a/tests/regression/sgemm_wg/common.h +++ b/tests/regression/sgemm_wg/common.h @@ -3,7 +3,7 @@ #include -#define KERNEL_ARG_DEV_MEM_ADDR 0x7fff0000 +#define KERNEL_ARG_DEV_MEM_ADDR 0x9fff0000 #define DEV_SMEM_START_ADDR 0xff000000 typedef struct {