refactor: update the filesystem from gao

This commit is contained in:
xuedongliang 2024-03-12 16:27:03 +08:00
commit 098a19e614
26 changed files with 312 additions and 172341 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,808 +0,0 @@
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/hardkernel_init.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/hardkernel_init.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kern_init.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/cache_common_ope.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/clock_common_op.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/uart_common_ope.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/core.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/boot.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/boot.S \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/context_switch.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/context_switch.S
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/ivt.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/ivt.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/hab_defines.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/dcd.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/dcd.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/hab_defines.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/soc_memory_map.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/iomux_register.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/registers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/regs.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/imx6q_lowlevel_init.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/imx6q_lowlevel_init.S \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/soc_memory_map.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/cortexA9.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/cortexA9.S
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/ccm_pll.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/ccm_pll.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/soc_memory_map.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/regsccm.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/regs.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/mmio_access.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/regsccmanalog.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/regsgpc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/regsgpt.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/arm/armv7-a/cortex-a9/uart_io_for_imx6q_sabrelite/include/regsuart.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/ccm_pll.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/clock.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/clock.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/ccm_pll.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/gpt.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/timer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/clock_common_op.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/gpt.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/gpt.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/soc_memory_map.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/ccm_pll.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/regsgpt.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/regs.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/mmio_access.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/timer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/arm/armv7-a/cortex-a9/imx6q-sabrelite/include/gpt.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/bootmmu.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/src/bootmmu.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/mmio_access.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/mmu.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/src/mmu.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/cache_common_ope.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/pagetable_attr.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/src/pagetable_attr.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/trap_common.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/trap_common.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/gicv2/gicv2_common_opa.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/mmio_access.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/error_debug.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/error_debug.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/spinlock.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/spinlock.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/vector.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/vector.S
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/trampoline.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/trampoline.S \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/hard_spinlock.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/hard_spinlock.S
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/gicv2_distributer_to_device.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/gicv2/gicv2_distributer_to_device.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/gicv2/gicv2_common_opa.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/mmio_access.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/gicv2/gicv2_registers.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/gicv2_interface_to_core.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/gicv2/gicv2_interface_to_core.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/gicv2/gicv2_common_opa.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/mmio_access.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/gicv2/gicv2_registers.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/uart_common_ope.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/uart_common_ope.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/uart_common_ope.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/imx_uart.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/arm/armv7-a/cortex-a9/uart_io_for_imx6q_sabrelite/imx_uart.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/arm/armv7-a/cortex-a9/uart_io_for_imx6q_sabrelite/include/crm_regs.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/arm/armv7-a/cortex-a9/uart_io_for_imx6q_sabrelite/include/regs_pins.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/arm/armv7-a/cortex-a9/uart_io_for_imx6q_sabrelite/include/iomux_v3.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/arm/armv7-a/cortex-a9/uart_io_for_imx6q_sabrelite/include/regsuart.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/regs.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/mmio_access.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/soc_memory_map.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/arm/armv7-a/cortex-a9/uart_io_for_imx6q_sabrelite/include/imx_uart.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/uart_common_ope.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/iomux_v3.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/arm/armv7-a/cortex-a9/uart_io_for_imx6q_sabrelite/iomux_v3.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/arm/armv7-a/cortex-a9/uart_io_for_imx6q_sabrelite/include/iomux_v3.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/uart/arm/armv7-a/cortex-a9/uart_io_for_imx6q_sabrelite/include/regs_pins.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/soc_memory_map.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/mmio_access.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/cache_common_ope.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/cache_common_ope.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/cache_common_ope.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/L1/arm/cortex-a9/l1_cache.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/L2/pl310/l2_cache.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/l1_cache.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/L1/arm/cortex-a9/l1_cache.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/L1/arm/cortex-a9/l1_cache.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/l2_cache.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/L2/pl310/l2_cache.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/L2/pl310/l2_cache.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/L2/pl310/l2cc_pl310.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/mmio_access.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/actracer.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/actracer_mem_chunk.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/main.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/main.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kern_init.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/load_apps.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/load_apps.S
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/softkernel_init.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/init/softkernel_init.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kern_init.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/kalloc.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/memory/kalloc.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/buddy.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/pagetable.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/memory/pagetable.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/buddy.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/pagetable_level2.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/memory/pagetable_level2.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/buddy.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/memory/buddy.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/buddy.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/object_allocator.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/memory/object_allocator.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/default_irq_handler.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/trap/default_irq_handler.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/clock_irq_handler.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/trap/clock_irq_handler.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/clock/clock_common_op.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/software_irq_handler.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/trap/software_irq_handler.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/task.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/task/task.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/scheduler.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/scheduler.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/task/scheduler.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/scheduler.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/spawn_default_task.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/task/spawn_default_task.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/execelf.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/syscall.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/syscall.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_spawn.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_spawn.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_exec.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_exec.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/execelf.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_yield.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_yield.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_register_as_server.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_register_as_server.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_connect_session.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_connect_session.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_poll_session.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_poll_session.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_close_session.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_close_session.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_register_irq.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_register_irq.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/ipc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_exit.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_exit.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_state.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_state.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/buddy.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/sys_mmap.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/syscall/sys_mmap.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/syscall.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/share_page.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/ipc/share_page.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/cache/cache_common_ope.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/multicores.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/trap_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/arm/armv7-a/cortex-a9/irq_numbers.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/build/softkernel_init.o: \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/init/softkernel_init.c \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kern_init.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/kernel_actracer/actracer_mem_chunk.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/list.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/intr/spinlock.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/assert.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/log.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/kalloc.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/pagetable.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/memlayout.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/mmu.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/arm/armv7-a/cortex-a9/include/page_table_entry.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/mmu/mmu_common.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/task.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/core.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/hardkernel/arch/arm/armv7-a/cortex-a9/preboot_for_nxp_imx6q_sabrelite/include/cortex_a9.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/object_allocator.h \
/home/tuxian/work/microkernel/micro_kernel/XiZi_AIoT/softkernel/include/share_page.h

View File

