logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux x86-64 IOMMU详解(四)——启用Intel IOMMU的配置

BIOS配置在BIOS中,需要启用Intel VT和VT-d。VT是Virtualization Technology的缩写,而VT-d是Virtualization Technology for Directed I/O的缩写。后者正是Intel IOMMU的别名。

#linux
Linux x86-64 IOMMU详解(五)——Intel IOMMU初始化流程

长图预警!!!下图完整展示了Intel IOMMU的初始化流程,是对本文所有内容的总结。只要看懂这张图,读者就能够完全理解Intel IOMMU的初始化流程。接下来,笔者将按流程图的顺序,结合代码,介绍Intel IOMMU初始化流程的一些关键步骤。图中部分细节,本文可能并未提到,读者可结合代码自行理解。

#linux
使用VS2019配置EDK2安装教程

Win10环境下EDK2的配置流程。图文并茂,非常详细!

文章图片
#windows#visual studio
Linux x86-64 IOMMU详解(三)——Intel IOMMU(硬件IOMMU)的功能与基本原理

本系列的第一篇文章已经提到,IOMMU分别有软件和硬件实现方式。软件IOMMU就是SWIOTLB,上一篇文章已经进行过详尽的介绍。而对于硬件IOMMU,有多个厂商都设计了自己的IOMMU。由于我的开发机器为Intel x86平台,因此接触的是Intel IOMMU。刚开始,我也找过网上很多资料,但是它们要么是基于较旧的Linux内核版本,要么理解不够深入。因此,即使我并没有深入地掌握Intel I

文章图片
#linux#虚拟机
Linux x86-64 IOMMU详解(二)——SWIOTLB(软件IOMMU)

SWIOTLB概述上一篇文章已经提到,IOMMU的核心功能就是,实现在low buffer和high buffer之间的sync,也就是内存内容的复制操作。读者可能会想,内存的复制,在内核中,不就是调用memcpy()函数来实现的吗?没错,这就是本文要介绍的IOMMU的软件实现方式——SWIOTLB。之所以说是软件实现,是因为sync操作在底层正是调用memcpy()函数,这完全是软件实现的。..

文章图片
#linux
在QEMU虚拟机中将Linux内核编译为EFI可执行文件并启动

在QEMU虚拟机中将Linux内核编译为EFI可执行文件并启动

文章图片
#linux
Linux x86-64 IOMMU详解(六)——Intel IOMMU参与下的DMA Coherent Mapping流程

在上一篇文章中,我们详细介绍了Intel IOMMU的初始化流程,并耗费大量笔墨讲述了此过程中Intel IOMMU与SWIOTLB二虎相争的故事。最终,SWIOTLB被禁用,而Intel IOMMU得以保留。现在,所有的DMA操作,都要经由Intel IOMMU了。本文将介绍Intel IOMMU在DMA Coherent Mapping过程中的作用。

#linux
Linux x86-64 IOMMU详解(一)——IOMMU简介

前言近期所做的项目,与Linux内核的IOMMU机制有关,因此自己尝试去了解IOMMU的相关知识。我在网上多方查找,却总觉得是盲人摸象,难以形成一套系统化的知识体系。并且,许多代码是基于Linux v2.x、v3.x内核,而我当前项目是基于较新的Linux 5.5.4内核,有一些代码,乃至实现机制,都发生了根本性的变化。最终,还是决定自己研究代码,终于明白了IOMMU的初始化流程。现撰文分享,希望

#linux
QEMU虚拟机相关概念介绍

前言:本文围绕QEMU,介绍虚拟机相关进阶知识。为更好地理解本文,读者最好能够了解虚拟机的基本概念。

文章图片
#linux
到底了