Loading [MathJax]/jax/output/HTML-CSS/jax.js
427 Star 1.5K Fork 1.6K

GVPopenEuler/kernel

 / 详情

【虚拟化】kernel OLK-5.10 supports KVM RISC-V

已完成
需求
创建于  
2020-11-25 15:20

测试RISC-V虚拟化功能

  1. 启动虚拟机
    1.1 为仿真器配置虚拟网桥
    brctladdbrvirbr0 brctl stp virbr0 on
    ifconfigvirbr0up ifconfig virbr0 192.168.122.1 netmask 255.255.255.0

1.2 启动仿真器
$ ./qemu-system-riscv64 -M virt -m 4096M -cpu rv64,x-h=true -nographic
-name guest=riscv-hyp,debug-threads=on
-smp 4
-bios ./fw_jump.bin
-kernel ./Image
-drive file=./hypervisor.img,format=raw,id=hd0
-device virtio-blk-device,drive=hd0
-append "root=/dev/vda rw console=ttyS0 earlycon=sbi"
-netdev type=tap,script=./ifup.sh,downscript=./ifdown.sh,id=net0
-device virtio-net-device,netdev=net0
结果如下:
输入图片说明

1.3 启动RISC-V虚拟机
$ ./qemu-system-riscv64 -M virt,accel=kvm -m 512M -cpu host -nographic
-name guest=riscv-guest
-bios none
-smp 2
-kernel ./Image
-drive file=./guest.img,format=raw,id=hd0
-device virtio-blk,drive=hd0
-append "root=/dev/vda rw console=ttyS0 earlycon=sbi"
结果如下:
输入图片说明

  1. 热迁移
    2.1 在仿真器1上启动源端虚拟机
    ./qemusystemriscv64Mvirt,accel=kvmm512Mcpuhostnographicnameguest=riscvguestbiosnonesmp2kernel./Imagedrivefile=./guest.img,format=raw,id=hd0devicevirtioblk,drive=hd0append"root=/dev/vdarwconsole=ttyS0earlycon=sbi"monitortcp:0:55555,server,nowait2.2仿2 ./qemu-system-riscv64 -M virt,accel=kvm -m 512M -cpu host -nographic
    -name guest=riscv-guest
    -bios none
    -smp 2
    -kernel ./Image
    -drive file=./guest.img,format=raw,id=hd0
    -device virtio-blk,drive=hd0
    -append "root=/dev/vda rw console=ttyS0 earlycon=sbi"
    -device i6300esb,id=watchdog
    -serial tcp:0:33333,server,nowait
    -incoming tcp:0:44444
    -monitor tcp:0:55555,server,nowait

2.3 登录仿真器1,启动热迁移
$ socat -,echo=0,icanon=0 tcp-connect:192.168.122.2:55555
(qemu) migrate -d -i tcp:192.168.122.3:44444

2.4 登录热迁移后的虚拟机
$ socat -,echo=0,icanon=0 tcp-connect:192.168.122.3:33333
结果如下:
输入图片说明

评论 (2)

limingwang 创建了任务 4年前
limingwang 关联仓库设置为openEuler/kernel 4年前
展开全部操作日志

Hey limingwang0, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

openeuler-ci-bot 负责人设置为weiyj 4年前
YangYingliang 任务状态待办的 修改为进行中 4年前
limingwang 修改了标题 4年前
limingwang 修改了描述 4年前
limingwang 修改了描述 4年前
limingwang 修改了描述 4年前
limingwang 修改了描述 4年前
limingwang 修改了描述 4年前
成坚 (CHENG Jian) 负责人weiyj 修改为zhengzengkai 4年前

已合入如下相关补丁:
bb420cf9aa96 RISCV: KVM: fix bug in migration
8d9fb94def6d RISC-V: Enable KVM for RV64 and RV32
0fb0f6010791 RISC-V: KVM: Add MAINTAINERS entry
94249beff832 RISC-V: KVM: Document RISC-V specific parts of KVM API
7b4c2ba99524 RISC-V: KVM: Add SBI v0.1 support
1740d169ec24 RISC-V: KVM: Implement ONE REG interface for FP registers
d58a09d981c6 RISC-V: KVM: FP lazy save/restore
5d694703a4df RISC-V: KVM: Add timer functionality
3bba8056692e RISC-V: KVM: Implement MMU notifiers
4c99be36676d RISC-V: KVM: Implement stage2 page table programming
f2c078138b96 RISC-V: KVM: Implement VMID allocator
ac864e222df9 RISC-V: KVM: Handle WFI exits for VCPU
76580c26bfaf RISC-V: KVM: Handle MMIO exits for VCPU
a8c4fcfe6cca RISC-V: KVM: Implement VCPU world-switch
5fbaad69b54f RISC-V: KVM: Implement KVM_GET_ONE_REG/KVM_SET_ONE_REG ioctls
712a392a1ee1 RISC-V: KVM: Implement VCPU interrupts and requests handling
547754bf9ebe RISC-V: KVM: Implement VCPU create, init and destroy functions
e91613aec0b9 RISC-V: Add initial skeletal KVM support
145b00007b88 RISC-V: Add hypervisor extension related CSR defines
ddc1d948927c RISC-V: Enable drivers for Microchip PolarFire ICICLE board
41e926e6ead2 RISC-V: Initial DTS for Microchip ICICLE board
ee81ec41a2d0 RISC-V: Add Microchip PolarFire kconfig option
b87003a9d82f Microchip Polarfire SoC Clock Driver
ff85bc34763a RISC-V: Enable CPU Hotplug in defconfigs
3693aa3de291 Revert "riscv: Use latest system call ABI"
688923d14395 RISC-V: Add fragmented config for debug options

zhengzengkai 任务状态进行中 修改为已完成 4年前
zhengzengkai 任务类型任务 修改为需求 4年前

登录 后才可以发表评论

状态
负责人
项目
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
预计工期 (小时)
开始日期   -   截止日期
-
置顶选项
优先级
分支
参与者(3)
5329419 openeuler ci bot 1632792936 zhengzengkai-zhengzengkai limingwang-limingwang0
C
1
https://gitee.com/openeuler/kernel.git
git@gitee.com:openeuler/kernel.git
openeuler
kernel
kernel

搜索帮助

371d5123 14472233 46e8bd33 14472233