@ -1,614 +0,0 @@
Archive member included to satisfy reference by file (symbol)
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o)
libserial.o (__aeabi_uidiv)
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_dvmd_tls.o)
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o) (__aeabi_idiv0)
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o (__libc_init_array)
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o)
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o (memset)
Memory Configuration
Name Origin Length Attributes
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crti.o
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
LOAD test_priority.o
LOAD libserial.o
LOAD usyscall.o
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libstdc++.a
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libm.a
START GROUP
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a
END GROUP
START GROUP
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libnosys.a
END GROUP
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtend.o
LOAD /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtn.o
[!provide] PROVIDE (__executable_start, SEGMENT_START ("text-segment", 0x8000))
0x0000000000008000 . = SEGMENT_START ("text-segment", 0x8000)
.interp
*(.interp)
.note.gnu.build-id
*(.note.gnu.build-id)
.hash
*(.hash)
.gnu.hash
*(.gnu.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.init
*(.rel.init)
.rela.init
*(.rela.init)
.rel.text
*(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
.rela.text
*(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
.rel.fini
*(.rel.fini)
.rela.fini
*(.rela.fini)
.rel.rodata
*(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
.rela.rodata
*(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
.rel.data.rel.ro
*(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*)
.rela.data.rel.ro
*(.rela.data.rel.ro .rela.data.rel.ro.* .rela.gnu.linkonce.d.rel.ro.*)
.rel.data
*(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
.rela.data
*(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
.rel.tdata
*(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
.rela.tdata
*(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
.rel.tbss
*(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
.rela.tbss
*(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
.rel.ctors
*(.rel.ctors)
.rela.ctors
*(.rela.ctors)
.rel.dtors
*(.rel.dtors)
.rela.dtors
*(.rela.dtors)
.rel.got
*(.rel.got)
.rela.got
*(.rela.got)
.rel.bss
*(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
.rela.bss
*(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
.rel.iplt 0x0000000000008000 0x0
[!provide] PROVIDE (__rel_iplt_start, .)
*(.rel.iplt)
.rel.iplt 0x0000000000008000 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
[!provide] PROVIDE (__rel_iplt_end, .)
.rela.iplt 0x0000000000008000 0x0
[!provide] PROVIDE (__rela_iplt_start, .)
*(.rela.iplt)
[!provide] PROVIDE (__rela_iplt_end, .)
.rel.plt
*(.rel.plt)
.rela.plt
*(.rela.plt)
.init 0x0000000000008000 0x18
*(SORT(.init))
.init 0x0000000000008000 0xc /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crti.o
0x0000000000008000 _init
.init 0x000000000000800c 0xc /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtn.o
.plt
*(.plt)
.iplt 0x0000000000008018 0x0
*(.iplt)
.iplt 0x0000000000008018 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
.text 0x0000000000008018 0xe40
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x0000000000008018 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crti.o
.text 0x0000000000008018 0xbc /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
.text 0x00000000000080d4 0x114 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
0x00000000000080d4 _mainCRTStartup
0x00000000000080d4 _start
.text 0x00000000000081e8 0xc4 test_priority.o
0x000000000000826c main
.text 0x00000000000082ac 0x4dc libserial.o
0x00000000000083a4 getc
0x000000000000855c printf
.text 0x0000000000008788 0x424 usyscall.o
0x00000000000087f8 spawn
0x000000000000885c exit
0x0000000000008894 yield
0x00000000000088cc register_server
0x0000000000008908 session
0x0000000000008950 poll_session
0x0000000000008990 close_session
0x00000000000089cc get_memblock_info
0x0000000000008a08 set_priority
0x0000000000008a44 task_heap_base
0x0000000000008a7c show_task
0x0000000000008ab4 show_mem
0x0000000000008aec show_cpu
0x0000000000008b24 mmap
0x0000000000008b6c register_irq
.text 0x0000000000008bac 0x114 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o)
0x0000000000008bac __udivsi3
0x0000000000008bac __aeabi_uidiv
0x0000000000008ca0 __aeabi_uidivmod
.text 0x0000000000008cc0 0x4 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_dvmd_tls.o)
0x0000000000008cc0 __aeabi_ldiv0
0x0000000000008cc0 __aeabi_idiv0
.text 0x0000000000008cc4 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
.text.__libc_init_array
0x0000000000008cc4 0x80 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
0x0000000000008cc4 __libc_init_array
.text 0x0000000000008d44 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o)
.text.memset 0x0000000000008d44 0x114 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o)
0x0000000000008d44 memset
.text 0x0000000000008e58 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtend.o
.text 0x0000000000008e58 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtn.o
*(.gnu.warning)
*(.glue_7t)
.glue_7t 0x0000000000008e58 0x0 linker stubs
*(.glue_7)
.glue_7 0x0000000000008e58 0x0 linker stubs
*(.vfp11_veneer)
.vfp11_veneer 0x0000000000008e58 0x0 linker stubs
*(.v4_bx)
.v4_bx 0x0000000000008e58 0x0 linker stubs
.fini 0x0000000000008e58 0x18
*(SORT(.fini))
.fini 0x0000000000008e58 0xc /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crti.o
0x0000000000008e58 _fini
.fini 0x0000000000008e64 0xc /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtn.o
[!provide] PROVIDE (__etext, .)
[!provide] PROVIDE (_etext, .)
[!provide] PROVIDE (etext, .)
.rodata 0x0000000000008e70 0x37
*(.rodata .rodata.* .gnu.linkonce.r.*)
.rodata 0x0000000000008e70 0x2d test_priority.o
*fill* 0x0000000000008e9d 0x3
.rodata 0x0000000000008ea0 0x7 libserial.o
.rodata1
*(.rodata1)
.ARM.extab 0x0000000000008ea7 0x0
*(.ARM.extab* .gnu.linkonce.armextab.*)
.ARM.extab 0x0000000000008ea7 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
[!provide] PROVIDE (__exidx_start, .)
.ARM.exidx 0x0000000000008ea8 0x8
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
.ARM.exidx 0x0000000000008ea8 0x8 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
[!provide] PROVIDE (__exidx_end, .)
.eh_frame_hdr
*(.eh_frame_hdr)
*(.eh_frame_entry .eh_frame_entry.*)
.eh_frame 0x0000000000008eb0 0x4
*(.eh_frame)
.eh_frame 0x0000000000008eb0 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
.eh_frame 0x0000000000008eb0 0x4 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtend.o
*(.eh_frame.*)
.gcc_except_table
*(.gcc_except_table .gcc_except_table.*)
.gnu_extab
*(.gnu_extab*)
.exception_ranges
*(.exception_ranges .exception_ranges*)
0x0000000000008eb4 . = .
.eh_frame
*(.eh_frame)
*(.eh_frame.*)
.gnu_extab
*(.gnu_extab)
.gcc_except_table
*(.gcc_except_table .gcc_except_table.*)
.exception_ranges
*(.exception_ranges .exception_ranges*)
.tdata
*(.tdata .tdata.* .gnu.linkonce.td.*)
.tbss
*(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon)
.preinit_array 0x0000000000008eb4 0x0
0x0000000000008eb4 PROVIDE (__preinit_array_start, .)
*(.preinit_array)
0x0000000000008eb4 PROVIDE (__preinit_array_end, .)
.init_array 0x0000000000008eb4 0x4
0x0000000000008eb4 PROVIDE (__init_array_start, .)
*(SORT(.init_array.*) SORT(.ctors.*))
*(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors)
.init_array 0x0000000000008eb4 0x4 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
0x0000000000008eb8 PROVIDE (__init_array_end, .)
.fini_array 0x0000000000008eb8 0x4
[!provide] PROVIDE (__fini_array_start, .)
*(SORT(.fini_array.*) SORT(.dtors.*))
*(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors)
.fini_array 0x0000000000008eb8 0x4 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
[!provide] PROVIDE (__fini_array_end, .)
.ctors
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
.dtors
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
.jcr 0x0000000000008ebc 0x4
*(.jcr)
.jcr 0x0000000000008ebc 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
.jcr 0x0000000000008ebc 0x4 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtend.o
.data.rel.ro
*(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
*(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*)
.dynamic
*(.dynamic)
.got 0x0000000000008ec0 0x0
*(.got.plt)
*(.igot.plt)
.igot.plt 0x0000000000008ec0 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
*(.got)
*(.igot)
.data 0x0000000000008ec0 0x15
0x0000000000008ec0 __data_start = .
*(.data .data.* .gnu.linkonce.d.*)
.data 0x0000000000008ec0 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crti.o
.data 0x0000000000008ec0 0x4 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
0x0000000000008ec0 __dso_handle
.data 0x0000000000008ec4 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
.data 0x0000000000008ec4 0x0 test_priority.o
.data 0x0000000000008ec4 0x11 libserial.o
.data 0x0000000000008ed5 0x0 usyscall.o
.data 0x0000000000008ed5 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o)
.data 0x0000000000008ed5 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_dvmd_tls.o)
.data 0x0000000000008ed5 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
.data 0x0000000000008ed5 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o)
.data 0x0000000000008ed5 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtend.o
.data 0x0000000000008ed5 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtn.o
.data1
*(.data1)
0x0000000000008ed5 _edata = .
[!provide] PROVIDE (edata, .)
0x0000000000008ed5 . = .
0x0000000000008ed5 __bss_start = .
0x0000000000008ed5 __bss_start__ = .
.bss 0x0000000000008ed8 0x20
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x0000000000008ed8 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crti.o
.bss 0x0000000000008ed8 0x1c /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
.bss 0x0000000000008ef4 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
.bss 0x0000000000008ef4 0x0 test_priority.o
.bss 0x0000000000008ef4 0x4 libserial.o
.bss 0x0000000000008ef8 0x0 usyscall.o
.bss 0x0000000000008ef8 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o)
.bss 0x0000000000008ef8 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_dvmd_tls.o)
.bss 0x0000000000008ef8 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
.bss 0x0000000000008ef8 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o)
.bss 0x0000000000008ef8 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtend.o
.bss 0x0000000000008ef8 0x0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtn.o
*(COMMON)
0x0000000000008ef8 . = ALIGN ((. != 0x0)?0x4:0x1)
0x0000000000008ef8 _bss_end__ = .
0x0000000000008ef8 __bss_end__ = .
0x0000000000008ef8 . = ALIGN (0x4)
0x0000000000008ef8 . = SEGMENT_START ("ldata-segment", .)
0x0000000000008ef8 . = ALIGN (0x4)
0x0000000000008ef8 __end__ = .
0x0000000000008ef8 _end = .
[!provide] PROVIDE (end, .)
.stab
*(.stab)
.stabstr
*(.stabstr)
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x0000000000000000 0x7f
*(.comment)
.comment 0x0000000000000000 0x7f test_priority.o
0x80 (size before relaxing)
.comment 0x000000000000007f 0x80 libserial.o
.comment 0x000000000000007f 0x80 usyscall.o
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x0000000000000000 0x60
*(.debug_aranges)
.debug_aranges
0x0000000000000000 0x20 test_priority.o
.debug_aranges
0x0000000000000020 0x20 libserial.o
.debug_aranges
0x0000000000000040 0x20 usyscall.o
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x0000000000000000 0x23e8
*(.debug_info .gnu.linkonce.wi.*)
.debug_info 0x0000000000000000 0x967 test_priority.o
.debug_info 0x0000000000000967 0xd7f libserial.o
.debug_info 0x00000000000016e6 0xd02 usyscall.o
.debug_abbrev 0x0000000000000000 0x66d
*(.debug_abbrev)
.debug_abbrev 0x0000000000000000 0x1cc test_priority.o
.debug_abbrev 0x00000000000001cc 0x283 libserial.o
.debug_abbrev 0x000000000000044f 0x21e usyscall.o
.debug_line 0x0000000000000000 0x554
*(.debug_line .debug_line.* .debug_line_end)
.debug_line 0x0000000000000000 0x17f test_priority.o
.debug_line 0x000000000000017f 0x1e1 libserial.o
.debug_line 0x0000000000000360 0x1f4 usyscall.o
.debug_frame 0x0000000000000000 0x3b4
*(.debug_frame)
.debug_frame 0x0000000000000000 0x50 test_priority.o
.debug_frame 0x0000000000000050 0xc8 libserial.o
.debug_frame 0x0000000000000118 0x218 usyscall.o
.debug_frame 0x0000000000000330 0x20 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o)
.debug_frame 0x0000000000000350 0x34 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
.debug_frame 0x0000000000000384 0x30 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o)
.debug_str 0x0000000000000000 0x9a6
*(.debug_str)
.debug_str 0x0000000000000000 0x5b0 test_priority.o
0x640 (size before relaxing)
.debug_str 0x00000000000005b0 0x20c libserial.o
0x7d4 (size before relaxing)
.debug_str 0x00000000000007bc 0x1ea usyscall.o
0x825 (size before relaxing)
.debug_loc
*(.debug_loc)
.debug_macinfo
*(.debug_macinfo)
.debug_weaknames
*(.debug_weaknames)
.debug_funcnames
*(.debug_funcnames)
.debug_typenames
*(.debug_typenames)
.debug_varnames
*(.debug_varnames)
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges
*(.debug_ranges)
.debug_macro
*(.debug_macro)
.debug_addr
*(.debug_addr)
.stack 0x0000000000080000 0x0
0x0000000000080000 _stack = .
*(.stack)
.ARM.attributes
0x0000000000000000 0x2b
*(.ARM.attributes)
.ARM.attributes
0x0000000000000000 0x16 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crti.o
.ARM.attributes
0x0000000000000016 0x30 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
.ARM.attributes
0x0000000000000046 0x14 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
.ARM.attributes
0x000000000000005a 0x2f test_priority.o
.ARM.attributes
0x0000000000000089 0x2f libserial.o
.ARM.attributes
0x00000000000000b8 0x2f usyscall.o
.ARM.attributes
0x00000000000000e7 0x18 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o)
.ARM.attributes
0x00000000000000ff 0x18 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_dvmd_tls.o)
.ARM.attributes
0x0000000000000117 0x30 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
.ARM.attributes
0x0000000000000147 0x30 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o)
.ARM.attributes
0x0000000000000177 0x30 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtend.o
.ARM.attributes
0x00000000000001a7 0x18 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtn.o
*(.gnu.attributes)
.note.gnu.arm.ident
*(.note.gnu.arm.ident)
/DISCARD/
*(.note.GNU-stack)
*(.gnu_debuglink)
*(.gnu.lto_*)
OUTPUT(test_priority elf32-littlearm)
Cross Reference Table
Symbol File
_Jv_RegisterClasses /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
__aeabi_idiv0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_dvmd_tls.o)
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o)
__aeabi_ldiv0 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_dvmd_tls.o)
__aeabi_uidiv /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o)
libserial.o
__aeabi_uidivmod /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o)
libserial.o
__bss_end__ /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
__bss_start__ /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
__deregister_frame_info /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
__dso_handle /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
__init_array_end /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
__init_array_start /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
__libc_fini_array /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
__libc_init_array /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
__preinit_array_end /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
__preinit_array_start /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
__register_frame_info /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crtbegin.o
__stack /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
__udivsi3 /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a(_udivsi3.o)
_fini /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crti.o
_init /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/crti.o
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
_mainCRTStartup /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
_start /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
atexit /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
close_session usyscall.o
exit usyscall.o
test_priority.o
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
get_memblock_info usyscall.o
getc libserial.o
hardware_init_hook /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
main test_priority.o
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
memset /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o)
/opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
mmap usyscall.o
libserial.o
poll_session usyscall.o
printf libserial.o
test_priority.o
register_irq usyscall.o
register_server usyscall.o
session usyscall.o
set_priority usyscall.o
test_priority.o
show_cpu usyscall.o
show_mem usyscall.o
show_task usyscall.o
software_init_hook /opt/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o
spawn usyscall.o
task_heap_base usyscall.o
yield usyscall.o

