configure rejected riscv hosts as not ported, and the TSC read fell back
to x86 rdtsc. Patch both, reading the time CSR with rdtime.
Tested by building for qemuriscv64 (musl, clang) and running a loopback
ping-pong under qemu-riscv64.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
configure.ac's AC_SEARCH_LIBS([backtrace], [execinfo], ...) fails
with 'libexecinfo not found' on musl, which lacks glibc's
backtrace()/backtrace_symbols(); depend on the libexecinfo compat
library there.
Once configure succeeds, ticks.h's timeval2nsec() needs struct
timeval, which was only pulled in via <sys/time.h> under __FreeBSD__,
and vma-xlio-redirect.cpp calls sscanf()/sprintf() without including
<cstdio>; fix both for musl too.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add recipes for a set of benchmark and performance evaluation
tools commonly used to measure CPU, memory, network, and web
server performance.
- coremark-pro provides a comprehensive benchmark suite from
EEMBC that evaluates processor performance using integer,
floating-point, and real-world workloads.
- ramspeed-smp measures memory bandwidth and latency across
multiple CPU cores.
- sockperf provides network latency and throughput benchmarking
for TCP and UDP workloads.
- wrk2 generates HTTP workloads with constant throughput and is
useful for web server and service performance testing.
The recipes have been successfully built and validated on
aarch64 targets. Functional testing confirmed that the
benchmark binaries execute correctly and produce expected
results.
Signed-off-by: Vaibhav Jindal <vaibjind@qti.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>