1. Device Tree 地址映射过程

    在Linux 的boot 阶段,Devie tree 地址是通过bootloader 传给kernel, kernel 在函数preserve_boot_args 保存在 x21这个寄存器中。

    但是内存相关的信息是在Device Tree里面描述的,所以Device Tree的使用是在内存管理准备好之前。 所以Device Tree的映射过程相对来说有些特殊。

    在Arm64平台,它 …

    read more

    comments

  2. Linux booting 串口

    在kernel booting的早期,肯定是希望尽快把一些信息输出的串口,能够尽早知道kernel boot 到什么阶段。 所以一般在u-boot中,在FVP平台上有如下bootargs

    bootargs=console=ttyAMA0 earlycon=pl011,0x1c090000 root=/dev/vda1 …
    read more

    comments

  3. Arm64 Linux MTE 使能

    在Arm Base FVP平台上,linux的默认配置是打开了MTE的,也就是:

    CONFIG_ARM64_AS_HAS_MTE=y
    CONFIG_ARM64_MTE=y
    

    当运行Base FVP的时候加上如下参数:

    -C cluster0.memory_tagging_support_level=4   \
    -C cluster1.memory_tagging_support_level=4   \
    

    这个时候运行Linux kernel的时候会出现如下错误:

    [    0.000000] CPU features: detected: Virtualization Host Extensions
    [    0.000000] CPU features: detected: Memory Tagging Extension
    [    0 …
    read more

    comments