草庐IT

qemu-aarch

全部标签

AArch32/AArch64系统级内存模型(三)

1.内存系统架构1.1系统级存储系统体系结构的形式  Armv8的a-profile体系结构包括一个虚拟内存系统体系结构(VirtualMemorySystemArchitecture-VMSA),参见----。1.2系统级可见内存属性类型说明Normal这通常用于大容量内存操作,包括读/写和只读操作。系统中大部分内存都是这种类型Device对该种类型的内存进行读写可能具有连带效应(side-effects,指对一个内存位置的读写操作会影响其它内存位置)或者从该种内存中的一个位置装载的值可能随着装载的次数而变化。通常内存映射外设(指使用访问内存的方法来访问的外设)会采用这种内存类型(1)上表中

AArch32/AArch64系统级内存模型(三)

1.内存系统架构1.1系统级存储系统体系结构的形式  Armv8的a-profile体系结构包括一个虚拟内存系统体系结构(VirtualMemorySystemArchitecture-VMSA),参见----。1.2系统级可见内存属性类型说明Normal这通常用于大容量内存操作,包括读/写和只读操作。系统中大部分内存都是这种类型Device对该种类型的内存进行读写可能具有连带效应(side-effects,指对一个内存位置的读写操作会影响其它内存位置)或者从该种内存中的一个位置装载的值可能随着装载的次数而变化。通常内存映射外设(指使用访问内存的方法来访问的外设)会采用这种内存类型(1)上表中

AArch32/AArch64应用程序级内存模型(五)

本文主要为了记录在学习armv8的过程中的一些感悟。由于原文部分章节晦涩难懂,作者参考了网上很多优秀博主的部分章节(可能是直接摘录)并结合自己的理解重新整理了当前这个版本。文中不免有部分章节讲解很浅,后续有新的理解会再来修改补充。更新于2020.02.281.内存类型及属性Armv8提供了以下互斥的内存类型:类型说明Normal这通常用于大容量内存操作,包括读/写和只读操作。系统中大部分内存都是这种类型Device对该种类型的内存进行读写可能具有连带效应(side-effects,指对一个内存位置的读写操作会影响其它内存位置)或者从该种内存中的一个位置装载的值可能随着装载的次数而变化。通常内存

AArch32/AArch64应用程序级内存模型(五)

本文主要为了记录在学习armv8的过程中的一些感悟。由于原文部分章节晦涩难懂,作者参考了网上很多优秀博主的部分章节(可能是直接摘录)并结合自己的理解重新整理了当前这个版本。文中不免有部分章节讲解很浅,后续有新的理解会再来修改补充。更新于2020.02.281.内存类型及属性Armv8提供了以下互斥的内存类型:类型说明Normal这通常用于大容量内存操作,包括读/写和只读操作。系统中大部分内存都是这种类型Device对该种类型的内存进行读写可能具有连带效应(side-effects,指对一个内存位置的读写操作会影响其它内存位置)或者从该种内存中的一个位置装载的值可能随着装载的次数而变化。通常内存

Windows上使用QEMU创建银河麒麟ARM64虚拟机完全手册

“好记性不如烂笔头。”——张溥0x00大纲目录0x00大纲0x01前言0x02物料准备0x03安装QEMU0x04创建虚拟磁盘0x05安装麒麟系统0x06启动和使用虚拟机启动脚本调节分辨率启动SSH服务远程连接文件传输0x07其它事项关于虚拟磁盘格式关于鼠标问题关于卡顿的问题0x01前言最近某个特殊的项目需要用到银河麒麟系统,物理机是arm64架构的,由于架构不同,没办法在x86机器上使用VMware和VirtualBox等软件直接创建虚拟机,条件有限,只能借助支持多种架构的QEMU,期间踩坑无数,特写本文以记录。真正的手把手,我的手都快握到你的鼠标上了。0x02物料准备操作系统镜像:Kyli

Windows上使用QEMU创建银河麒麟ARM64虚拟机完全手册

“好记性不如烂笔头。”——张溥0x00大纲目录0x00大纲0x01前言0x02物料准备0x03安装QEMU0x04创建虚拟磁盘0x05安装麒麟系统0x06启动和使用虚拟机启动脚本调节分辨率启动SSH服务远程连接文件传输0x07其它事项关于虚拟磁盘格式关于鼠标问题关于卡顿的问题0x01前言最近某个特殊的项目需要用到银河麒麟系统,物理机是arm64架构的,由于架构不同,没办法在x86机器上使用VMware和VirtualBox等软件直接创建虚拟机,条件有限,只能借助支持多种架构的QEMU,期间踩坑无数,特写本文以记录。真正的手把手,我的手都快握到你的鼠标上了。0x02物料准备操作系统镜像:Kyli

qemu搭建和运行起来一个linux内核环境

qemu搭建和运行起来一个linux内核环境。参考了博客:https://www.cnblogs.com/edver/p/6001786.htmlhttps://blog.csdn.net/ReCclay/article/details/102319392https://www.cnblogs.com/bigsissy/p/11134802.htmlhttps://www.cnblogs.com/zml-forever/p/6277092.html 1.编译LinuxKernel镜像1#!/bin/sh234#预期工具准备:5#Ubuntu22.04安装qemu全套6sudoaptinstal

qemu搭建和运行起来一个linux内核环境

qemu搭建和运行起来一个linux内核环境。参考了博客:https://www.cnblogs.com/edver/p/6001786.htmlhttps://blog.csdn.net/ReCclay/article/details/102319392https://www.cnblogs.com/bigsissy/p/11134802.htmlhttps://www.cnblogs.com/zml-forever/p/6277092.html 1.编译LinuxKernel镜像1#!/bin/sh234#预期工具准备:5#Ubuntu22.04安装qemu全套6sudoaptinstal

自己动手从零写桌面操作系统GrapeOS系列教程——12.QEMU+GDB调试

学习操作系统原理最好的方法是自己写一个简单的操作系统。写程序不免需要调试,写不同的程序调试方式也不同。如果做应用软件开发,相应的程序调试方式是建立在有操作系统支持的基础上的。而我们现在是要开发操作系统,如何调试操作系统的程序呢?如果操作系统程序直接跑在真机上或虚拟机上(比如VirtualBox)是很难调试的,所以我们在开发阶段操作系统程序主要在虚拟机QEMU上跑,因为QEMU支持调试。当然很多事情都是有利也有弊的,QEMU虽然支持调试,但它的运行效率比VitrualBox要低,所以我们最终的GrapeOS程序是跑在VirtalBox上的。QEMU需要结合GDB才能实现调试,下面我们一起来学习一

自己动手从零写桌面操作系统GrapeOS系列教程——12.QEMU+GDB调试

学习操作系统原理最好的方法是自己写一个简单的操作系统。写程序不免需要调试,写不同的程序调试方式也不同。如果做应用软件开发,相应的程序调试方式是建立在有操作系统支持的基础上的。而我们现在是要开发操作系统,如何调试操作系统的程序呢?如果操作系统程序直接跑在真机上或虚拟机上(比如VirtualBox)是很难调试的,所以我们在开发阶段操作系统程序主要在虚拟机QEMU上跑,因为QEMU支持调试。当然很多事情都是有利也有弊的,QEMU虽然支持调试,但它的运行效率比VitrualBox要低,所以我们最终的GrapeOS程序是跑在VirtalBox上的。QEMU需要结合GDB才能实现调试,下面我们一起来学习一