原创 Intel VT-d(3)- 中斷重映射

VT-d硬件中除了包含DMA重映射硬件外,也會包含中斷重映射硬件,該中斷重映射單元讓系統軟件能夠對I/O設備產生的中斷(包括從I/O APIC發送過來的中斷,I/O設備產生的以MSI、MSI-X形式傳遞的中斷,不包含中斷重映射硬件本身產生

原创 Intel VT-d(4)- Interrupt Posting

Interrupt-posting是VT-d中中斷重映射功能的一個擴展功能,該功能也是針對可重映射的中斷請求。Interrupt-posting功能讓一個可重映射的中斷請求能夠被暫時以一定的數據形式post(記錄)到物理內存中,並且可選擇

原创 Linux啓動過程 - 從MBR到第一個應用

原文鏈接:https://www.ibm.com/developerworks/library/l-linuxboot/ 在最早期的時候,引導一臺計算機意味着需要給計算機提供一個帶有啓動程序的紙帶或者需要手動調整前端儀表盤中的地址/數據/

原创 教你如何將電腦瞬間關掉

關閉一臺電腦的最簡單方法就是按電源鍵,或者點擊操作系統(如Windows)的關機按鈕,當觸發該操作時,操作系統將會將自己關閉,然後斷掉主板的電源。更暴力一點的就是長按電源鍵,甚至拔電源。 本文將介紹一種通過軟件的方式,將電腦瞬間關閉。 以

原创 qemu虛擬機的關機方式

qemu虛擬機的關閉方式主要包括如下幾種方式: 通過qemu monitor的system_powerdown命令進行關閉, 在libvirt對qemu進行管理的情況下,通過virsh shutdown命令進行關閉。 在虛擬機內使用Gue

原创 qcow2文件的snapshot管理

qcow2是qemu虛擬機中特別常用的鏡像文件格式,QCOW即Qemu Copy-On-Write寫時拷貝,後面的2即爲版本,因爲在qcow2出現之前還有qcow格式的鏡像文件。從字面上理解,qcow/qcow2的文件組織形式應該是建立在

原创 QEMU中VNC Server架構分析

QEMU的入口main函數所在的源文件vl.c中針對QEMU_OPTION_vnc對vnc參數進行解析,vnc選項支持的具體參數在ui/vnc.c中進行定義,如下所示: static QemuOptsList qemu_vnc_opts

原创 Intel x86 CPU中斷和異常的定義和分類

中斷通常被定義爲一個打斷CPU芯片指令執行的事件,該事件對應到對應到CPU芯片內部或者外部的電路產生的電子信號。 中斷信號可以被劃分爲同步中斷和異步中斷: 同步中斷,該類型中斷由CPU的控制單元在執行指令的時候產生,並且是在當前指令執行完

原创 什麼是CPU Die?

在看CPU相關的手冊的時候,經常會看到Die的字樣,剛開始不太理解是什麼意思,感覺有點像是一顆CPU芯片,但是這樣理解還是不夠準確。 後來各種查找,終於找到了Die的準確意思,原來Die是處理器在生產過程中引入的概念。 總的來說,Die或

原创 Intel VT-d(5)- DMAR表組織結構

在系統上電的時候,BIOS/UEFI負責檢測並初始化重定向硬件(即VT-d硬件),爲其分配相應的物理地址,並且以ACPI表中的DMAR(DMA Remapping Reporting)表的形式告知VT-d硬件的存在。 DMAR的格式如下所

原创 VT-d(4)- Interrupt Posting

Interrupt-posting是VT-d中中斷重映射功能的一個擴展功能,該功能也是針對可重映射的中斷請求。Interrupt-posting功能讓一個可重映射的中斷請求能夠被暫時以一定的數據形式post(記錄)到物理內存中,並且可選擇

原创 VT-d(3)- 中斷重映射

VT-d硬件中除了包含DMA重映射硬件外,也會包含中斷重映射硬件,該中斷重映射單元讓系統軟件能夠對I/O設備產生的中斷(包括從I/O APIC發送過來的中斷,I/O設備產生的以MSI、MSI-X形式傳遞的中斷,不包含中斷重映射硬件本身產生

原创 Intel VT-d(2)- DMA重定向

DMA重定向硬件一般位於Root Complex中,Root-Complex是PCIe系統中引入的概念,它將CPU、內存子系統和PCIe子系連接起來。如下圖所示: 而Root Complex則經常被集成到CPU芯片上、MCH(Memor

原创 QEMU虛擬機中如何安裝Virtio驅動

在計算機虛擬化中,Virtio是一種半虛擬化解決方案,即需要對Guest OS進行一定的修改(安裝相應的驅動程序),能夠對虛擬機的I/O性能進行大幅的提升。在QEMU+KVM的環境中,Virtio的後端驅動由QEMU程序提供,不需要額外的

原创 Intel VT-d(1)- 簡介

Intel VT-d的全稱是Intel Virtualization Technology for Direct I/O,它是Intel虛擬化技術的一部分,主要針對的是I/O子系統,它的實現主要是通過在硬件上引入重定向單元,該硬件重定向單