环境
- Ubuntu 22.04 5.15.0-60-generic
- qemu 7.2.50
- cargo 1.67.0-nightly
- 已开启KVM且支持嵌套虚拟化
- Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz, 已启用VT-x
log
在hypervisor下执行make run时报错如下:
[ERROR nimbos::lang_items] Panicked at src/task/structs.rs:155 new_user: no such app
[WARN nimbos::drivers::misc::qemu_x86_reset] Shutting down...
[ 0.199425 ERROR rvm_hypervisor::lang_items:5] panicked at 'Unsupported I/O port 0x604 access: VmxIoExitInfo {
access_size: 0x2,
is_in: false,
is_string: false,
is_repeat: false,
port: 0x604,
}', src/hv/vmexit.rs:122:9
完整启动log如下:
SeaBIOS (version rel-1.16.1-0-g3208b098f51a-prebuilt.qemu.org)
iPXE (http://ipxe.org) 00:02.0 CA00 PCI2.10 PnP PMM+06FD0CD0+06F30CD0 CA00
Booting from ROM..
RRRRRR VV VV MM MM
RR RR VV VV MMM MMM
RRRRRR VV VV MM MM MM
RR RR VV VV MM MM
RR RR VVV MM MM
___ ____ ___ ___
|__ \ / __ \ |__ \ |__ \
__/ / / / / / __/ / __/ /
/ __/ / /_/ / / __/ / __/
/____/ \____/ /____/ /____/
arch = x86_64
build_mode = release
log_level = warn
Initializing heap at: [0xffffff800124b010, 0xffffff800164b010)
Initializing GDT...
Initializing IDT...
Initializing Local APIC...
Initializing frame allocator at: [0x164c000, 0x4000000)
Initialization completed.
Starting virtualization...
Hardware support: true
Running guest...
NN NN iii bb OOOOO SSSSS
NNN NN mm mm mmmm bb OO OO SS
NN N NN iii mmm mm mm bbbbbb OO OO SSSSS
NN NNN iii mmm mm mm bb bb OO OO SS
NN NN iii mmm mm mm bbbbbb OOOO0 SSSSS
___ ____ ___ ___
|__ \ / __ \ |__ \ |__ \
__/ / / / / / __/ / __/ /
/ __/ / /_/ / / __/ / __/
/____/ \____/ /____/ /____/
arch = x86_64
platform = pc
build_mode = release
log_level = warn
Initializing kernel heap at: [0xffffff800022cd00, 0xffffff800062cd00)
Initializing IDT...
Loading GDT for CPU 0...
Initializing frame allocator at: [PA:0x62d000, PA:0x8000000)
Mapping .text: [0xffffff8000200000, 0xffffff800021b000)
Mapping .rodata: [0xffffff800021b000, 0xffffff8000220000)
Mapping .data: [0xffffff8000220000, 0xffffff8000228000)
Mapping .bss: [0xffffff800022c000, 0xffffff800062d000)
Mapping boot stack: [0xffffff8000228000, 0xffffff800022c000)
Mapping physical memory: [0xffffff800062d000, 0xffffff8008000000)
Mapping MMIO: [0xffffff80fec00000, 0xffffff80fec01000)
Mapping MMIO: [0xffffff80fed00000, 0xffffff80fed01000)
Mapping MMIO: [0xffffff80fee00000, 0xffffff80fee01000)
Initializing drivers...
Initializing Local APIC...
Initializing HPET...
HPET: 100.000000 MHz, 64-bit, 3 timers
Calibrated TSC frequency: 2904.451 MHz
Calibrated LAPIC frequency: 726.124 MHz
Initializing task manager...
[ERROR nimbos::lang_items] Panicked at src/task/structs.rs:155 new_user: no such app
[WARN nimbos::drivers::misc::qemu_x86_reset] Shutting down...
[ 0.199425 ERROR rvm_hypervisor::lang_items:5] panicked at 'Unsupported I/O port 0x604 access: VmxIoExitInfo {
access_size: 0x2,
is_in: false,
is_string: false,
is_repeat: false,
port: 0x604,
}', src/hv/vmexit.rs:122:9
环境
log
在
hypervisor下执行make run时报错如下:完整启动log如下:
SeaBIOS (version rel-1.16.1-0-g3208b098f51a-prebuilt.qemu.org) iPXE (http://ipxe.org) 00:02.0 CA00 PCI2.10 PnP PMM+06FD0CD0+06F30CD0 CA00 Booting from ROM.. RRRRRR VV VV MM MM RR RR VV VV MMM MMM RRRRRR VV VV MM MM MM RR RR VV VV MM MM RR RR VVV MM MM ___ ____ ___ ___ |__ \ / __ \ |__ \ |__ \ __/ / / / / / __/ / __/ / / __/ / /_/ / / __/ / __/ /____/ \____/ /____/ /____/ arch = x86_64 build_mode = release log_level = warn Initializing heap at: [0xffffff800124b010, 0xffffff800164b010) Initializing GDT... Initializing IDT... Initializing Local APIC... Initializing frame allocator at: [0x164c000, 0x4000000) Initialization completed. Starting virtualization... Hardware support: true Running guest... NN NN iii bb OOOOO SSSSS NNN NN mm mm mmmm bb OO OO SS NN N NN iii mmm mm mm bbbbbb OO OO SSSSS NN NNN iii mmm mm mm bb bb OO OO SS NN NN iii mmm mm mm bbbbbb OOOO0 SSSSS ___ ____ ___ ___ |__ \ / __ \ |__ \ |__ \ __/ / / / / / __/ / __/ / / __/ / /_/ / / __/ / __/ /____/ \____/ /____/ /____/ arch = x86_64 platform = pc build_mode = release log_level = warn Initializing kernel heap at: [0xffffff800022cd00, 0xffffff800062cd00) Initializing IDT... Loading GDT for CPU 0... Initializing frame allocator at: [PA:0x62d000, PA:0x8000000) Mapping .text: [0xffffff8000200000, 0xffffff800021b000) Mapping .rodata: [0xffffff800021b000, 0xffffff8000220000) Mapping .data: [0xffffff8000220000, 0xffffff8000228000) Mapping .bss: [0xffffff800022c000, 0xffffff800062d000) Mapping boot stack: [0xffffff8000228000, 0xffffff800022c000) Mapping physical memory: [0xffffff800062d000, 0xffffff8008000000) Mapping MMIO: [0xffffff80fec00000, 0xffffff80fec01000) Mapping MMIO: [0xffffff80fed00000, 0xffffff80fed01000) Mapping MMIO: [0xffffff80fee00000, 0xffffff80fee01000) Initializing drivers... Initializing Local APIC... Initializing HPET... HPET: 100.000000 MHz, 64-bit, 3 timers Calibrated TSC frequency: 2904.451 MHz Calibrated LAPIC frequency: 726.124 MHz Initializing task manager... [ERROR nimbos::lang_items] Panicked at src/task/structs.rs:155 new_user: no such app [WARN nimbos::drivers::misc::qemu_x86_reset] Shutting down... [ 0.199425 ERROR rvm_hypervisor::lang_items:5] panicked at 'Unsupported I/O port 0x604 access: VmxIoExitInfo { access_size: 0x2, is_in: false, is_string: false, is_repeat: false, port: 0x604, }', src/hv/vmexit.rs:122:9