Skip to content

Commit d7bd10a

Browse files
bors[bot]mkroening
andauthored
Merge #155
155: QEMU: Enable xsaveopt cpu feature r=stlankes a=mkroening See hermit-os/kernel#278. Co-authored-by: Martin Kröning <mkroening@posteo.net>
2 parents 69df679 + e7fd962 commit d7bd10a

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

.github/workflows/test.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,11 @@ jobs:
3939
if: ${{ matrix.os == 'macos-latest' }}
4040
run: |
4141
brew update
42-
brew tap-new --no-git hermitcore/homebrew
43-
brew extract --version 6.0.0 qemu hermitcore/homebrew
44-
brew install hermitcore/homebrew/qemu@6.0.0
45-
brew install nasm
42+
brew install qemu nasm
4643
- name: Install QEMU, NASM, GNU make (windows)
4744
if: ${{ matrix.os == 'windows-latest' }}
4845
run: |
49-
choco install nasm make
50-
choco install qemu --version 2021.5.5
46+
choco install qemu nasm make
5147
echo "C:\Program Files\qemu" >> $GITHUB_PATH
5248
echo "C:\Program Files\NASM" >> $GITHUB_PATH
5349
- name: Build loader
@@ -57,7 +53,7 @@ jobs:
5753
- name: Test dev profile
5854
run: |
5955
qemu-system-x86_64 -display none -smp 1 -m 128M -serial stdio \
60-
-cpu qemu64,apic,fsgsbase,rdtscp,xsave,fxsr,rdrand \
56+
-cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand \
6157
-kernel loader/target/x86_64-unknown-hermit-loader/release/rusty-loader \
6258
-initrd target/x86_64-unknown-hermit/debug/rusty_demo
6359
- name: Build release profile
@@ -66,7 +62,7 @@ jobs:
6662
- name: Test release profile
6763
run: |
6864
qemu-system-x86_64 -display none -smp 1 -m 128M -serial stdio \
69-
-cpu qemu64,apic,fsgsbase,rdtscp,xsave,fxsr,rdrand \
65+
-cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand \
7066
-kernel loader/target/x86_64-unknown-hermit-loader/release/rusty-loader \
7167
-initrd target/x86_64-unknown-hermit/release/rusty_demo
7268
- name: Build httpd with DHCP support

.gitlab-ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ test:qemu:
8787
script:
8888
- lscpu
8989
- kvm-ok
90-
- qemu-system-x86_64 -display none -smp 1 -m 64M -serial stdio -kernel loader/target/x86_64-unknown-hermit-loader/debug/rusty-loader -initrd target/x86_64-unknown-hermit/debug/rusty_demo -cpu qemu64,apic,fsgsbase,rdtscp,xsave,fxsr,rdrand -enable-kvm
91-
- qemu-system-x86_64 -display none -smp 2 -m 64M -serial stdio -kernel loader/target/x86_64-unknown-hermit-loader/debug/rusty-loader -initrd target/x86_64-unknown-hermit/debug/rusty_demo -cpu qemu64,apic,fsgsbase,rdtscp,xsave,fxsr,rdrand -enable-kvm
92-
- qemu-system-x86_64 -display none -smp 1 -m 64M -serial stdio -kernel loader/target/x86_64-unknown-hermit-loader/release/rusty-loader -initrd target/x86_64-unknown-hermit/release/rusty_demo -cpu qemu64,apic,fsgsbase,rdtscp,xsave,fxsr,rdrand -enable-kvm
93-
- qemu-system-x86_64 -display none -smp 2 -m 64M -serial stdio -kernel loader/target/x86_64-unknown-hermit-loader/release/rusty-loader -initrd target/x86_64-unknown-hermit/release/rusty_demo -cpu qemu64,apic,fsgsbase,rdtscp,xsave,fxsr,rdrand -enable-kvm
90+
- qemu-system-x86_64 -display none -smp 1 -m 64M -serial stdio -kernel loader/target/x86_64-unknown-hermit-loader/debug/rusty-loader -initrd target/x86_64-unknown-hermit/debug/rusty_demo -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand -enable-kvm
91+
- qemu-system-x86_64 -display none -smp 2 -m 64M -serial stdio -kernel loader/target/x86_64-unknown-hermit-loader/debug/rusty-loader -initrd target/x86_64-unknown-hermit/debug/rusty_demo -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand -enable-kvm
92+
- qemu-system-x86_64 -display none -smp 1 -m 64M -serial stdio -kernel loader/target/x86_64-unknown-hermit-loader/release/rusty-loader -initrd target/x86_64-unknown-hermit/release/rusty_demo -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand -enable-kvm
93+
- qemu-system-x86_64 -display none -smp 2 -m 64M -serial stdio -kernel loader/target/x86_64-unknown-hermit-loader/release/rusty-loader -initrd target/x86_64-unknown-hermit/release/rusty_demo -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand -enable-kvm
9494
tags:
9595
- privileged
9696

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ Afterwards, the loader is stored in `target/x86_64-unknown-hermit-loader/debug/`
137137
As final step, the unikernel application `app` can be booted with following command:
138138

139139
```bash
140-
qemu-system-x86_64 -display none -smp 1 -m 64M -serial stdio -kernel path_to_loader/rusty-loader -initrd path_to_app/app -cpu qemu64,apic,fsgsbase,rdtscp,xsave,fxsr
140+
qemu-system-x86_64 -display none -smp 1 -m 64M -serial stdio -kernel path_to_loader/rusty-loader -initrd path_to_app/app -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr
141141
```
142142

143143
It is important to enable the processor features _fsgsbase_ and _rdtscp_ because it is a prerequisite to boot RustyHermit.
@@ -202,7 +202,7 @@ Currently, RustyHermit does only support network interfaces through [virtio](htt
202202
To use it, you have to start RustyHermit in Qemu with following command:
203203

204204
```bash
205-
$ qemu-system-x86_64 -cpu qemu64,apic,fsgsbase,rdtscp,xsave,fxsr \
205+
$ qemu-system-x86_64 -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr \
206206
-enable-kvm -display none -smp 1 -m 1G -serial stdio \
207207
-kernel path_to_loader/rusty-loader \
208208
-initrd path_to_app/app \

0 commit comments

Comments
 (0)