-
The function that never ran: chasing a 4-byte bug in CPU7B's fetch unit
SoC2 can finally boot Linux 5.14 with the MMU on and run a small interactive shell as /init. Getting there took a while, and one bug took longer than all the others put together. This post is about that one. The symptom Boot, wait for the prompt, type ps: soc2:/#...
-
rootfs_init_fs_context
在执行到alloc_fs_context() /** * alloc_fs_context - Create a filesystem context. * @fs_type: The filesystem type. * @reference: The dentry from which this one derives (or NULL) * @sb_flags: Filesystem/superblock flags (SB_*) * @sb_flags_mask: Applicable members of @sb_flags * @purpose: The purpose that this configuration shall be used for. * * Open...
-
Loongarch32 Linux phys virt address
现在是到这了,问题是__request_resource第2个参数地址有问题,0xa2800000。物理内存从dtb里写的就是从0x2800000开始,前面的a是多出来的。 这个第二个参数是memblock_alloc()分配出来的。 for_each_mem_range(i, &start, &end) { struct resource *res; res = memblock_alloc(sizeof(struct resource), SMP_CACHE_BYTES); if (!res) panic("%s: Failed to allocate %zu bytes\n", __func__, sizeof(struct resource)); res->start = start; /* * In memblock, end points to the first byte after the * range while in resourses, end points to the last...