Skip to content

qualcomm/qemu-hexagon-testing

qemu hexagon testing

This project contains programs to exercise QEMU hexagon.

Branches

main: Primary development branch. Contributors should develop submissions based on this branch, and submit pull requests to this branch.

Quick Start

SDK Download and Build

cd /tmp/hexagon-build
wget https://softwarecenter.qualcomm.com/api/download/software/sdks/Hexagon_SDK/Linux/Debian/6.4.0.2/Hexagon_SDK_lnx.zip
unzip hexagon_sdk.zip
cd qemu-hexagon-testing

cmake -S standalone_systests -B build-systests \
  -G Ninja \
  -DCMAKE_TOOLCHAIN_FILE=${PWD}/cmake/hexagon-standalone.cmake \
  -DHEXAGON_SDK_ROOT=/tmp/hexagon-build/Hexagon_SDK/6.4.0.2 \
  -DHEXAGON_ARCH=v68

cmake --build build-systests
DESTDIR=build-systests/install cmake --install build-systests
ls -la build-systests/bin/

Requirements

  • Hexagon SDK 6.4.0.2: Download from Qualcomm Software Center
  • Hexagon Linux Toolchain (for Linux builds): Codelinaro Hexagon Toolchain
  • CMake 3.16+
  • Ninja build system (recommended) or Make
  • Dependencies: build-essential, wget, unzip, zstd

Installing Dependencies (Ubuntu/Debian)

sudo apt-get update
sudo apt-get install -y cmake build-essential wget unzip ninja-build qemu-user zstd libncurses5

Test Suites

This project includes multiple test suites for exercising QEMU Hexagon emulation:

Standalone System Tests (standalone_systests/)

A comprehensive collection of 60+ system-level tests for the Hexagon Standalone OS environment:

  • MMU Tests: mmu_asids, mmu_cacheops, mmu_multi_tlb, mmu_overlap, mmu_page_size, mmu_permissions, hsv39_tlb
  • HVX Tests: hvx_64b, hvx_ext, hvx-multi, hvx_nocoproc
  • Interrupt Tests: fastint, fastl2vic, levelint, pendalot, pend_wake_wait
  • System Tests: access, badva, checkforpriv, float_excp, invalid_opcode, tlblock, timer_reg
  • Thread Tests: test-thread, thread_scheduling
  • And many more... (see standalone_systests/CMakeLists.txt for full list)

HVX Examples (sdk_examples/)

HVX (Hexagon Vector eXtensions) example programs demonstrating vector processing capabilities.

Usage

Development

How to develop new features/fixes for the software. Maybe different than "usage". Also provide details on how to contribute via a CONTRIBUTING.md file.

Getting in Contact

How to contact maintainers. E.g. GitHub Issues, GitHub Discussions could be indicated for many cases. However a mail list or list of Maintainer e-mails could be shared for other types of discussions. E.g.

License

qemu-hexagon-testing

qemu-hexagon-testing is licensed under the BSD-3-clause License. See LICENSE.txt for the full license text.

About

Test programs to exercise QEMU hexagon

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published