From 0c1dfe355cce0bb5b9e3423e4a4a50b45be75501 Mon Sep 17 00:00:00 2001 From: Ren HangQi <91014282+ForeverYolo@users.noreply.github.com> Date: Wed, 3 Jul 2024 20:33:57 +0800 Subject: [PATCH] Complete the initialization of the file tree (#2) --- src/Contributors.md | 1 - src/SUMMARY.md | 86 +++++++++++++++++-- src/{chap02 => chap01}/Board.md | 0 src/chap01/ISA.md | 0 src/chap01/Overview.md | 8 +- src/{ => chap01}/img/hvisor-logo.svg | 0 src/chap02/FPGA-Rockechip.md | 0 src/chap02/FPGA-XiangShan.md | 0 src/chap02/NXPIMX8.md | 0 src/chap02/QemuAArch64.md | 0 src/chap02/QemuRISC-V.md | 0 .../BootNonRootLinux.md} | 0 src/chap03/BootNonRootRTOS.md | 0 .../BootRoot.md => chap03/BootRootLinux.md} | 2 +- src/chap03/CMDTools.md | 0 src/chap03/VirtIOUseage.md | 0 src/chap03/subchap01/PassThrough.md | 0 src/chap03/subchap01/ZoneConfig.md | 0 src/chap04/BootAndRun.md | 0 src/chap04/MemVirtualization.md | 0 src/chap04/Structure.md | 0 src/chap04/subchap01/ARMVirtualization.md | 0 src/chap04/subchap01/CPUVirtualization.md | 0 .../subchap01/LoongArchVirtualization.md | 0 src/chap04/subchap01/PerCPU.md | 0 src/chap04/subchap01/RISCVirtualization.md | 0 src/chap04/subchap02/ARM-GIC.md | 0 .../subchap02/InterruptVirtualization.md | 0 src/chap04/subchap02/LoonArch-Controller.md | 0 src/chap04/subchap02/RISC-AIA.md | 0 src/chap04/subchap02/RISC-PLIC.md | 0 src/chap04/subchap03/IO-Virtualization.md | 0 src/chap04/subchap03/IOMMU/ARM-SMMU.md | 0 src/chap04/subchap03/IOMMU/IOMMU-Define.md | 0 src/chap04/subchap03/IOMMU/RISC-IOMMU.md | 0 src/chap04/subchap03/PCI-Virtualization.md | 0 src/chap04/subchap03/VirtIO/BlockDevice.md | 0 src/chap04/subchap03/VirtIO/ConsoleDevice.md | 0 src/chap04/subchap03/VirtIO/GPUDevice.md | 0 src/chap04/subchap03/VirtIO/NetDevice.md | 0 src/chap04/subchap03/VirtIO/VirtIO-Define.md | 0 src/chap04/subchap04/HyperCall.md | 0 src/chap04/subchap04/ManageTools.md | 0 src/chap05/Planning.md | 0 src/chap06/DesignOverview.md | 1 - src/chap07/TreeExplanation.md | 37 -------- 46 files changed, 83 insertions(+), 52 deletions(-) delete mode 100644 src/Contributors.md rename src/{chap02 => chap01}/Board.md (100%) create mode 100644 src/chap01/ISA.md rename src/{ => chap01}/img/hvisor-logo.svg (100%) create mode 100644 src/chap02/FPGA-Rockechip.md create mode 100644 src/chap02/FPGA-XiangShan.md create mode 100644 src/chap02/NXPIMX8.md create mode 100644 src/chap02/QemuAArch64.md create mode 100644 src/chap02/QemuRISC-V.md rename src/{chap05/BootNonRoot.md => chap03/BootNonRootLinux.md} (100%) create mode 100644 src/chap03/BootNonRootRTOS.md rename src/{chap04/BootRoot.md => chap03/BootRootLinux.md} (97%) create mode 100644 src/chap03/CMDTools.md create mode 100644 src/chap03/VirtIOUseage.md create mode 100644 src/chap03/subchap01/PassThrough.md create mode 100644 src/chap03/subchap01/ZoneConfig.md create mode 100644 src/chap04/BootAndRun.md create mode 100644 src/chap04/MemVirtualization.md create mode 100644 src/chap04/Structure.md create mode 100644 src/chap04/subchap01/ARMVirtualization.md create mode 100644 src/chap04/subchap01/CPUVirtualization.md create mode 100644 src/chap04/subchap01/LoongArchVirtualization.md create mode 100644 src/chap04/subchap01/PerCPU.md create mode 100644 src/chap04/subchap01/RISCVirtualization.md create mode 100644 src/chap04/subchap02/ARM-GIC.md create mode 100644 src/chap04/subchap02/InterruptVirtualization.md create mode 100644 src/chap04/subchap02/LoonArch-Controller.md create mode 100644 src/chap04/subchap02/RISC-AIA.md create mode 100644 src/chap04/subchap02/RISC-PLIC.md create mode 100644 src/chap04/subchap03/IO-Virtualization.md create mode 100644 src/chap04/subchap03/IOMMU/ARM-SMMU.md create mode 100644 src/chap04/subchap03/IOMMU/IOMMU-Define.md create mode 100644 src/chap04/subchap03/IOMMU/RISC-IOMMU.md create mode 100644 src/chap04/subchap03/PCI-Virtualization.md create mode 100644 src/chap04/subchap03/VirtIO/BlockDevice.md create mode 100644 src/chap04/subchap03/VirtIO/ConsoleDevice.md create mode 100644 src/chap04/subchap03/VirtIO/GPUDevice.md create mode 100644 src/chap04/subchap03/VirtIO/NetDevice.md create mode 100644 src/chap04/subchap03/VirtIO/VirtIO-Define.md create mode 100644 src/chap04/subchap04/HyperCall.md create mode 100644 src/chap04/subchap04/ManageTools.md create mode 100644 src/chap05/Planning.md delete mode 100644 src/chap06/DesignOverview.md delete mode 100644 src/chap07/TreeExplanation.md diff --git a/src/Contributors.md b/src/Contributors.md deleted file mode 100644 index 3c932ab..0000000 --- a/src/Contributors.md +++ /dev/null @@ -1 +0,0 @@ -# 贡献 diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 25783ba..5f84f88 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -6,26 +6,94 @@ - [hvisor 概述](./chap01/Overview.md) -- [hvisor 目前支持的硬件平台](./chap02/Board.md) +- [hvisor 支持的指令集和处理器](./chap01/ISA.md) + +- [hvisor 支持的硬件平台](./chap01/Board.md) + +# hvisor 快速上手指南 + +- [Qemu AArch64 快速上手](./chap02/QemuAArch64.md) + +- [Qemu RISC-V 快速上手](./chap02/QemuRISC-V.md) + +- [NXP i.MX 8 快速上手](./chap02/NXPIMX8.md) + +- [FPGA-Rockechip 快速上手](./chap02/FPGA-Rockechip.md) + +- [FPGA 香山昆明湖快速上手]() + # hvisor 使用手册 - [如何编译](./chap03/Compile.md) -- [如何启动Root Linux](./chap04/BootRoot.md) +- [启动管理 Linux VM](./chap03/BootRootLinux.md) + +- [启动两个VM:Linux1 和 Linux2](./chap03/BootNonRootLinux.md) + +- [启动两个VM:Linux 和 RTOS](./chap03/BootNonRootRTOS.md) + +- [ZONE的配置与管理](./chap03/subchap01/ZoneConfig.md) + + - [设备直通](./chap03/subchap01/PassThrough.md) + +- [命令行工具](./chap03/CMDTools.md) + +- [VirtIO 的使用](./chap03/VirtIOUseage.md) + +# hvisor架构与实现 + +- [hvisor 架构](./chap04/Structure.md) + +- [hvisor 启动与运行](./chap04/BootAndRun.md) + +- [CPU 虚拟化](./chap04/subchap01/CPUVirtualization.md) + + - [PerCPU 定义](./chap04/subchap01/PerCPU.md) + + - [ARM 处理器虚拟化](./chap04/subchap01/ARMVirtualization.md) + + - [RISC-V 处理器虚拟化](./chap04/subchap01/RISCVirtualization.md) + + - [LoongArch处理器虚拟化](./chap04/subchap01/LoongArchVirtualization.md) + +- [内存虚拟化](./chap04/MemVirtualization.md) + +- [中断虚拟化](./chap04/subchap02/InterruptVirtualization.md) + + - [ARM 中断控制 GIC](./chap04/subchap02/ARM-GIC.md) + + - [RISC-V 中断控制 PLIC](./chap04/subchap02/RISC-PLIC.md) + + - [RISC-V 中断控制 AIA](./chap04/subchap02/RISC-AIA.md) + + - [LoongArch 中断控制](./chap04/subchap02/LoonArch-Controller.md) + +- [I/O 虚拟化](./chap04/subchap03/IO-Virtualization.md) + + - [IOMMU](./chap04/subchap03/IOMMU/IOMMU-Define.md) + + - [ARM SMMU 的实现](./chap04/subchap03/IOMMU/ARM-SMMU.md) + + - [RISC-V IOMMU 标准的实现](./chap04/subchap03/IOMMU/RISC-IOMMU.md) + + - [VirtIO](./chap04/subchap03/VirtIO/VirtIO-Define.md) -- [如何启动NonRoot Linux](./chap05/BootNonRoot.md) + - [Block](./chap04/subchap03/VirtIO/BlockDevice.md) + - [Console](./chap04/subchap03/VirtIO/ConsoleDevice.md) -# 整体架构 + - [Net](./chap04/subchap03/VirtIO/NetDevice.md) -- [设计概述](./chap06/DesignOverview.md) + - [GPU]() + + - [PCI 虚拟化](./chap04/subchap03/PCI-Virtualization.md) -- [文件树解释](./chap07/TreeExplanation.md) +- [Hvisor 管理工具](./chap04/subchap04/ManageTools.md) + + - [Hypercall](./chap04/subchap04/HyperCall.md) -# 未来工作 +# hvisor 的规划 - [TODO]() ---- -[贡献](./Contributors.md) diff --git a/src/chap02/Board.md b/src/chap01/Board.md similarity index 100% rename from src/chap02/Board.md rename to src/chap01/Board.md diff --git a/src/chap01/ISA.md b/src/chap01/ISA.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap01/Overview.md b/src/chap01/Overview.md index 7395daa..9154ec2 100644 --- a/src/chap01/Overview.md +++ b/src/chap01/Overview.md @@ -1,5 +1,7 @@ -# hvisor 概述 - - +
+ +
+# 欢迎使用 hvisor! +Hello~ \ No newline at end of file diff --git a/src/img/hvisor-logo.svg b/src/chap01/img/hvisor-logo.svg similarity index 100% rename from src/img/hvisor-logo.svg rename to src/chap01/img/hvisor-logo.svg diff --git a/src/chap02/FPGA-Rockechip.md b/src/chap02/FPGA-Rockechip.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap02/FPGA-XiangShan.md b/src/chap02/FPGA-XiangShan.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap02/NXPIMX8.md b/src/chap02/NXPIMX8.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap02/QemuAArch64.md b/src/chap02/QemuAArch64.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap02/QemuRISC-V.md b/src/chap02/QemuRISC-V.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap05/BootNonRoot.md b/src/chap03/BootNonRootLinux.md similarity index 100% rename from src/chap05/BootNonRoot.md rename to src/chap03/BootNonRootLinux.md diff --git a/src/chap03/BootNonRootRTOS.md b/src/chap03/BootNonRootRTOS.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/BootRoot.md b/src/chap03/BootRootLinux.md similarity index 97% rename from src/chap04/BootRoot.md rename to src/chap03/BootRootLinux.md index 15e6160..6878da5 100644 --- a/src/chap04/BootRoot.md +++ b/src/chap03/BootRootLinux.md @@ -1,4 +1,4 @@ -# 如何启动Root Linux +# 如何启动 Root Linux ## QEMU diff --git a/src/chap03/CMDTools.md b/src/chap03/CMDTools.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap03/VirtIOUseage.md b/src/chap03/VirtIOUseage.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap03/subchap01/PassThrough.md b/src/chap03/subchap01/PassThrough.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap03/subchap01/ZoneConfig.md b/src/chap03/subchap01/ZoneConfig.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/BootAndRun.md b/src/chap04/BootAndRun.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/MemVirtualization.md b/src/chap04/MemVirtualization.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/Structure.md b/src/chap04/Structure.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap01/ARMVirtualization.md b/src/chap04/subchap01/ARMVirtualization.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap01/CPUVirtualization.md b/src/chap04/subchap01/CPUVirtualization.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap01/LoongArchVirtualization.md b/src/chap04/subchap01/LoongArchVirtualization.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap01/PerCPU.md b/src/chap04/subchap01/PerCPU.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap01/RISCVirtualization.md b/src/chap04/subchap01/RISCVirtualization.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap02/ARM-GIC.md b/src/chap04/subchap02/ARM-GIC.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap02/InterruptVirtualization.md b/src/chap04/subchap02/InterruptVirtualization.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap02/LoonArch-Controller.md b/src/chap04/subchap02/LoonArch-Controller.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap02/RISC-AIA.md b/src/chap04/subchap02/RISC-AIA.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap02/RISC-PLIC.md b/src/chap04/subchap02/RISC-PLIC.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap03/IO-Virtualization.md b/src/chap04/subchap03/IO-Virtualization.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap03/IOMMU/ARM-SMMU.md b/src/chap04/subchap03/IOMMU/ARM-SMMU.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap03/IOMMU/IOMMU-Define.md b/src/chap04/subchap03/IOMMU/IOMMU-Define.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap03/IOMMU/RISC-IOMMU.md b/src/chap04/subchap03/IOMMU/RISC-IOMMU.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap03/PCI-Virtualization.md b/src/chap04/subchap03/PCI-Virtualization.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap03/VirtIO/BlockDevice.md b/src/chap04/subchap03/VirtIO/BlockDevice.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap03/VirtIO/ConsoleDevice.md b/src/chap04/subchap03/VirtIO/ConsoleDevice.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap03/VirtIO/GPUDevice.md b/src/chap04/subchap03/VirtIO/GPUDevice.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap03/VirtIO/NetDevice.md b/src/chap04/subchap03/VirtIO/NetDevice.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap03/VirtIO/VirtIO-Define.md b/src/chap04/subchap03/VirtIO/VirtIO-Define.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap04/HyperCall.md b/src/chap04/subchap04/HyperCall.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap04/subchap04/ManageTools.md b/src/chap04/subchap04/ManageTools.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap05/Planning.md b/src/chap05/Planning.md new file mode 100644 index 0000000..e69de29 diff --git a/src/chap06/DesignOverview.md b/src/chap06/DesignOverview.md deleted file mode 100644 index 0e7ed07..0000000 --- a/src/chap06/DesignOverview.md +++ /dev/null @@ -1 +0,0 @@ -# 设计概述 diff --git a/src/chap07/TreeExplanation.md b/src/chap07/TreeExplanation.md deleted file mode 100644 index de8cce3..0000000 --- a/src/chap07/TreeExplanation.md +++ /dev/null @@ -1,37 +0,0 @@ -# 文件树解释 -hvsior 项目的文件树如下所示 - -```bash -├── driver # hvsior 实现的驱动 -├── images # 存放各个平台的镜像 -│ ├── aarch64 -│ │ ├── bootloader # 存放启动引导程序 -│ │ ├── devicetree # 存放设备树 -│ │ ├── kernel # 存放内核 -│ │ └── virtdisk # 存放根文件系统 -│ │ └── rootfs -│ └── riscv64 # 同上 -│ └── rCore-Tutorial-v3 -├── scripts # 存放编译脚本 -├── src # hvsior 源码 -│ ├── arch # 架构相关代码 -│ │ ├── aarch64 -│ │ └── riscv64 -│ ├── device # 设备相关代码 -│ │ ├── irqchip -│ │ │ ├── gicv3 -│ │ │ └── plic -│ │ └── uart -│ ├── hypercall # 超级调用相关代码 -│ ├── memory # 内存管理相关代码 -│ └── platform # 平台相关代码 -├── tools # 工具 -│ └── includes # 头文件 -└── vendor # 第三方代码 - └── fdt - ├── dtb - ├── dts - ├── examples - └── src - -``` \ No newline at end of file