摘要: Linux源码版本: 5.3.0 相关数据结构 #define KVM_DEFAULT_PLE_GAP 128 // ple_gap #define KVM_VMX_DEFAULT_PLE_WINDOW 4096 //ple_window // ple_window的增大系数,每次调用grow_pl 阅读全文
posted @ 2021-02-24 10:53 EwanHai 阅读(1048) 评论(0) 推荐(0) 编辑
摘要: Linux源码版本: 5.3.0 guest os中的kvmclock驱动 kvmclock_init()函数主要做了以下几件事: 确定了各vcpu要使用的MSR 将各vcpu在kvmclock中实际使用的数据结构pvclock_vsyscall_time_info的物理地址利用write_msr写 阅读全文
posted @ 2021-02-24 10:51 EwanHai 阅读(1373) 评论(0) 推荐(0) 编辑
摘要: KSM: Kernel SamePage Merging 内核同页合并 简介 KSM允许内核在两个或多个进程(包括虚拟客户机)之间共享完全相同的内存页. KSM让内核扫描检查正在运行中的程序,并比较他们的内存,如果发现他们有内存区域或内存页是完全相同的,就将多个相同的内存合并为一个单一的内存页,并将 阅读全文
posted @ 2021-02-24 10:42 EwanHai 阅读(660) 评论(0) 推荐(0) 编辑
摘要: 相关SDM章节: 27.2.3- Information About NMI Unblocking Due to IRET 最近收到同事发来的一个问题,即: VMCS 中的 Guest Interruptibility State field 的 bit3-Blocking by NMI 和 VM- 阅读全文
posted @ 2021-02-08 16:56 EwanHai 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 2020年学习总结 虽然今天已经是2021.1.6了,但2020年的全部工作到今天才全部做完。 2020年,主要的工作: 看完了《Understanding the Linux Kernel》 学习VFIO相关代码,其中牵涉了PCI/PCIE的相关知识 看了一些中断虚拟化的代码和资料 回头看这些工作 阅读全文
posted @ 2021-01-06 15:03 EwanHai 阅读(217) 评论(0) 推荐(1) 编辑
摘要: 本节讲学习如何编译和链接C源程序,以及查看最终文件与汇编代码的异同. 关键字:C语言; 目标代码;链接器;反汇编 目标:学习使用C语言编写与汇编语言功能相同的代码 在上一节中我们创建了平台无关的编译器,本节我们将使用该编译器的一些功能来编译、链接C源程序. 本节没有什么理论知识,主要是熟悉编译器的一 阅读全文
posted @ 2020-11-19 10:33 EwanHai 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 本节将学习如何使用汇编完成一个32bit模式下的全局描述符表(GDT) 关键字: GDT 目标:用汇编实现GDT结构 理论基础 之前的实模式下,我们用的寻址方法就是段地址 << 4 + 偏移地址,但是随着计算机理论的发展,人们发现,如果不在各种地址段之间加上访问权限的限制,计算机数据的安全性难以保障 阅读全文
posted @ 2020-11-19 10:32 EwanHai 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 终于要进入32-bit模式了,本节将完整的学习从boot sector进入32bit模式的流程 关键字: 中断; 流程 目标:进入32-bit保护模式并且测试前两节中学习到的(GDT设置,VGA打印功能)保护模式知识. 理论基础 进入32-bit保护模式需要进行以下几个步骤: 关闭所有中断(不响应所 阅读全文
posted @ 2020-11-19 10:32 EwanHai 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 本节将学习如何为特定目标平台创建专属编译器 关键字: 交叉编译器 目标: 创建一个可以用来建立我们的kernel的开发环境 理论基础 鉴于以后我们将使用C语言编辑我们的操作系统核,因此需要对开发环境进行新的布置,也就是创建一个交叉编译器. 为什么要搞一个交叉编译器? 事实上类Unix系统的编译环境已 阅读全文
posted @ 2020-11-19 10:32 EwanHai 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 学习如何在32-bit模式下不借助BIOS的0x10号中断打印字符串 关键字:32-bit保护模式; VGA; 视频存储区域 目标: 学会在32-bit保护模式下打印字符串 理论基础 32-bit保护模式 32-bit保护模式设计的内容非常多,十篇博客也写不完,因此这里只对32-bit保护模式的要点 阅读全文
posted @ 2020-11-18 17:03 EwanHai 阅读(137) 评论(0) 推荐(0) 编辑