setup_arch函数主要是处理cpu体系相关架构,我们是arm64平台,这个函数处理arm64的一些初始化,主要包括: 初始化内核的mm结构体的代码段、数据段和栈的结束地址; 调用函数early_fixmap_init进行早期固定映射初始化; 调用函数early_ioremap_init进行早期io映射初始化; 调用函数setup_machine_fdt解析fdt中内存,加入到memblock...
接着上一篇《Linux内核源码分析之setup_arch (一)》继续分析,本文首先分析arm_memblock_init函数,然后分析内核启动阶段的是如何进行内存管理的。 2. arm_memblock_init 该函数的功能比较简单,主要就是把meminfo中记录的内存条信息添加到memblock.memory中,然后把内核镜像所在内存区域添加到memblock.reserved中,arm_mm_me...
接着上一篇《Linux内核源码分析之setup_arch (一)》继续分析,本文首先分析arm_memblock_init函数,然后分析内核启动阶段的是如何进行内存管理的。 2. arm_memblock_init 该函数的功能比较简单,主要就是把meminfo中记录的内存条信息添加到memblock.memory中,然后把内核镜像所在内存区域添加到memblock.reserved中,arm_mm_me...
接着上一篇《Linux内核源码分析之setup_arch (一)》继续分析,本文首先分析arm_memblock_init函数,然后分析内核启动阶段的是如何进行内存管理的。 2. arm_memblock_init 该函数的功能比较简单,主要就是把meminfo中记录的内存条信息添加到memblock.memory中,然后把内核镜像所在内存区域添加到memblock.reserved中,arm_mm_me...
Arch命令:直接输出架构方式。aarch64 就是 ARM 架构,x86_64 就是 X86 架构 arch uname -a 命令:输出中有关键词 aarch64 就是 ARM 架构,有关键词 x86_64 就是 X86 架构 uname lscpu:查看CPU信息,其中Architecture就是指架构 lscpu 在docker中,x86_64是以AMD64显示,说明它们都是指一个架构 ...
1、arch目录:这个目录是和架构有关的目录,比如 arm、arm64、avr32、x86 等等架构。每种架构都对应 一个目录,在这些目录中又有很多子目录,比如 boot、common、configs 等等。arch/arm 的一部分子目录,这些子目录用于控制系统引导、系统调用、动态调频、主频设置等。arch/arm/configs 目录是不同平台的默认配置文件:...
cmp x24, #ESR_ELx_EC_SVC64 // SVC in 64-bit state b.eq el0_svc el0_sync 如果是发生了系统调用,调用el0_svc: //arch/arm64/kernel/entry.S el0_svc: gic_prio_kentry_setup tmp=x1 mov x0, sp bl el0_svc_handler b ret_to_user ...
kdump 大小(默认 128 MB) 一般是不开启 kdump,输入 1 之后回车,然后再输入 c 继续 网络配置 输入7 回车 配置主机名 配置eth0 网卡 主机名看自己需求要不要配置,我这就输入 2 配置网卡了 配置静态 ipv4 的 ip 地址或者 dhcp 模式(默认 dhcp)
接着上一篇《Linux内核源码分析之setup_arch (一)》继续分析,本文首先分析arm_memblock_init函数,然后分析内核启动阶段的是如何进行内存管理的。 2. arm_memblock_init 该函数的功能比较简单,主要就是把meminfo中记录的内存条信息添加到memblock.memory中,然后把内核镜像所在内存区域添加到memblock.reserved中,arm_mm_me...
接着上一篇《Linux内核源码分析之setup_arch (一)》继续分析,本文首先分析arm_memblock_init函数,然后分析内核启动阶段的是如何进行内存管理的。 2. arm_memblock_init 该函数的功能比较简单,主要就是把meminfo中记录的内存条信息添加到memblock.memory中,然后把内核镜像所在内存区域添加到memblock.reserved中,arm_mm_me...