原创 2020年度計劃

1 qemu: 學習acpi, 寫一個goldfish_pipe設備,分別作爲pci, sysbus ,virtio 設備實現 2 嵌入式linux : arm 2440 開發板學習(韋東山視頻最少學習1期) 3 rtos :

原创 qemu內存模型(5)  GPA到MemoryRegionSection

gpa 是指qemu虛擬機的guest端的cpu看到的內存地址空間。 qemu的模型可以參考前邊的四篇文章 qemu 內存模型(1)—文檔 qemu內存模型(2) 實現說明 qemu內存模型(3) 內存佈局初始化 qemu內存模型

原创 qemu總線系統一 -----bus

在計算機世界中存在衆多的總線都叫做bus, 比如pci總線,isa總線,這些總線將系統設備和cpu連接在一起,用於設備之間,設備和cpu之間進行通信。 另外總線之間又可以通過各種轉換器相連,這種轉換器在計算機系統中被稱之爲橋,比如

原创 qemu內存模型(2) 實現說明

在分析qemu的內存模型具體代碼前我們先來說明一下 qemu要實現的內存管理是什麼? 主要是兩部分功能 1 gva->gpa->hva, gva代表guest的虛擬內存地址, gpa代表guest的物理地址, 而hva代表宿主機的

原创 qemu內存模型(3) 內存佈局初始化

以i386爲例 static void memory_map_init(void) { system_memory = g_malloc(sizeof(*system_memory)); memory_reg

原创 kset說明

1 概述     前面我們分析了kobject系統,知道kobjec對應於sysfs中的一個目錄, 屬性對應於sysfs中的普通目錄, 屬性可以用屬性組來進行分組,方便管理。那麼kobject如何分組呢,這就引出了kset,對ks

原创 qemu內存模型(4) 內存渲染過程(MemoryRegion到FlatView)

/* Render a memory region into the global view. Ranges in @view obscure * ranges in @mr. */ 622 static void ren

原创 vfork文檔

VFORK(2) NAME vfork - create a child process and block parent vfork - 創建一個子進程並阻塞父進程 SYNOPSIS #include <sys

原创 wine安裝python 2.7

wine msiexec /i python-2.7.15.amd64.msi wine 1.6版本安裝python 2.7 提示fixme:msi:ControlEvent_SpawnWaitDialog Doing Nothi

原创 qemu總線系統(二) sysbus

qemu 支持的主版以Intel 440FX PMC(PCI and Memory Controller)爲北橋芯片,PIIX(PCI ISA Xcelerator)爲南橋芯片構成相應的芯片組。 440FX PMC的基本結構圖如

原创 kobject系統分析

1 概述 要說kobject不得不說sysfs sysfs 是一個最初基於 ramfs 且位於內存的文件系統。它提供導出內核 數據結構及其屬性,以及它們之間的關聯到用戶空間的方法。 sysfs 始終與 kobject 的底層結構

原创 art虛擬機打開日誌

frameworks/base/core/jni/AndroidRuntime.cpp int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygot

原创 Linux下爲什麼有platform總線

首先你要知道總線是幹什麼的? 這裏就不粘貼各種百科中的定義了。 說一下我的理解吧 1 總線用於設備間傳輸數據,爲數據傳輸提供載體和協議。 2 總線用於給新設備提供接口。 傳輸數據很好理解,那麼怎麼提供接口呢,這就要提到總線的控制器

原创 記錄一次解決誤刪python3/NetworkManager導致的ubuntu桌面無法啓動問題

起因         由於某種某種原因,在公司工作的電腦(ubuntu系統)上安裝python3.6, 之前安裝過python3.4, python3.5,以及自帶的python2.7. 安裝完python3.6之後,將pytho

原创 Android 動態鏈接器-ELF文件的加載

VerifyElfHeader elf加載過程其實最主要的部分就是創建程序的段: ElfReader::ElfReader(const char* name, int fd, off64_t file_offset, off64_