blob: 7b6bf87a1dfc9476664c21aaa98603a9efc37697 [file] [log] [blame]
# Disable bors on the bors temp branch
branches:
except:
- staging.tmp
- trying.tmp
language: rust
rust:
- nightly-2020-01-16
os:
- linux
cache: cargo
# Once Travis supports a version of Ubuntu Disco or newer we can apt install QEMU for RISC-V
# Until then we need to build it ourselves
before_install:
# - sudo apt-get -y install qemu-system-misc
# addons:
# apt:
# update: true
- wget https://download.qemu.org/qemu-4.2.0.tar.xz
- tar xJf qemu-4.2.0.tar.xz
- pushd qemu-4.2.0
- ./configure --target-list=riscv32-softmmu
- make -j8
- sudo ln -s $PWD/riscv32-softmmu/qemu-system-riscv32 /usr/bin/
- popd
install:
- make setup
# Build Tock, it needs to be outside of the libtock-rs source
- pushd ../
- git clone https://github.com/tock/tock.git
- cd tock/boards/hifive1
# Use a known working version of Tock
- git checkout c94059d3e25dc635e682facff4894ef43b9aca0e
- make
- popd
script:
- make test
# Run a QEMU instance of the HiFive1 app
- make flash-hifive1 EXAMPLE=hello_world
- timeout --foreground 10s qemu-system-riscv32 -M sifive_e -kernel ../tock/boards/hifive1/target/riscv32imac-unknown-none-elf/release/hifive1 -device loader,file=./target/riscv32imac-unknown-none-elf/tab/hifive1/hello_world/rv32imac.tbf,addr=0x20430000 -nographic | tee serial
- grep "Hello Tock World" serial