forked from thu-cs-lab/supervisor-rv
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
81 lines (81 loc) · 3.44 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
language: c
cache:
cargo: true
directories:
- "$TRAVIS_BUILD_DIR/qemu-4.1.0"
before_install:
- sudo apt-get install -yy expect python3-pip
- sudo pip3 install pyserial
- curl https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.2.0-2019.05.3-x86_64-linux-ubuntu14.tar.gz
> toolchain.tar.gz
- tar -xf toolchain.tar.gz
- wget https://download.qemu.org/qemu-4.1.0.tar.xz && tar xJf qemu-4.1.0.tar.xz >
/dev/null && cd qemu-4.1.0 && ./configure --target-list="riscv32-softmmu riscv64-softmmu"
&& make && cd ..;
script:
- export PATH=$PATH:$PWD/riscv64-unknown-elf-gcc-8.2.0-2019.05.3-x86_64-linux-ubuntu14/bin
- export PATH=$PATH:$PWD/qemu-4.1.0/riscv32-softmmu:$PWD/qemu-4.1.0/riscv64-softmmu:$PWD/qemu-4.1.0;
- make BITS=32 -C kernel/
- cp kernel/kernel.bin kernel/kernel32.bin
- make BITS=32 -C kernel/
- cp kernel/kernel.bin kernel/kernel32-fencei.bin
- make BITS=32 EN_INT=y -C kernel/
- cp kernel/kernel.bin kernel/kernel32-int.bin
- make BITS=32 EN_INT=y EN_FENCEI=y -C kernel/
- cp kernel/kernel.bin kernel/kernel32-int-fencei.bin
- make BITS=32 EN_INT=y EN_PAGING=y -C kernel/
- cp kernel/kernel.bin kernel/kernel32-int-paging.bin
- make BITS=32 EN_INT=y EN_PAGING=y EN_FENCEI=y -C kernel/
- cp kernel/kernel.bin kernel/kernel32-int-paging-fencei.bin
- make BITS=64 -C kernel/
- cp kernel/kernel.bin kernel/kernel64.bin
- make BITS=64 EN_FENCEI=y -C kernel/
- cp kernel/kernel.bin kernel/kernel64-fencei.bin
- make BITS=64 EN_INT=y -C kernel/
- cp kernel/kernel.bin kernel/kernel64-int.bin
- make BITS=64 EN_INT=y EN_FENCEI=y -C kernel/
- cp kernel/kernel.bin kernel/kernel64-int-fencei.bin
- make BITS=64 EN_INT=y EN_PAGING=y -C kernel/
- cp kernel/kernel.bin kernel/kernel64-int-paging.bin
- make BITS=64 EN_INT=y EN_PAGING=y EN_FENCEI=y -C kernel/
- cp kernel/kernel.bin kernel/kernel64-int-paging-fencei.bin
- travis_wait 1 make BITS=32 sim -C kernel
|| true
- ./.test-script
- killall qemu-system-riscv32
- travis_wait 1 make BITS=32 EN_INT=y sim -C kernel
|| true
- ./.test-script
- killall qemu-system-riscv32
- travis_wait 1 make BITS=64 sim -C kernel
|| true
- ./.test-script
- killall qemu-system-riscv64
- travis_wait 1 make BITS=64 EN_INT=y sim -C kernel
|| true
- ./.test-script
- killall qemu-system-riscv64
addons:
apt:
update: true
deploy:
provider: releases
api_key:
secure: WY7JLy11O4ZVIFzMb8yl/IMyqovZm3ockNFzaDSeAuTENn+lQwvzTuNNke+kWAOeQUM+Iez5BNgK1wUN0j32hlY29ye7nMvCF+deHSeX3sXP1rPeo9PuxdLjIRiM3CBF6r57/N9oQjeRyT8bZjMQjsDSmlSt0a0BtU5Vhl2+idAfUwvXCFDdFidF61p+YeeHDr8FJmk4WUYRkwPna++xiYNEzRVpmp9hpD1KIAop676syQQAFETLDYExSZ4mOP7pbNnNfqJDq6Hs57KQVha0/KgKhIpLqYsjymQeOWDhPe6XfwpV3yr2R8OA10lNsRFnRmbDlqHAEWCeZu+Q7w1TxQZeHya4hP13FesOARAbHMIFlA9Iqa2lwlkIKm5L+R33sOd4hKx+rK/NQpN5UZOu8Hvp8yZ0bFbd71mlzMjnG5ODdi1rxNtc7Ss88DR+Mpra9uHcU6XgL0qmZQnrgXnBEas5fMKLQJNDY7w+rOINVEmiM53w7uET5dvHiN5FDXr6DX+L+vjfL93VOjIqXSCjHGig1GmPxyfb3cqcIIS/tkmtzFX17HF8V4Uzt9f2V+K4vUo1JR4MskmTD+E1bATDMCUL08B74SfsMsZUOv3BIhT4HC1hbbZeMBhs2R4jnuMFlcMzsrZmKGEr4qqviAnwpsNElO/NDuQgQp/2HZcZThk=
skip_cleanup: true
file:
- kernel/kernel32.bin
- kernel/kernel32-fencei.bin
- kernel/kernel32-int.bin
- kernel/kernel32-int-fencei.bin
- kernel/kernel32-int-paging.bin
- kernel/kernel32-int-paging-fencei.bin
- kernel/kernel64.bin
- kernel/kernel64-fencei.bin
- kernel/kernel64-int.bin
- kernel/kernel64-int-fencei.bin
- kernel/kernel64-int-paging.bin
- kernel/kernel64-int-paging-fencei.bin
on:
repo: jiegec/supervisor-rv
tags: true