43
43
name : Run
44
44
strategy :
45
45
matrix :
46
- target : [x86_64, x86_64-uefi, x86_64-fc, aarch64, riscv64]
46
+ target : [x86_64, aarch64, riscv64]
47
47
os : [ubuntu-latest, macos-latest, windows-latest]
48
48
runs-on : ${{ matrix.os }}
49
49
steps :
@@ -70,79 +70,13 @@ jobs:
70
70
lfs : true
71
71
- name : Install stable Rust toolchain
72
72
uses : dtolnay/rust-toolchain@stable
73
- - name : Build
74
- run : cargo xtask build --target ${{ matrix.target }}
75
- - name : Run loader (x86_64)
73
+ - name : Run VM (hello_world, dev)
74
+ run : cargo xtask ci qemu --target ${{ matrix.target }}
75
+ - name : Run VM (hello_world, release)
76
+ run : cargo xtask ci qemu --target ${{ matrix.target }} --release
77
+ - name : Run VM (hello_c, dev)
76
78
if : matrix.target == 'x86_64'
77
- run : |
78
- qemu-system-x86_64 \
79
- -cpu qemu64,apic,fsgsbase,fxsr,rdrand,rdtscp,xsave,xsaveopt \
80
- -smp 1 -m 64M \
81
- -device isa-debug-exit,iobase=0xf4,iosize=0x04 \
82
- -display none -serial stdio \
83
- -kernel target/x86_64/debug/hermit-loader \
84
- -initrd data/x86_64/hello_world
85
- qemu-system-x86_64 \
86
- -cpu qemu64,apic,fsgsbase,fxsr,rdrand,rdtscp,xsave,xsaveopt \
87
- -smp 1 -m 64M \
88
- -device isa-debug-exit,iobase=0xf4,iosize=0x04 \
89
- -display none -serial stdio \
90
- -kernel target/x86_64/debug/hermit-loader \
91
- -initrd data/x86_64/hello_c
92
- - name : Run loader (aarch64)
93
- if : matrix.target == 'aarch64'
94
- run : |
95
- qemu-system-aarch64 \
96
- -machine virt,gic-version=3 -cpu cortex-a72 -smp 1 -m 512M \
97
- -display none -serial stdio -semihosting \
98
- -kernel target/aarch64/debug/hermit-loader \
99
- -device guest-loader,addr=0x48000000,initrd=data/aarch64/hello_world
100
- - name : Run loader (riscv64)
101
- if : matrix.target == 'riscv64'
102
- run : |
103
- qemu-system-riscv64 \
104
- -machine virt \
105
- -cpu rv64 \
106
- -smp 1 \
107
- -m 32M \
108
- -display none -serial stdio \
109
- -kernel target/riscv64/debug/hermit-loader \
110
- -initrd data/riscv64/hello_world
111
- - name : Build (release)
112
- run : cargo xtask build --target ${{ matrix.target }} --release
113
- - name : Run loader (release, x86_64)
79
+ run : cargo xtask ci qemu --target ${{ matrix.target }} --image hello_c
80
+ - name : Run VM (hello_c, release)
114
81
if : matrix.target == 'x86_64'
115
- run : |
116
- qemu-system-x86_64 \
117
- -cpu qemu64,apic,fsgsbase,fxsr,rdrand,rdtscp,xsave,xsaveopt \
118
- -smp 1 -m 64M \
119
- -device isa-debug-exit,iobase=0xf4,iosize=0x04 \
120
- -display none -serial stdio \
121
- -kernel target/x86_64/release/hermit-loader \
122
- -initrd data/x86_64/hello_world
123
- qemu-system-x86_64 \
124
- -cpu qemu64,apic,fsgsbase,fxsr,rdrand,rdtscp,xsave,xsaveopt \
125
- -smp 1 -m 64M \
126
- -device isa-debug-exit,iobase=0xf4,iosize=0x04 \
127
- -display none -serial stdio \
128
- -kernel target/x86_64/release/hermit-loader \
129
- -initrd data/x86_64/hello_c
130
- - name : Run loader (release, aarch64)
131
- if : matrix.target == 'aarch64'
132
- run : |
133
- qemu-system-aarch64 \
134
- -machine virt,gic-version=3 -cpu cortex-a72 -smp 1 -m 512M \
135
- -display none -serial stdio -semihosting \
136
- -kernel target/aarch64/release/hermit-loader \
137
- -device guest-loader,addr=0x48000000,initrd=data/aarch64/hello_world
138
- - name : Run loader (release, riscv64)
139
- if : matrix.target == 'riscv64'
140
- run : |
141
- qemu-system-riscv64 \
142
- -machine virt \
143
- -cpu rv64 \
144
- -smp 1 \
145
- -m 32M \
146
- -display none -serial stdio \
147
- -kernel target/riscv64/release/hermit-loader \
148
- -initrd data/riscv64/hello_world
82
+ run : cargo xtask ci qemu --target ${{ matrix.target }} --image hello_c --release
0 commit comments