13 星空探索

尚未进行身份认证

我要认证

linux

等级
TA的排名 5k+

ARMv8 ELx VBAR

VBAR_EL1, Vector Base Address Register (EL1)Holds the vector base address for any exception that is taken to EL1.VBAR_EL2, Vector Base Address Register (EL2)Holds the vector base address f...

2019-11-25 19:00:55

EXT4 MAP

const struct file_operations ext4_file_operations = { .llseek = ext4_llseek, .read_iter = ext4_file_read_iter, .write_iter = ext4_file_write_iter, .unlocked_ioctl = ext4_...

2019-08-30 09:10:54

Linux softirq

static struct softirq_action softirq_vec[NR_SOFTIRQS];DEFINE_PER_CPU(struct task_struct *, ksoftirqd);const char * const softirq_to_name[NR_SOFTIRQS] = { "HI", "TIMER", "NET_TX",...

2019-08-22 20:58:58

QCOM KERNEL log for DTB

[ 0.000000] Initializing cgroup subsys cpu[ 0.000000] Initializing cgroup subsys cpuacct[ 0.000000][ 0.000000] Boot CPU: AArch64 Processor [410fd034][ 0.000000] Machine: Qualcomm T...

2019-08-16 09:54:02

ARM64 DTS 处理-早期处理

setup_arch() // arch/arm64/kernel/setup.c --> setup_machine_fdt(__fdt_pointer); 检查DTB是否正确,以及早期配置系统 --> unflatten_device_tree();对DTB进行解析,填充设备树结构下内核针对设备树定义的struct device_node类型对象初始化。st...

2019-08-15 19:45:32

Linux ramfs, rootfs and initramfs

ramfs, rootfs and initramfs October 17, 2005 Rob Landley <rob@landley.net> =============================What is ramfs?--------------Ramfs is a very simple filesystem that exports Linux's disk...

2019-08-09 10:34:54

ext4 inode 分配

2019-08-08 11:31:09

驱动调用栈

[ 14.873268] [<ffffff800808c078>] dump_backtrace+0x0/0x4b0[ 14.881364] [<ffffff800808c53c>] show_stack+0x14/0x1c[ 14.888952] [<ffffff80087579d8>] dump_stack+0x78/0x98[ 14....

2019-08-07 13:36:31

ARM GICv3 研究学习 中断状态

对于GICv3来说,每个中断都关联了一个状态机,其用于描述每个中断的状态。GICv3 提供的每个中断的中断状态机Inactive:描述中断没有到来的状态,这里的定义是,不是处于active和pending状态。Pending:中断信号已经被asserted,即中断已经到来,并且被硬件识别到,这里是指GICv3的硬件识别到,这个可以是硬件产生或者软件产生的。此时处于等待目标cor...

2019-07-19 11:11:29

kernel_log之 version

Linux kernel log 版本与编译信息一般利用版本和编译信息用于确定每次修改内核代码后,了解本次运行是否是编译的kernel 镜像。上面这个打印位于start_kernel 函数的下面代码中:asmlinkage __visible void __init start_kernel(void){ char *command_line; char *afte...

2019-07-19 10:44:31

irq_enter

/** Enter an interrupt context.*/void irq_enter(void){ rcu_irq_enter(); if (is_idle_task(current) && !in_interrupt()) { /* * Prevent raise_softirq from needlessl...

2019-03-20 18:48:17

Watchdog

A watchdog is a fixed-length counter that enables a system to recover from an unexpected hardware or software catastrophe. Unless the system periodically resets the watchdog timer, the watchdog timer ...

2018-09-11 14:05:42

Linux 子进程pgd处理

进程创建 fork函数运行。copy_mm()--> dup_mmstatic struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p, struct user_namespace *user_ns){ mm->mmap = NULL; mm->mm_rb = RB_ROOT;

2018-02-07 10:56:58

Linux 内核页表初始化

前面我们讨论了页描述符对象分配,以及初始化。接下来我们再来了解内核页表建立初始化处理。针对ARM64进行。start_kernel --> setup_arch --> paging_init()void __init paging_init(void){ phys_addr_t pgd_phys = early_pgtable_alloc(); 分配页全局目录表地址

2018-02-07 10:31:24

Linux初始化页描述符对象

在前面我们讨论了内存节点node_mem_map成员的初始化。了解到此成员其实是以struct page为单位的数组,数组大小跟此节点内存大小相关,那么这些描述符是何时初始化呢,当前主要是在mem_init函数进行设置。start_kernel() --> mm_init --> mem_init()需要注意的是mem_init是跟体系结构相关的函数,比如针对ARM64的实现函数:

2018-02-07 10:12:05

Linux内存管理之mem_map对象

在linux内核中,所有的物理内存都用struct page结构来描述,这些对象以数组形式存放,而这个数组的地址就是mem_map。内核以节点node为单位,每个node下的物理内存统一管理,也就是说在表示内存node的描述类型struct pglist_data中,有node_mem_map这个成员,其针对平坦型内存进行描述(CONFIG_FLAT_NODE_MEM_MAP),与此相反的是S

2018-02-07 09:53:46

Linux printk

printk("A0:%lld\n",  ktime_to_ns(ktime_get())); printk("A1:%lld\n",  ktime_to_ns(ktime_get()));[   40.059130] A0:40056438422[   40.061813] A1:40059121391[   40.064527] A0:40061834828

2018-01-24 09:41:14

ext4 节点inode.i_block描述

The Contents of inode.i_block Depending on the type of file an inode describes, the 60 bytes of storage in inode.i_block can be used in different ways. In general, regular files and directories will

2018-01-09 13:49:24

ext4 节点表

Inode Table In a regular UNIX filesystem, the inode stores all the metadata pertaining to the file (time stamps, block maps, extended attributes, etc), not the directory entry. To find the informatio

2018-01-09 13:46:40

ext5 块和节点表

Block and inode Bitmaps The data block bitmap tracks the usage of data blocks within the block group. The inode bitmap records which entries in the inode table are in use. As with most bitmaps, one bi

2018-01-09 13:43:19

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。