- 博客(192)
- 收藏
- 关注
原创 ARM64汇编
MRS/MSRMRS功能:将状态寄存器的内容传送至通用寄存器。MRS{<条件码> Rd,CPSR}SPSR例子:MRS R0,CPSR //将CPSR的内容传送到R0MRS 目的寄存器 源寄存器MSR(state->reg)功能: 将通用寄存器的内容传送至状态寄存器。MSR CPSR_c,R0 //将R0中内容传送到CPSR_c。MSR 源寄存器 目的寄存器tbz/tbnztbztbz branch zeo. 测试位为0,则跳转。tbz w24, #0x6,
2020-12-21 13:56:57
5595
原创 内核函数-assembler.h分析
概述主要介绍4.14内核的assembler.h的汇编函数。ldr_this_cpu dst,sym,tmp249 /* 250 * @dst: Result of READ_ONCE(per_cpu(sym, smp_processor_id())) 251 * @sym: The name of
2020-12-21 10:34:17
428
原创 shell源码分析之一
概述现在需要分析,按下Ctrl+c,整个shell的处理流程。信号首先看下trap结构体:1272 typedef struct trap { 1273 const char *name; /* short name */ 1274 const char *mess;
2020-09-15 13:29:29
731
原创 imx8-auto代码下载
错误下载的过程中,遇到下面错误:Checking out projects: 1% (8/698) platform/compatibility/cdderror: Cannot checkout platform/cts: ManifestInvalidRevisionError: revision refs/tags/android-9.0.0_r47 in platform/cts not found
2020-09-06 08:17:18
384
1
原创 新硬盘操作
1.分区fdisk /dev/sdbnp1w2.挂载与修改目录权限sudo chown -R tom:tom /mediasudo mount -o remount,rw /media/tom/jerry
2020-05-31 14:35:00
189
原创 Build android emulator
1.概述现在需要查看emulator如何加载文件系统的,需要编译android emulator source。2. 看如何编译123
2020-04-15 13:32:41
955
原创 UML之分区挂载之二
流程virtblk_probe(struct virtio_device *vdev) ----->set_disk_ro(vblk->disk, 1)--------->set_disk_ro(struct gendisk *disk, int flag)----->set_disk_ro_uevent(disk, flag);
2020-04-05 11:50:45
527
原创 C++多态-初始化变量之init-firststage
结构关系基类FirstStageMount.基类static std::unique_ptr Create(),就是返回类型为FirstStageMount类型。 66 class FirstStageMount { 67 public: ...
2020-03-25 09:12:10
1557
原创 Android文件系统加载之一
1. fstab变量在文件core/init/first_stage_mount.cpp中:229 std::unique_ptr<FirstStageMount> FirstStageMount::Create() { 230 auto fstab = ReadFirstStageFstab(); ...
2020-03-23 20:36:20
1756
1
原创 Android-emulator-kernel
概述emulator启动的内核和模块在哪里?是否可以编译替换?内核通过emulator -verbose,可以看出emulator启动的内核tom@tom-linuxer:~/work/aosp-x86/aosp/out/target/product/generic_x86_64$ file kernel-ranchu kernel-ranchu: Linux kernel x86 bo...
2020-03-22 09:03:14
1390
原创 emulator使用之一
1. 概述原来计划是从windows创建一个AVD,然后放到ubuntu下,用编译出来的system.img来,没有弄成功。2. 编译123456
2020-03-19 15:17:11
378
原创 android-ubuntu-sdk
1.安装jdksudo apt updatesudo apt install default-jdk查看java版本tom@tom-linuxer:~/work/android-sdk$ java -versionopenjdk version "11.0.6" 2020-01-14OpenJDK Runtime Environment (build 11.0.6+10-post-...
2020-03-18 20:33:27
229
原创 Android10 uml调试之一
init函数init第一阶段的会被编译到ramdisk.img中,init第二阶段会被编译进system.img中。
2020-03-17 19:26:09
807
原创 windows nfs搭建
修改配置文件D:\VM\share -public -name:nfs共享文件夹目录 显示的名字2. 启动在开始目录下,找到安装的软件。找到“重启所有服务”的位置,以管理员权限执行这个服务。注:如果不以管理员权限运行,会出错。3. 挂载mount -t nfs -o nolock 192.168.0.3:/nfs /mnt...
2020-03-10 13:12:54
376
原创 Android LOG使用
Android LOGframeworks/base/cmds/app_process/app_main.cpp:19:9: error: 'LOG_NDEBUG' macro redefined [-Werror,-Wmacro-redefined]#define LOG_NDEBUG 0 ^system/core/liblog/include/log/log_main.h...
2020-03-08 09:53:51
734
原创 uml问题解决
错误记录logd.auditd: startlogd.klogd: 6841906688type=1400 audit(1583456931.813:110): avc: denied { dac_read_search } for pid=496 comm="Binder:496_1" capability=2 scontext=u:r:vold:s0 tcontext=u:r:vold:...
2020-03-06 09:23:06
1882
原创 percpu变量
1. 作用2.6内核上一个新的特性就是per-CPU变量。顾名思义,就是每个处理器上有此变量的一个副本。当创建一个per-cpu变量时,系统中的每一个处理器都会拥有该变量的独有副本。由于每个处理器都是在自己的副本上工作,所以对per-cpu变量的访问几乎不需要加锁。cpu拥有是不是cache啊? 说白了percpu变量,就是一个变量,CPU可以很快的访问,安全的访问它。2. 接口2.1 ...
2020-02-25 16:21:42
477
原创 ps命令stat段含义
1.STAT字段进状态意义D不可中断 Uninterruptible sleep (usually IO)R正在运行,或在队列中的进程S处于休眠状态T停止或被追踪Z僵尸进程W进入内存交换(从内核2.6开始无效)X死掉的进程<高优先级N低优先级L有些页被锁进内存s包含子进程+...
2020-02-24 17:04:32
681
原创 Android的soog_ui的调试(go语言)
源码soog_ui程序的源码的位置在:build/soong/cmd/soong_ui目录下,有main.go和Android.bp。
2020-02-22 14:35:28
2250
原创 无法加载do_mount_all函数
函数ExecuteOneCommand函数:std::queue<const Action*> current_executing_actions_; 58 void ActionManager::ExecuteOneCommand() { 59 // Loop through the e...
2020-02-12 17:09:01
313
原创 Init函数映射
KeywordMaptemplate <typename Function> class KeywordMap{ public: ...
2020-02-10 10:16:16
283
转载 [转] c++11中的std::tuple元组和std::tie
功能简介std::tuple是c++11提供的新模板类,在很多流行语言都有对应的实现,一般翻译为元组。使用它可以把多个不同类型的变量组合成一个对象。简单示例以下是std::tuple的简单示例(来源:https://en.cppreference.com/w/cpp/utility/tuple)#include <tuple>#include <iostream>...
2020-02-02 14:21:59
713
1
原创 mount_all过程
BuiltinFunctionMap在core/init/builtins.h中using BuiltinFunction = std::function<int(const std::vector<std::string>&)>; class BuiltinFunctionMap : public KeywordMap<BuiltinFun...
2020-02-01 21:15:44
1134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人