Skip to content

[arch][arm64] enable cycle counter#509

Closed
caseydapro2020 wants to merge 1 commit into
littlekernel:masterfrom
caseydapro2020:arm64-cycle-counter
Closed

[arch][arm64] enable cycle counter#509
caseydapro2020 wants to merge 1 commit into
littlekernel:masterfrom
caseydapro2020:arm64-cycle-counter

Conversation

@caseydapro2020
Copy link
Copy Markdown

Enable the ARM64 PMUv3 cycle counter during per-CPU init and make arch_cycle_count() read PMCCNTR_EL0 when available.

Validation:

  • make qemu-virt-arm64-test -j8
  • scripts/do-qemuarm -6, ran clock_tests and poweroff

@caseydapro2020
Copy link
Copy Markdown
Author

weird risc-v passes on my end

Running QEMU test for riscv64...
Executing command: /Users/casey/Documents/lk/scripts/do-qemuriscv -6Ss4
[riscv64] RISCV: Supervisor Mode
[riscv64] RISCV: MMU sv48
[riscv64] RISCV_EXTENSION_LIST = zba zbb zbc zbs
[riscv64] MISA_SPEC = supported
[riscv64] LIBGCC = /opt/homebrew/Cellar/riscv64-elf-gcc/16.1.0/lib/gcc/riscv64-elf/16.1.0/rv64imafdc/lp64d/libgcc.a
[riscv64] ARCH_COMPILEFLAGS = -march=rv64imafdc_zba_zbb_zbc_zbs -mabi=lp64d -mcmodel=medany -misa-spec=2.2
[riscv64] LINKER_TYPE=bfd
[riscv64] COMPILER_TYPE=gcc
[riscv64] Checking if -Wnonnull-compare is supported: yes
[riscv64] PROJECT = qemu-virt-riscv64-supervisor-test
[riscv64] PLATFORM = qemu-virt-riscv
[riscv64] TARGET = qemu-virt-riscv
[riscv64] ARCH = riscv
[riscv64] TOOLCHAIN_PREFIX = riscv64-elf-
[riscv64] DEBUG = 2
[riscv64] including app app/inetsrv app/shell app/stringtests app/tests arch dev dev/bus/pci dev/bus/pci/drivers dev/interrupt/riscv_plic dev/virtio/block dev/virtio/gpu dev/virtio/net kernel lib/aes lib/cbuf lib/cksum lib/debugcommands lib/fdt lib/fdtwalk lib/fs lib/fs/ext2 lib/fs/fat lib/fs/memfs lib/fs/spifs lib/libcpp lib/minip lib/partition lib/unittest lib/version platform target
[riscv64] Boot unit tests enabled
[riscv64] including arch/test dev/block/ahci dev/net/e1000 dev/virtio external/lib/aes/test kernel/vm lib/bcache lib/bio lib/cbuf/test lib/console lib/fs/fat/test lib/fs/spifs/test lib/fs/test lib/gfx lib/heap lib/iovec lib/libc lib/libm lib/pool lib/tftp
[riscv64] Checking if -Wmaybe-uninitialized is supported: yes
[riscv64] including lib/bio/test lib/heap/dlmalloc lib/heap/test lib/io lib/libc/test
[riscv64] including lib/bio/disktest
[riscv64] LIBGCC = /opt/homebrew/Cellar/riscv64-elf-gcc/16.1.0/lib/gcc/riscv64-elf/16.1.0/rv64imafdc/lp64d/libgcc.a
[riscv64] GLOBAL_COMPILEFLAGS = -g -include ./build-qemu-virt-riscv64-supervisor-test/config.h -Wextra -Wall -Werror=return-type -Wshadow -Wdouble-promotion -Wno-multichar -Wno-unused-parameter -Wno-unused-function -Wno-unused-label -fno-common -ffreestanding -Wno-nonnull-compare
[riscv64] GLOBAL_OPTFLAGS = -O2
[riscv64] ARCH_COMPILEFLAGS = -march=rv64imafdc_zba_zbb_zbc_zbs -mabi=lp64d -mcmodel=medany -misa-spec=2.2
[riscv64] ARCH_COMPILEFLAGS_FLOAT =
[riscv64] ARCH_COMPILEFLAGS_NOFLOAT =
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/platform/qemu-virt-riscv/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/arch/riscv/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/top/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/app/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/app/inetsrv/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/app/shell/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/app/stringtests/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/app/tests/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/arch/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/dev/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/dev/bus/pci/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/dev/interrupt/riscv_plic/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/dev/virtio/block/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/dev/virtio/gpu/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/dev/virtio/net/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/kernel/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/external/lib/aes/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/cbuf/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/external/lib/cksum/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/debugcommands/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/external/lib/fdt/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/fdtwalk/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/fs/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/fs/ext2/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/fs/fat/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/fs/memfs/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/fs/spifs/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/libcpp/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/minip/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/partition/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/unittest/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/buildid.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/version/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/platform/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/target/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/arch/test/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/dev/block/ahci/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/dev/net/e1000/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/dev/virtio/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/external/lib/aes/test/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/kernel/vm/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/bcache/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/bio/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/cbuf/test/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/console/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/fs/fat/test/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/fs/spifs/test/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/fs/test/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/gfx/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/heap/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/iovec/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/libc/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/external/lib/libm/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/pool/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/tftp/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/bio/test/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/external/lib/heap/dlmalloc/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/heap/test/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/io/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/libc/test/module_config.h
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/lib/bio/disktest/module_config.h
[riscv64] compiling platform/qemu-virt-riscv/platform.c
[riscv64] compiling platform/qemu-virt-riscv/uart.c
[riscv64] compiling arch/riscv/arch.c
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/linker-onesegment.ld
[riscv64] compiling arch/riscv/exceptions.c
[riscv64] compiling arch/riscv/feature.c
[riscv64] compiling arch/riscv/mp.c
[riscv64] compiling arch/riscv/sbi.c
[riscv64] compiling arch/riscv/spinlock.c
[riscv64] compiling arch/riscv/thread.c
[riscv64] compiling arch/riscv/time.c
[riscv64] compiling arch/riscv/mmu.cpp
[riscv64] compiling arch/riscv/start.S
[riscv64] compiling arch/riscv/asm.S
[riscv64] compiling arch/riscv/fpu_asm.S
[riscv64] compiling top/debug.c
[riscv64] compiling top/init.c
[riscv64] compiling top/main.c
[riscv64] compiling top/mp.c
[riscv64] compiling app/app.c
[riscv64] compiling app/inetsrv/inetsrv.c
[riscv64] compiling app/shell/shell.c
[riscv64] compiling app/stringtests/string_tests.c
[riscv64] compiling app/tests/cache_tests.c
[riscv64] compiling app/tests/clock_tests.c
[riscv64] compiling app/tests/fibo.c
[riscv64] compiling app/tests/mem_tests.c
[riscv64] compiling app/tests/port_tests.c
[riscv64] compiling app/tests/tests.c
[riscv64] compiling app/tests/thread_tests.c
[riscv64] compiling app/tests/benchmarks.c
[riscv64] compiling app/tests/float.c
[riscv64] compiling app/tests/float_instructions.S
[riscv64] compiling arch/arch.c
[riscv64] compiling dev/dev.c
[riscv64] compiling dev/bus/pci/debug.cpp
[riscv64] compiling dev/bus/pci/pci.cpp
[riscv64] compiling dev/bus/pci/bus_mgr/bridge.cpp
[riscv64] compiling dev/bus/pci/bus_mgr/bus.cpp
[riscv64] compiling dev/bus/pci/bus_mgr/bus_mgr.cpp
[riscv64] compiling dev/bus/pci/bus_mgr/device.cpp
[riscv64] compiling dev/bus/pci/bus_mgr/resource.cpp
[riscv64] compiling dev/bus/pci/backend/ecam.cpp
[riscv64] compiling dev/bus/pci/backend/bios32.cpp
[riscv64] compiling dev/bus/pci/backend/type1.cpp
[riscv64] compiling dev/interrupt/riscv_plic/plic.c
[riscv64] compiling dev/virtio/block/virtio-block.cpp
[riscv64] compiling dev/virtio/gpu/virtio-gpu.cpp
[riscv64] compiling dev/virtio/net/virtio-net.cpp
[riscv64] compiling kernel/debug.c
[riscv64] compiling kernel/event.c
[riscv64] compiling kernel/init.c
[riscv64] compiling kernel/mutex.c
[riscv64] compiling kernel/thread.c
[riscv64] compiling kernel/timer.c
[riscv64] compiling kernel/semaphore.c
[riscv64] compiling kernel/mp.c
[riscv64] compiling kernel/port.c
[riscv64] compiling external/lib/aes/aes_core.c
[riscv64] compiling external/lib/aes/debug.c
[riscv64] compiling lib/cbuf/cbuf.c
[riscv64] compiling external/lib/cksum/adler32.c
[riscv64] compiling external/lib/cksum/crc16.c
[riscv64] compiling external/lib/cksum/crc32.c
[riscv64] compiling external/lib/cksum/debug.c
[riscv64] compiling lib/debugcommands/debugcommands.c
[riscv64] compiling external/lib/fdt/fdt.c
[riscv64] compiling external/lib/fdt/fdt_addresses.c
[riscv64] compiling external/lib/fdt/fdt_check.c
[riscv64] compiling external/lib/fdt/fdt_empty_tree.c
[riscv64] compiling external/lib/fdt/fdt_overlay.c
[riscv64] compiling external/lib/fdt/fdt_ro.c
[riscv64] compiling external/lib/fdt/fdt_rw.c
[riscv64] compiling external/lib/fdt/fdt_strerror.c
[riscv64] compiling external/lib/fdt/fdt_sw.c
[riscv64] compiling external/lib/fdt/fdt_wip.c
[riscv64] compiling lib/fdtwalk/fdtwalk.cpp
[riscv64] compiling lib/fdtwalk/helpers.cpp
[riscv64] compiling lib/fs/debug.c
[riscv64] compiling lib/fs/fs.c
[riscv64] compiling lib/fs/shell.c
[riscv64] compiling lib/fs/ext2/ext2.c
[riscv64] compiling lib/fs/ext2/dir.c
[riscv64] compiling lib/fs/ext2/io.c
[riscv64] compiling lib/fs/ext2/file.c
[riscv64] compiling lib/fs/fat/dir.cpp
[riscv64] compiling lib/fs/fat/fat.cpp
[riscv64] compiling lib/fs/fat/file.cpp
[riscv64] compiling lib/fs/fat/file_iterator.cpp
[riscv64] compiling lib/fs/fat/fs.cpp
[riscv64] compiling lib/fs/memfs/memfs.c
[riscv64] compiling lib/fs/spifs/spifs.c
[riscv64] compiling lib/libcpp/new.cpp
[riscv64] compiling lib/libcpp/pure_virtual.cpp
[riscv64] compiling lib/minip/arp.c
[riscv64] compiling lib/minip/chksum.c
[riscv64] compiling lib/minip/lk_console.c
[riscv64] compiling lib/minip/minip.c
[riscv64] compiling lib/minip/net_timer.c
[riscv64] compiling lib/minip/pktbuf.c
[riscv64] compiling lib/minip/tcp.c
[riscv64] compiling lib/minip/udp.c
[riscv64] compiling lib/minip/dhcp.cpp
[riscv64] compiling lib/partition/partition.c
[riscv64] compiling lib/unittest/unittest.c
[riscv64] compiling lib/unittest/all_tests.c
[riscv64] compiling lib/version/version.c
[riscv64] compiling platform/debug.c
[riscv64] compiling platform/init.c
[riscv64] compiling platform/power.c
[riscv64] compiling platform/time.c
[riscv64] compiling target/init.c
[riscv64] compiling arch/test/mmu.cpp
[riscv64] compiling dev/block/ahci/ahci.cpp
[riscv64] compiling dev/block/ahci/ata.cpp
[riscv64] compiling dev/block/ahci/disk.cpp
[riscv64] compiling dev/block/ahci/port.cpp
[riscv64] compiling dev/net/e1000/e1000.cpp
[riscv64] compiling dev/virtio/virtio-bus.cpp
[riscv64] compiling dev/virtio/virtio-device.cpp
[riscv64] compiling dev/virtio/virtio-mmio-bus.cpp
[riscv64] compiling dev/virtio/virtio-pci-bus.cpp
[riscv64] compiling dev/virtio/virtio.cpp
[riscv64] compiling external/lib/aes/test/aes_test.c
[riscv64] compiling kernel/vm/bootalloc.c
[riscv64] compiling kernel/vm/pmm.c
[riscv64] compiling kernel/vm/vm.c
[riscv64] compiling kernel/vm/vmm.c
[riscv64] compiling lib/bcache/bcache.c
[riscv64] compiling lib/bio/bio.c
[riscv64] compiling lib/bio/debug.c
[riscv64] compiling lib/bio/mem.c
[riscv64] compiling lib/bio/subdev.c
[riscv64] compiling lib/cbuf/test/cbuf_tests.c
[riscv64] compiling lib/console/console.c
[riscv64] compiling lib/fs/fat/test/test.cpp
[riscv64] compiling lib/fs/spifs/test/spifstest.c
[riscv64] compiling lib/fs/test/test.c
[riscv64] compiling lib/gfx/gfx.c
[riscv64] compiling lib/heap/heap_wrapper.c
[riscv64] compiling lib/heap/page_alloc.c
[riscv64] compiling lib/iovec/iovec.c
[riscv64] compiling lib/libc/abort.c
[riscv64] compiling lib/libc/atexit.c
[riscv64] compiling lib/libc/atoi.c
[riscv64] compiling lib/libc/bsearch.c
[riscv64] compiling lib/libc/ctype.c
[riscv64] compiling lib/libc/eabi.c
[riscv64] compiling lib/libc/errno.c
[riscv64] compiling lib/libc/printf.c
[riscv64] compiling lib/libc/qsort.c
[riscv64] compiling lib/libc/rand.c
[riscv64] compiling lib/libc/stdio.c
[riscv64] compiling lib/libc/strtol.c
[riscv64] compiling lib/libc/strtoll.c
[riscv64] compiling lib/libc/string/bcmp.c
[riscv64] compiling lib/libc/string/bcopy.c
[riscv64] compiling lib/libc/string/bzero.c
[riscv64] compiling lib/libc/string/memchr.c
[riscv64] compiling lib/libc/string/memcmp.c
[riscv64] compiling lib/libc/string/memcpy.c
[riscv64] compiling lib/libc/string/memmove.c
[riscv64] compiling lib/libc/string/memset.c
[riscv64] compiling lib/libc/string/strcasecmp.c
[riscv64] compiling lib/libc/string/strcat.c
[riscv64] compiling lib/libc/string/strchr.c
[riscv64] compiling lib/libc/string/strcmp.c
[riscv64] compiling lib/libc/string/strcoll.c
[riscv64] compiling lib/libc/string/strcpy.c
[riscv64] compiling lib/libc/string/strdup.c
[riscv64] compiling lib/libc/string/strerror.c
[riscv64] compiling lib/libc/string/strlcat.c
[riscv64] compiling lib/libc/string/strlcpy.c
[riscv64] compiling lib/libc/string/strlen.c
[riscv64] compiling lib/libc/string/strncat.c
[riscv64] compiling lib/libc/string/strncpy.c
[riscv64] compiling lib/libc/string/strncmp.c
[riscv64] compiling lib/libc/string/strnicmp.c
[riscv64] compiling lib/libc/string/strnlen.c
[riscv64] compiling lib/libc/string/strpbrk.c
[riscv64] compiling lib/libc/string/strrchr.c
[riscv64] compiling lib/libc/string/strspn.c
[riscv64] compiling lib/libc/string/strstr.c
[riscv64] compiling lib/libc/string/strtok.c
[riscv64] compiling lib/libc/string/strxfrm.c
[riscv64] compiling lib/libc/printf_float.c
[riscv64] compiling lib/libc/atof.c
[riscv64] compiling external/lib/libm/e_acos.c
[riscv64] compiling external/lib/libm/e_acosf.c
[riscv64] compiling external/lib/libm/e_asin.c
[riscv64] compiling external/lib/libm/e_asinf.c
[riscv64] compiling external/lib/libm/e_atan2.c
[riscv64] compiling external/lib/libm/e_exp.c
[riscv64] compiling external/lib/libm/e_fmod.c
[riscv64] compiling external/lib/libm/e_log.c
[riscv64] compiling external/lib/libm/e_pow.c
[riscv64] compiling external/lib/libm/e_powf.c
[riscv64] compiling external/lib/libm/e_sqrt.c
[riscv64] compiling external/lib/libm/e_sqrtf.c
[riscv64] compiling external/lib/libm/k_cos.c
[riscv64] compiling external/lib/libm/k_rem_pio2.c
[riscv64] compiling external/lib/libm/k_sin.c
[riscv64] compiling external/lib/libm/k_tan.c
[riscv64] compiling external/lib/libm/s_atan.c
[riscv64] compiling external/lib/libm/s_ceil.c
[riscv64] compiling external/lib/libm/s_ceilf.c
[riscv64] compiling external/lib/libm/s_copysign.c
[riscv64] compiling external/lib/libm/s_copysignf.c
[riscv64] compiling external/lib/libm/s_cos.c
[riscv64] compiling external/lib/libm/s_cosf.c
[riscv64] compiling external/lib/libm/s_fabs.c
[riscv64] compiling external/lib/libm/s_fabsf.c
[riscv64] compiling external/lib/libm/s_floor.c
[riscv64] compiling external/lib/libm/s_floorf.c
[riscv64] compiling external/lib/libm/s_round.c
[riscv64] compiling external/lib/libm/s_scalbn.c
[riscv64] compiling external/lib/libm/s_scalbnf.c
[riscv64] compiling external/lib/libm/s_sin.c
[riscv64] compiling external/lib/libm/s_sinf.c
[riscv64] compiling external/lib/libm/s_tan.c
[riscv64] compiling external/lib/libm/s_tanf.c
[riscv64] compiling external/lib/libm/s_trunc.c
[riscv64] compiling lib/pool/pool.c
[riscv64] compiling lib/tftp/tftp.c
[riscv64] compiling lib/bio/test/bio_tests.c
[riscv64] compiling external/lib/heap/dlmalloc/dlmalloc.c
[riscv64] compiling lib/heap/test/heap_tests.c
[riscv64] compiling lib/io/console.c
[riscv64] compiling lib/io/io.c
[riscv64] compiling lib/libc/test/printf_tests.cpp
[riscv64] compiling lib/libc/test/printf_tests_float.cpp
[riscv64] compiling lib/bio/disktest/disktest.c
[riscv64] compiling lib/bio/disktest/disktest_lk_backend.c
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/platform/qemu-virt-riscv.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/arch/riscv.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/top.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/app.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/app/inetsrv.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/app/shell.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/app/stringtests.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/app/tests.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/arch.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/dev.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/dev/bus/pci.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/dev/interrupt/riscv_plic.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/dev/virtio/block.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/dev/virtio/gpu.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/dev/virtio/net.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/kernel.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/external/lib/aes.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/cbuf.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/external/lib/cksum.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/debugcommands.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/external/lib/fdt.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/fdtwalk.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/fs.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/fs/ext2.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/fs/fat.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/fs/memfs.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/fs/spifs.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/libcpp.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/minip.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/partition.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/unittest.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/version.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/platform.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/target.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/arch/test.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/dev/block/ahci.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/dev/net/e1000.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/dev/virtio.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/external/lib/aes/test.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/kernel/vm.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/bcache.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/bio.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/cbuf/test.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/console.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/fs/fat/test.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/fs/spifs/test.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/fs/test.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/gfx.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/heap.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/iovec.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/libc.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/external/lib/libm.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/pool.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/tftp.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/bio/test.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/heap/test.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/io.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/libc/test.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lib/bio/disktest.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/external/lib/heap/dlmalloc.mod.o
[riscv64] linking build-qemu-virt-riscv64-supervisor-test/lk.elf
[riscv64] text data bss dec hex filename
[riscv64] 1179 0 0 1179 49b ./build-qemu-virt-riscv64-supervisor-test/app.mod.o
[riscv64] 2213 0 0 2213 8a5 ./build-qemu-virt-riscv64-supervisor-test/app/inetsrv.mod.o
[riscv64] 80 0 0 80 50 ./build-qemu-virt-riscv64-supervisor-test/app/shell.mod.o
[riscv64] 3097 0 32 3129 c39 ./build-qemu-virt-riscv64-supervisor-test/app/stringtests.mod.o
[riscv64] 22912 120 256 23288 5af8 ./build-qemu-virt-riscv64-supervisor-test/app/tests.mod.o
[riscv64] 0 0 0 0 0 ./build-qemu-virt-riscv64-supervisor-test/arch.mod.o
[riscv64] 11989 92 1093720 1105801 10df89 ./build-qemu-virt-riscv64-supervisor-test/arch/riscv.mod.o
[riscv64] 6063 56 0 6119 17e7 ./build-qemu-virt-riscv64-supervisor-test/arch/test.mod.o
[riscv64] 0 0 0 0 0 ./build-qemu-virt-riscv64-supervisor-test/dev.mod.o
[riscv64] 7538 0 4 7542 1d76 ./build-qemu-virt-riscv64-supervisor-test/dev/block/ahci.mod.o
[riscv64] 21326 24 152 21502 53fe ./build-qemu-virt-riscv64-supervisor-test/dev/bus/pci.mod.o
[riscv64] 858 0 4120 4978 1372 ./build-qemu-virt-riscv64-supervisor-test/dev/interrupt/riscv_plic.mod.o
[riscv64] 3262 0 16 3278 cce ./build-qemu-virt-riscv64-supervisor-test/dev/net/e1000.mod.o
[riscv64] 8197 0 16 8213 2015 ./build-qemu-virt-riscv64-supervisor-test/dev/virtio.mod.o
[riscv64] 3546 0 1 3547 ddb ./build-qemu-virt-riscv64-supervisor-test/dev/virtio/block.mod.o
[riscv64] 3038 0 8 3046 be6 ./build-qemu-virt-riscv64-supervisor-test/dev/virtio/gpu.mod.o
[riscv64] 4150 0 8 4158 103e ./build-qemu-virt-riscv64-supervisor-test/dev/virtio/net.mod.o
[riscv64] 25107 0 0 25107 6213 ./build-qemu-virt-riscv64-supervisor-test/external/lib/aes.mod.o
[riscv64] 1521 56 0 1577 629 ./build-qemu-virt-riscv64-supervisor-test/external/lib/aes/test.mod.o
[riscv64] 5046 0 0 5046 13b6 ./build-qemu-virt-riscv64-supervisor-test/external/lib/cksum.mod.o
[riscv64] 19568 0 0 19568 4c70 ./build-qemu-virt-riscv64-supervisor-test/external/lib/fdt.mod.o
[riscv64] 21618 40 1024 22682 589a ./build-qemu-virt-riscv64-supervisor-test/external/lib/heap/dlmalloc.mod.o
[riscv64] 26406 32 8 26446 674e ./build-qemu-virt-riscv64-supervisor-test/external/lib/libm.mod.o
[riscv64] 17968 0 7472 25440 6360 ./build-qemu-virt-riscv64-supervisor-test/kernel.mod.o
[riscv64] 12517 144 160 12821 3215 ./build-qemu-virt-riscv64-supervisor-test/kernel/vm.mod.o
[riscv64] 1611 0 0 1611 64b ./build-qemu-virt-riscv64-supervisor-test/lib/bcache.mod.o
[riscv64] 10607 56 0 10663 29a7 ./build-qemu-virt-riscv64-supervisor-test/lib/bio.mod.o
[riscv64] 8859 0 4 8863 229f ./build-qemu-virt-riscv64-supervisor-test/lib/bio/disktest.mod.o
[riscv64] 18917 56 0 18973 4a1d ./build-qemu-virt-riscv64-supervisor-test/lib/bio/test.mod.o
[riscv64] 1960 0 0 1960 7a8 ./build-qemu-virt-riscv64-supervisor-test/lib/cbuf.mod.o
[riscv64] 5629 56 0 5685 1635 ./build-qemu-virt-riscv64-supervisor-test/lib/cbuf/test.mod.o
[riscv64] 5303 0 0 5303 14b7 ./build-qemu-virt-riscv64-supervisor-test/lib/console.mod.o
[riscv64] 4587 0 16 4603 11fb ./build-qemu-virt-riscv64-supervisor-test/lib/debugcommands.mod.o
[riscv64] 8900 0 640 9540 2544 ./build-qemu-virt-riscv64-supervisor-test/lib/fdtwalk.mod.o
[riscv64] 9420 72 8 9500 251c ./build-qemu-virt-riscv64-supervisor-test/lib/fs.mod.o
[riscv64] 2664 0 0 2664 a68 ./build-qemu-virt-riscv64-supervisor-test/lib/fs/ext2.mod.o
[riscv64] 20240 0 0 20240 4f10 ./build-qemu-virt-riscv64-supervisor-test/lib/fs/fat.mod.o
[riscv64] 40417 56 2 40475 9e1b ./build-qemu-virt-riscv64-supervisor-test/lib/fs/fat/test.mod.o
[riscv64] 1696 0 0 1696 6a0 ./build-qemu-virt-riscv64-supervisor-test/lib/fs/memfs.mod.o
[riscv64] 5302 0 0 5302 14b6 ./build-qemu-virt-riscv64-supervisor-test/lib/fs/spifs.mod.o
[riscv64] 5906 0 0 5906 1712 ./build-qemu-virt-riscv64-supervisor-test/lib/fs/spifs/test.mod.o
[riscv64] 11905 56 0 11961 2eb9 ./build-qemu-virt-riscv64-supervisor-test/lib/fs/test.mod.o
[riscv64] 7739 0 0 7739 1e3b ./build-qemu-virt-riscv64-supervisor-test/lib/gfx.mod.o
[riscv64] 3332 16 5 3353 d19 ./build-qemu-virt-riscv64-supervisor-test/lib/heap.mod.o
[riscv64] 4556 56 0 4612 1204 ./build-qemu-virt-riscv64-supervisor-test/lib/heap/test.mod.o
[riscv64] 522 32 4 558 22e ./build-qemu-virt-riscv64-supervisor-test/lib/io.mod.o
[riscv64] 176 0 0 176 b0 ./build-qemu-virt-riscv64-supervisor-test/lib/iovec.mod.o
[riscv64] 15787 100 16 15903 3e1f ./build-qemu-virt-riscv64-supervisor-test/lib/libc.mod.o
[riscv64] 18036 112 0 18148 46e4 ./build-qemu-virt-riscv64-supervisor-test/lib/libc/test.mod.o
[riscv64] 105 0 0 105 69 ./build-qemu-virt-riscv64-supervisor-test/lib/libcpp.mod.o
[riscv64] 22225 276 200 22701 58ad ./build-qemu-virt-riscv64-supervisor-test/lib/minip.mod.o
[riscv64] 927 0 0 927 39f ./build-qemu-virt-riscv64-supervisor-test/lib/partition.mod.o
[riscv64] 487 0 0 487 1e7 ./build-qemu-virt-riscv64-supervisor-test/lib/pool.mod.o
[riscv64] 1005 18 0 1023 3ff ./build-qemu-virt-riscv64-supervisor-test/lib/tftp.mod.o
[riscv64] 2153 88 0 2241 8c1 ./build-qemu-virt-riscv64-supervisor-test/lib/unittest.mod.o
[riscv64] 490 0 0 490 1ea ./build-qemu-virt-riscv64-supervisor-test/lib/version.mod.o
[riscv64] 996 0 0 996 3e4 ./build-qemu-virt-riscv64-supervisor-test/platform.mod.o
[riscv64] 1055 0 216 1271 4f7 ./build-qemu-virt-riscv64-supervisor-test/platform/qemu-virt-riscv.mod.o
[riscv64] 6 0 0 6 6 ./build-qemu-virt-riscv64-supervisor-test/target.mod.o
[riscv64] 2790 48 92 2930 b72 ./build-qemu-virt-riscv64-supervisor-test/top.mod.o
[riscv64] 475509 1662 1108200 1585371 1830db (TOTALS)
[riscv64] generating image: build-qemu-virt-riscv64-supervisor-test/lk.bin
[riscv64] generating listing: build-qemu-virt-riscv64-supervisor-test/lk.elf.lst
[riscv64] generating listing: build-qemu-virt-riscv64-supervisor-test/lk.elf.debug.lst
[riscv64] generating symbols: build-qemu-virt-riscv64-supervisor-test/lk.elf.sym
[riscv64] generating sorted symbols: build-qemu-virt-riscv64-supervisor-test/lk.elf.sym.sorted
[riscv64] generating size map: build-qemu-virt-riscv64-supervisor-test/lk.elf.size
[riscv64] generating objdump: build-qemu-virt-riscv64-supervisor-test/lk.elf.dump
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/include_paths.txt
[riscv64] text data bss dec hex filename
[riscv64] 435898 3210 1112128 1551236 17ab84 build-qemu-virt-riscv64-supervisor-test/lk.elf
[riscv64] generating build-qemu-virt-riscv64-supervisor-test/srcfiles.txt
[riscv64] qemu-system-riscv64 -machine virt -kernel build-qemu-virt-riscv64-supervisor-test/lk.elf -cpu rv64 -smp 4 -bios default -nographic
[riscv64]
[riscv64] OpenSBI v1.7
[riscv64] ____ _____ ____ _____
[riscv64] / __ \ / | _ _ |
[riscv64] | | | |
__ ___ _ __ | (
| |
) || |
[riscv64] | | | | '_ \ / _ \ '_ \ ___ | _ < | |
[riscv64] | || | |) | __/ | | |) | |) || |
[riscv64] _
/| ./ _|| ||/|____/|
[riscv64] | |
[riscv64] |_|
[riscv64]
[riscv64] Platform Name : riscv-virtio,qemu
[riscv64] Platform Features : medeleg
[riscv64] Platform HART Count : 4
[riscv64] Platform IPI Device : aclint-mswi
[riscv64] Platform Timer Device : aclint-mtimer @ 10000000Hz
[riscv64] Platform Console Device : uart8250
[riscv64] Platform HSM Device : ---
[riscv64] Platform PMU Device : ---
[riscv64] Platform Reboot Device : syscon-reboot
[riscv64] Platform Shutdown Device : syscon-poweroff
[riscv64] Platform Suspend Device : ---
[riscv64] Platform CPPC Device : ---
[riscv64] Firmware Base : 0x80000000
[riscv64] Firmware Size : 353 KB
[riscv64] Firmware RW Offset : 0x40000
[riscv64] Firmware RW Size : 97 KB
[riscv64] Firmware Heap Offset : 0x4c000
[riscv64] Firmware Heap Size : 49 KB (total), 3 KB (reserved), 12 KB (used), 33 KB (free)
[riscv64] Firmware Scratch Size : 4096 B (total), 1400 B (used), 2696 B (free)
[riscv64] Runtime SBI Version : 3.0
[riscv64] Standard SBI Extensions : time,rfnc,ipi,base,hsm,srst,pmu,dbcn,fwft,legacy,dbtr,sse
[riscv64] Experimental SBI Extensions : none
[riscv64]
[riscv64] Domain0 Name : root
[riscv64] Domain0 Boot HART : 0
[riscv64] Domain0 HARTs : 0*,1*,2*,3*
[riscv64] Domain0 Region00 : 0x0000000000100000-0x0000000000100fff M: (I,R,W) S/U: (R,W)
[riscv64] Domain0 Region01 : 0x0000000010000000-0x0000000010000fff M: (I,R,W) S/U: (R,W)
[riscv64] Domain0 Region02 : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: ()
[riscv64] Domain0 Region03 : 0x0000000080040000-0x000000008005ffff M: (R,W) S/U: ()
[riscv64] Domain0 Region04 : 0x0000000080000000-0x000000008003ffff M: (R,X) S/U: ()
[riscv64] Domain0 Region05 : 0x000000000c400000-0x000000000c5fffff M: (I,R,W) S/U: (R,W)
[riscv64] Domain0 Region06 : 0x000000000c000000-0x000000000c3fffff M: (I,R,W) S/U: (R,W)
[riscv64] Domain0 Region07 : 0x0000000000000000-0xffffffffffffffff M: () S/U: (R,W,X)
[riscv64] Domain0 Next Address : 0x0000000080200000
[riscv64] Domain0 Next Arg1 : 0x0000000087e00000
[riscv64] Domain0 Next Mode : S-mode
[riscv64] Domain0 SysReset : yes
[riscv64] Domain0 SysSuspend : yes
[riscv64]
[riscv64] Boot HART ID : 0
[riscv64] Boot HART Domain : root
[riscv64] Boot HART Priv Version : v1.12
[riscv64] Boot HART Base ISA : rv64imafdch
[riscv64] Boot HART ISA Extensions : sstc,zicntr,zihpm,zicboz,zicbom,sdtrig,svadu
[riscv64] Boot HART PMP Count : 16
[riscv64] Boot HART PMP Granularity : 2 bits
[riscv64] Boot HART PMP Address Bits : 54
[riscv64] Boot HART MHPM Info : 16 (0x0007fff8)
[riscv64] Boot HART Debug Triggers : 2 triggers
[riscv64] Boot HART MIDELEG : 0x0000000000001666
[riscv64] Boot HART MEDELEG : 0x0000000000f4b509
[riscv64] FDT: found memory bank range [0x80000000, 0x87ffffff] (length 0x8000000)
[riscv64] FDT: reserving memory range [0x80000000, 0x8003ffff]
[riscv64] FDT: reserving memory range [0x80040000, 0x8005ffff]
[riscv64] FDT: reserving physical range for FDT: [0x87e00000, 0x87e02fff]
[riscv64] FDT: found 4 cpus
[riscv64] FDT: isa string 'rv64imafdch_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicsr_zifencei_zihintntl_zihintpause_zihpm_zmmul_za64rs_zaamo_zalrsc_zawrs_zfa_zca_zcd_zba_zbb_zbc_zbs_sdtrig_shcounterenw_shgatpa_shtvala_shvsatpa_shvstvala_shvstvecd_ssccptr_sscounterenw_ssstrict_sstc_sstvala_sstvecd_ssu64xl_svadu_svvptc'
[riscv64] riscv: found feature 'i'
[riscv64] riscv: found feature 'm'
[riscv64] riscv: found feature 'a'
[riscv64] riscv: found feature 'f'
[riscv64] riscv: found feature 'd'
[riscv64] riscv: found feature 'c'
[riscv64] riscv: found feature 'h'
[riscv64] riscv: found feature 'zicbom'
[riscv64] riscv: found feature 'zicbop'
[riscv64] riscv: found feature 'zicboz'
[riscv64] riscv: found feature 'zicsr'
[riscv64] riscv: found feature 'zifencei'
[riscv64] riscv: found feature 'zba'
[riscv64] riscv: found feature 'zbb'
[riscv64] riscv: found feature 'zbc'
[riscv64] riscv: found feature 'zbs'
[riscv64] riscv: found feature 'sstc'
[riscv64] riscv: found feature 'svadu'
[riscv64]
[riscv64] welcome to lk/MP
[riscv64]
[riscv64] boot args 0x0 0x87e00000 0x0 0x1
[riscv64] INIT: cpu 0, calling hook 0xffff800080223a9e (version) at level 0x3fff, flags 0x1
[riscv64] version:
[riscv64] arch: riscv
[riscv64] platform: qemu-virt-riscv
[riscv64] target: qemu-virt-riscv
[riscv64] project: qemu-virt-riscv64-supervisor-test
[riscv64] buildid: P57KG_LOCAL
[riscv64] INIT: cpu 0, calling hook 0xffff800080228df4 (vm_preheap) at level 0x3fff, flags 0x1
[riscv64] initializing heap
[riscv64] calling constructors
[riscv64] INIT: cpu 0, calling hook 0xffff800080228e2c (vm) at level 0x4fff, flags 0x1
[riscv64] initializing mp
[riscv64] initializing threads
[riscv64] initializing timers
[riscv64] initializing ports
[riscv64] creating bootstrap completion thread
[riscv64] top of bootstrap2()
[riscv64] INIT: cpu 0, calling hook 0xffff80008020c7c8 (mutex_threading_ready) at level 0x7000, flags 0x1
[riscv64] INIT: cpu 0, calling hook 0xffff80008021fb4c (minip) at level 0x7000, flags 0x1
[riscv64] INIT: cpu 0, calling hook 0xffff8000802209b8 (pktbuf) at level 0x7000, flags 0x1
[riscv64] pktbuf: creating 256 pktbuf entries of size 1536 (total 393216)
[riscv64] INIT: cpu 0, calling hook 0xffff800080227c00 (virtio) at level 0x7000, flags 0x1
[riscv64] RISCV: Supervisor mode
[riscv64] RISCV: mvendorid 0 marchid 0 mimpid 0 mhartid 0
[riscv64] RISCV: detected features i m a f d c h zba zbb zbc zbs zicsr zifencei zicbom zicbop zicboz sstc svadu
[riscv64] RISCV: SBI spec version 3.0 impl id 0x1 version 0x10007
[riscv64] RISCV: SBI extensions: TIMER IPI RFENCE HSM SRST PMU DBCN
[riscv64] RISCV: MMU enabled sv48
[riscv64] RISCV: MMU ASID mask 0xffff
[riscv64] creating bootstrap completion thread for cpu 1
[riscv64] creating bootstrap completion thread for cpu 2
[riscv64] creating bootstrap completion thread for cpu 3
[riscv64] RISCV: Going to try to start 3 secondary harts
[riscv64] RISCV: using SBI to start hart 1 at 0x80200000
[riscv64] RISCV: secondary hart started: cpu 1, mvendorid 0 marchid 0 mimpid 0 mhartid 0x1
[riscv64] entering scheduler on cpu 1
[riscv64] RISCV: using SBI to start hart 2 at 0x80200000
[riscv64] RISCV: secondary hart started: cpu 2, mvendorid 0 marchid 0 mimpid 0 mhartid 0x2
[riscv64] entering scheduler on cpu 2
[riscv64] RISCV: using SBI to start hart 3 at 0x80200000
[riscv64] RISCV: secondary hart started: cpu 3, mvendorid 0 marchid 0 mimpid 0 mhartid 0x3
[riscv64] entering scheduler on cpu 3
[riscv64] initializing platform
[riscv64] PCIE: initializing pcie with ecam at 0x30000000 found in FDT
[riscv64] PCI: pci ecam functions installed
[riscv64] PCI: last pci bus is 255
[riscv64] PCI dump:
[riscv64] bus 0
[riscv64] dev 0000:00:00.0 vid:pid 1b36:0008 base:sub:intr 6:0:0 int 0
[riscv64] PCI dump post assign:
[riscv64] bus 0
[riscv64] dev 0000:00:00.0 vid:pid 1b36:0008 base:sub:intr 6:0:0 int 0
[riscv64] initializing target
[riscv64] INIT: cpu 0, calling hook 0xffff800080224b0a (ahci) at level 0x9001, flags 0x1
[riscv64] INIT: cpu 0, calling hook 0xffff800080226856 (e1000) at level 0x9001, flags 0x1
[riscv64] initializing apps
[riscv64] starting app inetsrv
[riscv64] starting internet servers
[riscv64] starting app shell
[riscv64] entering main console loop
[riscv64] ] INIT: cpu 0, calling hook 0xffff8000802237d6 (unittest_at_boot) at level 0xffff, flags 0x1
[riscv64]
[riscv64] CASE unittest [STARTED]
[riscv64] unittest_printf_tests [RUNNING]
[riscv64] test printf
[riscv64] test printf with args 1
[riscv64] [PASSED]
[riscv64] unittest_simple_pass [RUNNING] [PASSED]
[riscv64] unittest_assert_pass [RUNNING] [PASSED]
[riscv64] CASE unittest [PASSED]
[riscv64]
[riscv64] CASE arch_mmu_tests [STARTED]
[riscv64] create_user_aspace [RUNNING] [PASSED]
[riscv64] map_user_pages [RUNNING] [PASSED]
[riscv64] map_query_pages [RUNNING] [PASSED]
[riscv64] context_switch [RUNNING] [PASSED]
[riscv64] CASE arch_mmu_tests [PASSED]
[riscv64]
[riscv64] CASE aes_tests [STARTED]
[riscv64] aes128_encrypt [RUNNING] [PASSED]
[riscv64] aes128_decrypt [RUNNING] [PASSED]
[riscv64] aes192_encrypt [RUNNING] [PASSED]
[riscv64] aes192_decrypt [RUNNING] [PASSED]
[riscv64] aes256_encrypt [RUNNING] [PASSED]
[riscv64] aes256_decrypt [RUNNING] [PASSED]
[riscv64] CASE aes_tests [PASSED]
[riscv64]
[riscv64] CASE cbuf_tests [STARTED]
[riscv64] basic [RUNNING] [PASSED]
[riscv64] random [RUNNING] [PASSED]
[riscv64] is_full_edge_cases [RUNNING] [PASSED]
[riscv64] is_full_wraparound [RUNNING] [PASSED]
[riscv64] CASE cbuf_tests [PASSED]
[riscv64]
[riscv64] CASE fat [STARTED]
[riscv64] test_fat_mount [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_utf8_to_ucs2 [RUNNING] [PASSED]
[riscv64] test_fat_ucs2_to_utf8 [RUNNING] [PASSED]
[riscv64] test_fat_utf8_ucs2_roundtrip [RUNNING] [PASSED]
[riscv64] test_fat_split_path [RUNNING] [PASSED]
[riscv64] test_fat_name_to_short_file_name [RUNNING] [PASSED]
[riscv64] test_fat_dir_root [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_read_file [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_multi_open [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_create_file [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_resize_file [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_write_file [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_mkdir [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_remove_file [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_remove_dir [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_dir_growth [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_lfn_ordinal_rollover [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] test_fat_read_only [RUNNING] no device 'virtio0' present, skipping test [PASSED]
[riscv64] CASE fat [PASSED]
[riscv64]
[riscv64] CASE fs_tests [STARTED]
[riscv64] test_path_normalize [RUNNING] [PASSED]
[riscv64] test_stdio_fs [RUNNING]Hello World
[riscv64] Hello World
[riscv64] [PASSED]
[riscv64] test_rootfs [RUNNING] [PASSED]
[riscv64] test_rootfs_live_iter [RUNNING] [PASSED]
[riscv64] CASE fs_tests [PASSED]
[riscv64]
[riscv64] CASE bio_tests [STARTED]
[riscv64] basic_read_write [RUNNING] [PASSED]
[riscv64] block_read_write [RUNNING] [PASSED]
[riscv64] unaligned_read_write [RUNNING] [PASSED]
[riscv64] offset_operations [RUNNING] [PASSED]
[riscv64] async_read_write [RUNNING] [PASSED]
[riscv64] large_transfer [RUNNING] [PASSED]
[riscv64] subdev_basic [RUNNING] [PASSED]
[riscv64] subdev_write_propagates [RUNNING] [PASSED]
[riscv64] subdev_block_ops [RUNNING] [PASSED]
[riscv64] subdev_async [RUNNING] [PASSED]
[riscv64] subdev_nested [RUNNING] [PASSED]
[riscv64] memdev_direct_ops_clamp [RUNNING] [PASSED]
[riscv64] memdev_create_rejects_null_args [RUNNING] [PASSED]
[riscv64] memdev_ioctl_memory_map [RUNNING] [PASSED]
[riscv64] CASE bio_tests [PASSED]
[riscv64]
[riscv64] CASE heap_tests [STARTED]
[riscv64] test_malloc_basic [RUNNING] [PASSED]
[riscv64] test_malloc_zero [RUNNING] [PASSED]
[riscv64] test_free_null [RUNNING] [PASSED]
[riscv64] test_calloc_zeroed [RUNNING] [PASSED]
[riscv64] test_realloc_grow [RUNNING] [PASSED]
[riscv64] test_realloc_shrink [RUNNING] [PASSED]
[riscv64] test_realloc_from_null [RUNNING] [PASSED]
[riscv64] test_realloc_zero_size [RUNNING] [PASSED]
[riscv64] test_memalign [RUNNING] [PASSED]
[riscv64] test_simultaneous_allocs [RUNNING] [PASSED]
[riscv64] test_no_overlap [RUNNING] [PASSED]
[riscv64] test_memalign_stress [RUNNING] [PASSED]
[riscv64] CASE heap_tests [PASSED]
[riscv64]
[riscv64] CASE printf_tests [STARTED]
[riscv64] numbers [RUNNING] [PASSED]
[riscv64] hex [RUNNING] [PASSED]
[riscv64] alt_and_sign [RUNNING] [PASSED]
[riscv64] formatting [RUNNING] [PASSED]
[riscv64] snprintf_truncation_test [RUNNING] [PASSED]
[riscv64] snprintf_truncation_test_zero_length [RUNNING] [PASSED]
[riscv64] snprintf_truncation_test_null_buffer [RUNNING] [PASSED]
[riscv64] CASE printf_tests [PASSED]
[riscv64]
[riscv64] CASE printf_tests_float [STARTED]
[riscv64] basic [RUNNING] [PASSED]
[riscv64] hex [RUNNING] [PASSED]
[riscv64] CASE printf_tests_float [PASSED]
[riscv64]
[riscv64] ====================================================
[riscv64] CASES: 10 SUCCESS: 10 FAILED: 0
[riscv64] ====================================================
[riscv64]
[riscv64] SUCCESS! All test cases passed
✓ Test success detected for riscv64
Terminating QEMU process...
✓ riscv64 PASSED

Total: 1/1 architectures passed
🎉 All architectures passed!

@travisg
Copy link
Copy Markdown
Member

travisg commented May 7, 2026

Excellent, I'll test tonight on the few real ARM64 machines I have here and make sure there arent any unknown gotchas, but given that the feature bit is tested I don't see there being any issues.

@caseydapro2020
Copy link
Copy Markdown
Author

Thanks for responding so quickly! Let me know if there is any issue or gotchas

@travisg
Copy link
Copy Markdown
Member

travisg commented May 8, 2026

it does remind me of that other TODO, adding some sort of basic feature detection for the ARM stuff.

@caseydapro2020
Copy link
Copy Markdown
Author

caseydapro2020 commented May 8, 2026

I think I followed a TODO in your google drive link in todo.md
The one of add cycle counter to arm64 (pmctr_el1 + pmccntr_el0)
Cause I am still new to contributing, so it is a great learning experience for me

@travisg
Copy link
Copy Markdown
Member

travisg commented May 9, 2026

Excellent. I rebased and pushed. Thanks a bunch!

@travisg
Copy link
Copy Markdown
Member

travisg commented May 9, 2026

Weird, it didn't detect the rebase I manually did. github used to generally do that. Anyway, closing out since it's in there.

@travisg travisg closed this May 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants