equation314 / equation314/RVM-Tutorial
Panicked at src/task/structs.rs:155 new_user: no such app
- 主要语言
- Rust
- 星标
- 161
- 派生
- 36
- PR 合并指标
- 30 天内没有已合并 PR
描述
# 环境
* 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`时报错如下:
```sh
[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如下:
```sh
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
```
贡献指南
这个仓库没有索引到贡献指南
调研方向
使用所报告的 Ubuntu、QEMU、Cargo 和 KVM 设置,在 `hypervisor` 下通过 `make run` 重现。从 `src/task/structs.rs:155` 开始,检查 `new_user: no such app` panic 附近的任务管理器初始化,然后查看 `src/hv/vmexit.rs:122` 以调查后续的 I/O 端口失败。当 hypervisor 在没有报告中的 panic 的情况下进入正常的 guest 启动流程时,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- rust
- 领域
- operating-systems
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 28/100