View File

@ -36,10 +36,9 @@ History:
1. Date: 2024-01-25
Author: AIIT XUOS Lab
Modification:
1. support inode create and delete
3. remove inode lock and unlock
4. remove inode cache
5. rename function names(DirInodeAddEntry,DirInodeLookup, InodeAlloc, InodeFree, PathElementExtract, InodeBlockMapping, Seek, InodeSeek, InodeParentSeek, InodeRead, InodeWrite) to fit XIZI_AIoT use sceneries
1. remove inode lock and unlock
2. remove inode cache
3. rewrite skipelem function to PathElementExtract to fit XIZI_AIoT use sceneries
*************************************************/
#include <string.h>
@ -48,22 +47,15 @@ Modification:
#include "fs.h"
#include "libserial.h"
static void Error(char* s)
{
printf("Error: %s\n", s);
for (;;)
;
}
#define min(a, b) ((a) < (b) ? (a) : (b))
#define MIN_LENGTH(len1, len2) ((len1) < (len2) ? (len1) : (len2))
static int DirInodeAddEntry(struct Inode* dp, char* name, uint32_t inum);
static struct Inode* DirInodeLookup(struct Inode* dp, char* name, uint32_t* poff);
static struct Inode* InodeAlloc(short type);
static int InodeFree(struct Inode* ip);
static int DirInodeDelEntry(struct Inode* parent_inode, char* name);
static struct Inode* DirInodeLookup(struct Inode* dp, char* name);
static struct Inode* InodeAlloc(int type);
static int InodeFreeRecursive(struct Inode* dp);
static char* PathElementExtract(char* path, char* name);
static uint32_t InodeBlockMapping(struct Inode* ip, uint32_t block_num);
static uint32_t InodeBlockMapping(struct Inode* inode, uint32_t block_num);
#define MAX_SUPPORT_FD 1024
static struct FileDescriptor fd_table[MAX_SUPPORT_FD];
@ -80,83 +72,236 @@ void MemFsInit(uintptr_t _binary_fs_img_start, uint32_t fs_img_len)
/// @brief Read the super block.
void ReadSuperBlock(struct SuperBlock* sb)
{
uint8_t* data = BlockRead(ROOT_INUM);
memmove(sb, data, sizeof(*sb));
uint8_t* block = BlockRead(ROOT_INUM);
memmove(sb, block, sizeof(*sb));
}
/// @brief Get a existed Inode by inum
struct Inode* InodeGet(uint32_t inum)
{
struct Inode* ip;
uint8_t* data = BlockRead(BLOCK_INDEX(inum));
ip = (struct Inode*)data + INODE_INDEX(inum);
return ip;
struct Inode* inode;
uint8_t* block = BlockRead(BLOCK_INDEX(inum));
inode = (struct Inode*)block + INODE_INDEX(inum);
return inode;
}
/// @brief Create a new Inode under the parent Inode
struct Inode* InodeCreate(struct Inode* parent_inode, char* name, int type)
{
struct Inode* inode;
if ((inode = DirInodeLookup(parent_inode, name)) != 0) {
if (type == FS_FILE && inode->type == FS_FILE) {
return inode;
}
return 0;
}
if ((inode = InodeAlloc(type)) == 0) {
printf("InodeCreate: alloc Inode failed, no free inode\n");
return 0;
}
if (type == FS_DIRECTORY) {
if (DirInodeAddEntry(inode, ".", inode->inum) < 0 || DirInodeAddEntry(inode, "..", parent_inode->inum) < 0) {
printf("InodeCreate: create dots");
return 0;
}
}
if (DirInodeAddEntry(parent_inode, name, inode->inum) < 0) {
printf("InodeCreate: DirInodeAddEntry failed");
return 0;
}
return inode;
}
/// @brief Delete a file Inode or a dir Inode
int InodeDelete(struct Inode* parent_inode, char* name)
{
uint32_t offset;
struct Inode* inode;
struct DirectEntry de;
if ((inode = DirInodeLookup(parent_inode, name)) == 0) {
printf("Inode delete failed, file not exsit");
return -1;
}
if (inode->type == FS_FILE) {
inode->type = 0;
} else if (inode->type == FS_DIRECTORY) {
// recursive free alloced Inode
if (InodeFreeRecursive(inode) < 0) {
return -1;
}
}
DirInodeDelEntry(parent_inode, name);
return 0;
}
/// @brief Read data from the Inode to the dst buffer.
int InodeRead(struct Inode* inode, char* dst, int offset, int len)
{
uint32_t location, writen_len;
uint8_t* block;
if (len < 0 || offset > inode->size) {
return -1;
}
if (offset + len > inode->size) {
len = inode->size - offset;
}
location = 0;
while (location < len) {
if ((block = BlockRead(InodeBlockMapping(inode, offset / BLOCK_SIZE))) == 0) {
return 0;
}
writen_len = MIN_LENGTH(len - location, BLOCK_SIZE - offset % BLOCK_SIZE);
memmove(dst, block + offset % BLOCK_SIZE, writen_len);
location += writen_len;
offset += writen_len;
dst += writen_len;
}
return len;
}
/// @brief Write data from src buffer to the Inode, then increase the Inode size if neccessary.
int InodeWrite(struct Inode* inode, char* src, int offset, int len)
{
uint32_t location, writen_len;
uint8_t* block;
if (len < 0 || offset > inode->size) {
return -1;
}
if (offset + len > MAX_FILE_SIZE * BLOCK_SIZE) {
return -1;
}
location = 0;
while (location < len) {
if ((block = BlockRead(InodeBlockMapping(inode, offset / BLOCK_SIZE))) == 0) {
return 0;
}
writen_len = MIN_LENGTH(len - location, BLOCK_SIZE - offset % BLOCK_SIZE);
memmove(block + offset % BLOCK_SIZE, src, writen_len);
location += writen_len;
offset += writen_len;
src += writen_len;
}
if (len > 0 && offset > inode->size) {
inode->size = offset;
}
return len;
}
/// @brief Find target Inode from source Inode
struct Inode* InodeSeek(struct Inode* source, char* path)
{
if (source->size == 0) {
printf("Inode is empty\n");
return 0;
}
char name[DIR_NAME_SIZE] = { 0 };
struct Inode *cur_inode, *next_inode;
cur_inode = source;
while ((path = PathElementExtract(path, name)) != 0) {
if (cur_inode->type != FS_DIRECTORY) {
return NULL;
}
if ((next_inode = DirInodeLookup(cur_inode, name)) == 0) {
return NULL;
}
cur_inode = next_inode;
}
return cur_inode;
}
/// @brief Find target parent Inode from source Inode
struct Inode* InodeParentSeek(struct Inode* source, char* path, char* name)
{
if (source->size == 0) {
printf("Inode is empty\n");
return 0;
}
struct Inode *cur_inode, *next_inode;
cur_inode = source;
while ((path = PathElementExtract(path, name)) != 0) {
if (cur_inode->type != FS_DIRECTORY) {
return NULL;
}
if (*path == '\0') {
return cur_inode;
}
if ((next_inode = DirInodeLookup(cur_inode, name)) == 0) {
return NULL;
}
cur_inode = next_inode;
}
return NULL;
}
/// @brief Alloc a new Inode using type
static struct Inode* InodeAlloc(short type)
static struct Inode* InodeAlloc(int type)
{
int inum;
struct Inode* ip;
struct Inode* inode;
struct SuperBlock sb;
ReadSuperBlock(&sb);
for (inum = 1; inum < sb.ninodes; inum++) {
uint8_t* data = BlockRead(BLOCK_INDEX(inum));
ip = (struct Inode*)data + INODE_INDEX(inum);
if (ip->type == 0) {
memset(ip, 0, sizeof(*ip));
ip->inum = inum;
ip->type = type;
ip->nlink = 1;
ip->size = 0;
return ip;
uint8_t* block = BlockRead(BLOCK_INDEX(inum));
inode = (struct Inode*)block + INODE_INDEX(inum);
if (inode->type == 0) {
memset(inode, 0, sizeof(*inode));
inode->inum = inum;
inode->type = type;
inode->size = 0;
return inode;
}
}
Error("InodeAlloc: no inodes");
return NULL;
}
/// @brief Free the existed Inode
static int InodeFree(struct Inode* ip)
{
uint8_t* data = BlockRead(BLOCK_INDEX(ip->inum));
struct Inode* dip = (struct Inode*)data + INODE_INDEX(ip->inum);
dip->type = 0;
return 0;
}
/// @brief Delete the dir and all files or dirs under the dir.
static int InodeFreeRecursive(struct Inode* dp)
static int InodeFreeRecursive(struct Inode* parent_inode)
{
uint32_t off;
struct Inode* ip;
uint32_t offset;
struct Inode* inode;
struct DirectEntry de;
for (off = 0; off < dp->size; off += sizeof(de)) {
if (InodeRead(dp, (char*)&de, off, sizeof(de)) != sizeof(de)) {
Error("inode_delete_dir failed: read directory entry failed");
for (offset = 0; offset < parent_inode->size; offset += sizeof(de)) {
if (InodeRead(parent_inode, (char*)&de, offset, sizeof(de)) != sizeof(de)) {
printf("inode_delete_dir failed: read directory entry failed");
return -1;
}
// unlink dir
if (de.inum == 0 || strcmp(de.name, "..") == 0 || strcmp(de.name, ".") == 0) {
continue;
}
ip = InodeGet(de.inum);
if (ip->type == T_DIR) {
if (InodeFreeRecursive(ip) < 0) {
inode = InodeGet(de.inum);
if (inode->type == FS_DIRECTORY) {
if (InodeFreeRecursive(inode) < 0) {
return -1;
}
} else if (ip->type == T_FILE) {
InodeFree(ip);
} else if (inode->type == FS_FILE) {
inode->type = 0;
}
// delete the dir entry
de.inum = 0;
if (InodeWrite(dp, (char*)&de, off, sizeof(de)) != sizeof(de)) {
if (InodeWrite(parent_inode, (char*)&de, offset, sizeof(de)) != sizeof(de)) {
printf("InodeDelete failed: clear directory entry failed");
return -1;
}
@ -164,74 +309,14 @@ static int InodeFreeRecursive(struct Inode* dp)
return 0;
}
/// @brief Delete a file Inode or a dir Inode
int InodeDelete(struct Inode* dp, char* name)
{
uint32_t off;
struct Inode* ip;
struct DirectEntry de;
if ((ip = DirInodeLookup(dp, name, &off)) == 0) {
Error("Inode delete failed, file not exsit");
return -1;
}
InodeFree(ip);
if (ip->type == T_DIR) {
// recursive free alloced Inode
if (InodeFreeRecursive(ip) < 0) {
return -1;
}
}
// delete the dir entry
de.inum = 0;
if (InodeWrite(dp, (char*)&de, off, sizeof(de)) != sizeof(de)) {
printf("InodeDelete failed: clear directory entry failed");
return -1;
}
return 0;
}
/// @brief Create a new Inode under the parent Inode
struct Inode* InodeCreate(struct Inode* dp, char* name, short type, short major, short minor)
{
uint32_t off;
struct Inode* ip;
if ((ip = DirInodeLookup(dp, name, &off)) != 0) {
if (type == T_FILE && ip->type == T_FILE) {
return ip;
}
return 0;
}
if ((ip = InodeAlloc(type)) == 0) {
Error("InodeCreate: create Inode failed\n");
}
if (type == T_DIR) {
dp->nlink++;
if (DirInodeAddEntry(ip, ".", ip->inum) < 0 || DirInodeAddEntry(ip, "..", dp->inum) < 0) {
Error("InodeCreate: create dots");
}
}
if (DirInodeAddEntry(dp, name, ip->inum) < 0) {
Error("InodeCreate: DirInodeAddEntry failed");
}
return ip;
}
/// @brief Mapping the direct block addrs or indirect block addrs of the Inode using the block_num
static uint32_t InodeBlockMapping(struct Inode* ip, uint32_t block_num)
static uint32_t InodeBlockMapping(struct Inode* inode, uint32_t block_num)
{
uint32_t addr;
// block is in range of direct mapping
if (block_num < NR_DIRECT_BLOCKS) {
if ((addr = ip->addrs[block_num]) == 0) {
ip->addrs[block_num] = addr = BlockAlloc();
if ((addr = inode->addrs[block_num]) == 0) {
inode->addrs[block_num] = addr = BlockAlloc();
}
return addr;
}
@ -240,12 +325,12 @@ static uint32_t InodeBlockMapping(struct Inode* ip, uint32_t block_num)
block_num -= NR_DIRECT_BLOCKS;
int indirect_block_id = block_num / MAX_INDIRECT_BLOCKS;
if (indirect_block_id < NR_INDIRECT_BLOCKS) {
if ((addr = ip->addrs[NR_DIRECT_BLOCKS + indirect_block_id]) == 0) {
ip->addrs[NR_DIRECT_BLOCKS + indirect_block_id] = addr = BlockAlloc();
if ((addr = inode->addrs[NR_DIRECT_BLOCKS + indirect_block_id]) == 0) {
inode->addrs[NR_DIRECT_BLOCKS + indirect_block_id] = addr = BlockAlloc();
}
block_num -= indirect_block_id * MAX_INDIRECT_BLOCKS;
} else {
Error("InodeBlockMapping: out of range");
printf("InodeBlockMapping: out of range");
return 0;
}
@ -259,18 +344,20 @@ static uint32_t InodeBlockMapping(struct Inode* ip, uint32_t block_num)
}
/// @brief Look up the directory Inode for searching the target Inode
static struct Inode* DirInodeLookup(struct Inode* dp, char* name, uint32_t* poff)
static struct Inode* DirInodeLookup(struct Inode* parent_inode, char* name)
{
uint32_t off, inum;
uint32_t offset, inum;
struct DirectEntry de;
if (dp->type != T_DIR) {
Error("DirInodeLookup not DIR");
if (parent_inode->type != FS_DIRECTORY) {
printf("DirInodeLookup not DIR");
return 0;
}
for (off = 0; off < dp->size; off += sizeof(de)) {
if (InodeRead(dp, (char*)&de, off, sizeof(de)) != sizeof(de)) {
Error("DirInodeAddEntry read");
for (offset = 0; offset < parent_inode->size; offset += sizeof(de)) {
if (InodeRead(parent_inode, (char*)&de, offset, sizeof(de)) != sizeof(de)) {
printf("DirInodeAddEntry read");
return 0;
}
if (de.inum == 0) {
@ -278,9 +365,6 @@ static struct Inode* DirInodeLookup(struct Inode* dp, char* name, uint32_t* poff
}
if (strncmp((const char*)name, (const char*)de.name, DIR_NAME_SIZE) == 0) {
if (poff) {
*poff = off;
}
inum = de.inum;
return InodeGet(inum);
}
@ -290,21 +374,22 @@ static struct Inode* DirInodeLookup(struct Inode* dp, char* name, uint32_t* poff
}
/// @brief Add a new directory entry for dir Inode
static int DirInodeAddEntry(struct Inode* dp, char* name, uint32_t inum)
static int DirInodeAddEntry(struct Inode* parent_inode, char* name, uint32_t inum)
{
int off;
int offset;
struct DirectEntry de;
struct Inode* ip;
struct Inode* inode;
// Check that direct entry is existed.
if ((ip = DirInodeLookup(dp, name, 0)) != 0) {
// Check the direct entry is not existed.
if ((inode = DirInodeLookup(parent_inode, name)) != 0) {
return -1;
}
// Look for an empty dir entry.
for (off = 0; off < dp->size; off += sizeof(de)) {
if (InodeRead(dp, (char*)&de, off, sizeof(de)) != sizeof(de)) {
Error("DirInodeAddEntry: read failed");
for (offset = 0; offset < parent_inode->size; offset += sizeof(de)) {
if (InodeRead(parent_inode, (char*)&de, offset, sizeof(de)) != sizeof(de)) {
printf("DirInodeAddEntry: read failed");
return -1;
}
if (de.inum == 0) {
@ -315,98 +400,45 @@ static int DirInodeAddEntry(struct Inode* dp, char* name, uint32_t inum)
// build a new direct entry.
strncpy(de.name, name, DIR_NAME_SIZE);
de.inum = inum;
if (InodeWrite(dp, (char*)&de, off, sizeof(de)) != sizeof(de)) {
Error("DirInodeAddEntry: write failed");
if (InodeWrite(parent_inode, (char*)&de, offset, sizeof(de)) != sizeof(de)) {
printf("DirInodeAddEntry: write failed");
return -1;
}
return 0;
}
static struct Inode* Seek(struct Inode* ip, char* path, int nameiparent, char* name)
/// @brief Delete the directory entry for dir Inode
static int DirInodeDelEntry(struct Inode* parent_inode, char* name)
{
if (ip->size == 0) {
Error("Inode is not sync\n");
}
int offset;
struct DirectEntry de;
struct Inode* inode;
struct Inode* next;
while ((path = PathElementExtract(path, name)) != 0) {
if (ip->type != T_DIR) {
return NULL;
}
if (nameiparent && *path == '\0') {
return ip;
}
if ((next = DirInodeLookup(ip, name, 0)) == 0) {
return NULL;
}
ip = next;
}
if (nameiparent) {
return NULL;
}
return ip;
}
/// @brief Find target Inode from source Inode
struct Inode* InodeSeek(struct Inode* source, char* path)
{
char name[DIR_NAME_SIZE] = { 0 };
return Seek(source, path, 0, name);
}
/// @brief Find target parent Inode from source Inode
struct Inode* InodeParentSeek(struct Inode* source, char* path, char* name)
{
return Seek(source, path, 1, name);
}
/// @brief Read data from the Inode to the dst buffer.
int InodeRead(struct Inode* ip, char* dst, int off, int n)
{
uint32_t tot, m;
if (off > ip->size || off + n < off) {
// Check the direct entry is existed.
if ((inode = DirInodeLookup(parent_inode, name)) == 0) {
return -1;
}
if (off + n > ip->size) {
n = ip->size - off;
}
for (tot = 0; tot < n; tot += m, off += m, dst += m) {
uint8_t* data = BlockRead(InodeBlockMapping(ip, off / BLOCK_SIZE));
m = min(n - tot, BLOCK_SIZE - off % BLOCK_SIZE);
memmove(dst, data + off % BLOCK_SIZE, m);
}
return n;
}
/// @brief Write data from src buffer to the Inode, then increase the Inode size if neccessary.
int InodeWrite(struct Inode* ip, char* src, uint32_t off, uint32_t n)
{
uint32_t tot, m;
if (off > ip->size || off + n < off) {
// Look for an empty dir entry.
for (offset = 0; offset < parent_inode->size; offset += sizeof(de)) {
if (InodeRead(parent_inode, (char*)&de, offset, sizeof(de)) != sizeof(de)) {
printf("DirInodeAddEntry: read failed");
return -1;
}
if (off + n > MAX_FILE_SIZE * BLOCK_SIZE) {
if (strncmp(de.name, name, DIR_NAME_SIZE) == 0) {
break;
}
}
de.inum = 0;
if (InodeWrite(parent_inode, (char*)&de, offset, sizeof(de)) != sizeof(de)) {
printf("DirInodeAddEntry: write failed");
return -1;
}
for (tot = 0; tot < n; tot += m, off += m, src += m) {
uint8_t* data = BlockRead(InodeBlockMapping(ip, off / BLOCK_SIZE));
m = min(n - tot, BLOCK_SIZE - off % BLOCK_SIZE);
memmove(data + off % BLOCK_SIZE, src, m);
}
if (n > 0 && off > ip->size) {
ip->size = off;
}
return n;
return 0;
}
// Paths process

View File

@ -66,7 +66,7 @@ int IPC_DO_SERVE_FUNC(Ipc_ls)(char* path)
printf("ls:find target Inode failed\n");
return -1;
}
if (ip->type != T_DIR) {
if (ip->type != FS_DIRECTORY) {
printf("ls:not a dir\n");
return -1;
}
@ -110,7 +110,7 @@ int IPC_DO_SERVE_FUNC(Ipc_cd)(char* path)
return -1;
}
if (ip->type != T_DIR) {
if (ip->type != FS_DIRECTORY) {
printf("cd:not a dir\n");
return -1;
}
@ -148,7 +148,7 @@ int IPC_DO_SERVE_FUNC(Ipc_mkdir)(char* path)
return -1;
}
if (InodeCreate(ip, name, T_DIR, 0, 0) == 0) {
if (InodeCreate(ip, name, FS_DIRECTORY) == 0) {
printf("create target Inode %s failed\n", path);
return -1;
}
@ -207,7 +207,7 @@ int IPC_DO_SERVE_FUNC(Ipc_cat)(char* path)
return -1;
}
if (ip->type != T_FILE) {
if (ip->type != FS_FILE) {
printf("cat: %s Is not a file\n", path);
return -1;
}
@ -254,7 +254,6 @@ int IPC_DO_SERVE_FUNC(Ipc_open)(char* path)
/// @todo record absolute path
strncpy(fdp->path, path, strlen(path) + 1);
ip->nlink++;
fdp->data = ip;
return fd;
@ -262,15 +261,6 @@ int IPC_DO_SERVE_FUNC(Ipc_open)(char* path)
int IPC_DO_SERVE_FUNC(Ipc_close)(int* fd)
{
struct FileDescriptor* fdp = GetFileDescriptor(*fd);
if (!fdp) {
printf("read: fd invalid\n");
return -1;
}
struct Inode* ip = fdp->data;
ip->nlink--;
FreeFileDescriptor(*fd);
return 0;
}
@ -285,7 +275,7 @@ int IPC_DO_SERVE_FUNC(Ipc_read)(int* fd, char* dst, int* offset, int* len)
}
struct Inode* ip = fdp->data;
if (ip->type != T_FILE) {
if (ip->type != FS_FILE) {
printf("read: %s Is not a file\n", fdp->path);
return -1;
}
@ -305,7 +295,7 @@ int IPC_DO_SERVE_FUNC(Ipc_write)(int* fd, char* src, int* offset, int* len)
}
struct Inode* ip = fdp->data;
if (ip->type != T_FILE) {
if (ip->type != FS_FILE) {
printf("read: %s Is not a file\n", fdp->path);
return -1;
}

View File

@ -1,15 +1,46 @@
/*
* Copyright (c) 2020 AIIT XUOS Lab
* XiUOS is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
// Copyright (c) 2006-2018 Frans Kaashoek, Robert Morris, Russ Cox, Massachusetts Institute of Technology
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/**
* @file fs.h
* @brief file system important struct definition
* @version 1.0
* @author AIIT XUOS Lab
* @date 2024-01-25
*/
/*************************************************
File name: fs.h
Description: file system important struct definition
Others: take ARM_XV6 kernel/fs.h and kernel/file.h for references
https://github.com/KingofHamyang/ARM_xv6
History:
1. Date: 2024-01-25
Author: AIIT XUOS Lab
Modification:
1. remove nlog member of superblock struct
2. rebuild inode struct to fit XIZI_AIoT use sceneries
3. change direct and indirect block number to fit XIZI_AIoT use sceneries
*************************************************/
#pragma once
#include <stdint.h>
@ -33,19 +64,12 @@ struct MemFsRange {
uint32_t memfs_nr_blocks;
};
// current state of the Inode
enum INODE_STATE {
I_RESERVED = 0,
I_BUSY,
I_VALID
};
// memfs file type
enum FILE_TYPE {
T_RESERVED = 0,
T_DIR, // Directory
T_FILE, // File
T_DEV, // Device
FS_RESERVED = 0,
FS_DIRECTORY, // Directory
FS_FILE, // File
FS_DEVICE, // Device
};
// File system super block
@ -55,20 +79,10 @@ struct SuperBlock {
uint32_t ninodes; // Number of inodes.
};
// state of the Inode
struct State {
short type; // Type of file
int dev; // File system's disk device
uint32_t ino; // Inode number
short nlink; // Number of links to file
uint32_t size; // Size of file in bytes
};
// Inode structure
struct Inode {
uint32_t inum; // Inode number
short type; // File type
short nlink; // Number of links to Inode in file system
uint32_t type; // File type
uint32_t size; // Size of file (bytes)
uint32_t addrs[NR_DIRECT_BLOCKS + NR_INDIRECT_BLOCKS]; // Data block addresses
};
@ -85,7 +99,6 @@ struct DirectEntry {
struct FileDescriptor {
char path[MAX_PATH_LEN];
void* data;
struct State st;
};
// range of memory fs
@ -96,10 +109,10 @@ void ReadSuperBlock(struct SuperBlock*);
// fs Inode ops
struct Inode* InodeGet(uint32_t inum);
struct Inode* InodeCreate(struct Inode*, char*, short, short, short);
struct Inode* InodeCreate(struct Inode*, char*, int);
int InodeDelete(struct Inode*, char*);
int InodeRead(struct Inode*, char*, int, int);
int InodeWrite(struct Inode*, char*, uint32_t, uint32_t);
int InodeWrite(struct Inode*, char*, int, int);
struct Inode* InodeSeek(struct Inode*, char*);
struct Inode* InodeParentSeek(struct Inode*, char*, char*);

View File

@ -38,7 +38,7 @@ Author: AIIT XUOS Lab
Modification:
1. Increse the number of blocks and inodes
2. support more than one indirect blocks
3. remove unused stat
3. remove unused stat and nlink property of inode struct
*************************************************/
#include <assert.h>
@ -136,7 +136,7 @@ int main(int argc, char* argv[])
wsect(1, buf);
// build root
rootino = ialloc(T_DIR);
rootino = ialloc(FS_DIRECTORY);
assert(rootino == ROOT_INUM);
bzero(&de, sizeof(de));
@ -165,7 +165,7 @@ int main(int argc, char* argv[])
if (argv[i][0] == '_')
++argv[i];
inum = ialloc(T_FILE);
inum = ialloc(FS_FILE);
bzero(&de, sizeof(de));
de.inum = xshort(inum);
@ -251,7 +251,6 @@ uint ialloc(ushort type)
bzero(&din, sizeof(din));
din.type = xshort(type);
din.nlink = xshort(1);
din.size = xint(0);
din.inum = inum;
winode(inum, &din);

View File

@ -37,14 +37,14 @@ History:
Author: AIIT XUOS Lab
Modification:
1. Increse the number of indirect blocks
2. Rename some variables' name for readability
2. Remove unused nlink of inode struct
*************************************************/
#pragma once
#define T_DIR 1 // Directory
#define T_FILE 2 // File
#define T_DEV 3 // Device
#define FS_DIRECTORY 1 // Directory
#define FS_FILE 2 // File
#define FS_DEVICE 3 // Device
#define ROOT_INUM 1 // root inode number
#define BLOCK_SIZE 512 // block size
@ -74,8 +74,7 @@ struct SuperBlock {
// Inode structure
struct Inode {
uint inum; // inode number
short type; // File type
short nlink; // Number of links to inode in file system
uint type; // File type
uint size; // Size of file (bytes)
uint addrs[NR_DIRECT_BLOCKS + NR_INDIRECT_BLOCKS]; // Data block addresses
};