From 3a0f8030ad162353d5292837b0f2c879022a5106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8D=E6=A0=91=E7=9A=84=E6=97=B6=E8=8A=82?= <1477383589@qq.com> Date: Sat, 29 Jul 2023 23:14:27 +0800 Subject: [PATCH 1/8] add setup.c fdt.c --- src/Makefile | 4 + src/arch/x86/include/setup.h | 13 + src/arch/x86/kernel/i386.S | 3 + src/arch/x86/kernel/setup.c | 119 + src/drivers/Makefile | 1 + src/drivers/block/romdisk.c | 9 +- src/drivers/of/Makefile | 1 + src/drivers/of/fdt.c | 129 + src/include/base/mach_desc.h | 10 + src/include/base/of.h | 7 + src/include/base/types.h | 1 + src/include/nxos.h | 1 + src/include/nxos_mini.h | 4 + src/init/main.c | 2 + src/kernel/kernel.c | 1 + src/libfdt/Makefile | 2 + src/libfdt/fdt.c | 286 +++ src/libfdt/fdt.h | 66 + src/libfdt/fdt_addresses.c | 99 + src/libfdt/fdt_empty_tree.c | 38 + src/libfdt/fdt_overlay.c | 871 +++++++ src/libfdt/fdt_ro.c | 897 +++++++ src/libfdt/fdt_rw.c | 476 ++++ src/libfdt/fdt_strerror.c | 59 + src/libfdt/fdt_sw.c | 376 +++ src/libfdt/fdt_wip.c | 94 + src/libfdt/libc/bits/alltypes.h | 2 + src/libfdt/libc/bits/fenv.h | 17 + src/libfdt/libc/bits/float.h | 16 + src/libfdt/libc/bits/stdint.h | 20 + src/libfdt/libc/bits/types.h | 30 + src/libfdt/libc/ctype.h | 35 + src/libfdt/libc/features.h | 30 + src/libfdt/libc/intscan.h | 8 + src/libfdt/libc/inttypes.h | 227 ++ src/libfdt/libc/limits.h | 43 + src/libfdt/libc/shgetc.h | 32 + src/libfdt/libc/stdarg.h | 34 + src/libfdt/libc/stdbool.h | 12 + src/libfdt/libc/stddef.h | 29 + src/libfdt/libc/stdint.h | 123 + src/libfdt/libc/stdio.h | 157 ++ src/libfdt/libc/stdio_impl.h | 84 + src/libfdt/libc/stdlib.h | 87 + src/libfdt/libc/string.h | 59 + src/libfdt/libfdt.h | 2076 +++++++++++++++++ src/libfdt/libfdt_env.h | 96 + src/libfdt/libfdt_internal.h | 51 + src/libfdt/libos/malloc.c | 22 + src/libfdt/libos/memchr.c | 19 + src/libfdt/libos/memcmp.c | 17 + src/libfdt/libos/memmove.c | 30 + src/libfdt/libos/strchr.c | 12 + src/libfdt/libos/strlen.c | 12 + src/libfdt/libos/strnlen.c | 7 + src/libfdt/libos/strrchr.c | 16 + src/platform/f133/include/libos/libc/ctype.h | 35 + src/platform/i386/NXOS_new.elf | Bin 0 -> 1306812 bytes .../dts/stm32mp157c-100ask-512d-lcd-v1.dtb | Bin 0 -> 74946 bytes src/platform/i386/hal/init.c | 5 + src/platform/i386/i386.dtb | Bin 0 -> 109078 bytes src/platform/i386/nxos.ld | 19 +- src/utils/compatible.c | 2 +- 63 files changed, 7030 insertions(+), 3 deletions(-) create mode 100644 src/arch/x86/include/setup.h create mode 100644 src/arch/x86/kernel/setup.c create mode 100644 src/drivers/of/Makefile create mode 100644 src/drivers/of/fdt.c create mode 100644 src/include/base/mach_desc.h create mode 100644 src/include/base/of.h create mode 100644 src/libfdt/Makefile create mode 100755 src/libfdt/fdt.c create mode 100755 src/libfdt/fdt.h create mode 100755 src/libfdt/fdt_addresses.c create mode 100755 src/libfdt/fdt_empty_tree.c create mode 100755 src/libfdt/fdt_overlay.c create mode 100755 src/libfdt/fdt_ro.c create mode 100755 src/libfdt/fdt_rw.c create mode 100755 src/libfdt/fdt_strerror.c create mode 100755 src/libfdt/fdt_sw.c create mode 100755 src/libfdt/fdt_wip.c create mode 100644 src/libfdt/libc/bits/alltypes.h create mode 100644 src/libfdt/libc/bits/fenv.h create mode 100644 src/libfdt/libc/bits/float.h create mode 100644 src/libfdt/libc/bits/stdint.h create mode 100644 src/libfdt/libc/bits/types.h create mode 100644 src/libfdt/libc/ctype.h create mode 100644 src/libfdt/libc/features.h create mode 100644 src/libfdt/libc/intscan.h create mode 100644 src/libfdt/libc/inttypes.h create mode 100644 src/libfdt/libc/limits.h create mode 100644 src/libfdt/libc/shgetc.h create mode 100644 src/libfdt/libc/stdarg.h create mode 100644 src/libfdt/libc/stdbool.h create mode 100644 src/libfdt/libc/stddef.h create mode 100644 src/libfdt/libc/stdint.h create mode 100644 src/libfdt/libc/stdio.h create mode 100644 src/libfdt/libc/stdio_impl.h create mode 100644 src/libfdt/libc/stdlib.h create mode 100644 src/libfdt/libc/string.h create mode 100755 src/libfdt/libfdt.h create mode 100755 src/libfdt/libfdt_env.h create mode 100755 src/libfdt/libfdt_internal.h create mode 100644 src/libfdt/libos/malloc.c create mode 100644 src/libfdt/libos/memchr.c create mode 100644 src/libfdt/libos/memcmp.c create mode 100644 src/libfdt/libos/memmove.c create mode 100644 src/libfdt/libos/strchr.c create mode 100644 src/libfdt/libos/strlen.c create mode 100644 src/libfdt/libos/strnlen.c create mode 100644 src/libfdt/libos/strrchr.c create mode 100644 src/platform/f133/include/libos/libc/ctype.h create mode 100755 src/platform/i386/NXOS_new.elf create mode 100755 src/platform/i386/dts/stm32mp157c-100ask-512d-lcd-v1.dtb create mode 100644 src/platform/i386/i386.dtb diff --git a/src/Makefile b/src/Makefile index bd19aba..d1253f9 100644 --- a/src/Makefile +++ b/src/Makefile @@ -93,6 +93,9 @@ INCDIRS += include INCDIRS += ./ INCDIRS += arch/$(ARCH)/include INCDIRS += platform/$(PLATFORM)/include +INCDIRS += libfdt +INCDIRS += libfdt/libc +INCDIRS += libfdt/libc/bits # Srouce codes SRCDIRS += arch/$(ARCH)/ @@ -109,6 +112,7 @@ SRCDIRS += fs/ SRCDIRS += test/ SRCDIRS += time/ SRCDIRS += ipc/ +SRCDIRS += libfdt/ # # XBuild variables diff --git a/src/arch/x86/include/setup.h b/src/arch/x86/include/setup.h new file mode 100644 index 0000000..06784a5 --- /dev/null +++ b/src/arch/x86/include/setup.h @@ -0,0 +1,13 @@ +#ifndef __I386_SETUP__ +#define __I386_SETUP__ + +#include + +NX_IMPORT NX_U8 __dtb_start[]; +NX_IMPORT NX_U8 __dtb_end[]; +NX_IMPORT NX_U8 __arch_info_begin[],__arch_info_end[]; +#define false 0 +#define true 1 + + +#endif diff --git a/src/arch/x86/kernel/i386.S b/src/arch/x86/kernel/i386.S index c324003..f3bae7e 100644 --- a/src/arch/x86/kernel/i386.S +++ b/src/arch/x86/kernel/i386.S @@ -11,6 +11,9 @@ #include #include + +.section .dtb, "a" +.incbin "/home/xiaoxiao/bookos/BookOS/kernel/src/platform/i386/dts/stm32mp157c-100ask-512d-lcd-v1.dtb" /* path from current dir */ .code32 .text diff --git a/src/arch/x86/kernel/setup.c b/src/arch/x86/kernel/setup.c new file mode 100644 index 0000000..bbab583 --- /dev/null +++ b/src/arch/x86/kernel/setup.c @@ -0,0 +1,119 @@ + +#include +#include +#include +#include +#include +#include +typedef struct { + unsigned int magic; + unsigned int total_size; + unsigned int off_dt_struct; + unsigned int off_dt_strings; + unsigned int off_dt_reserved; + unsigned int version; + unsigned int last_comp_version; + unsigned int boot_cpuid_phys; + unsigned int size_dt_strings; + unsigned int size_dt_struct; +} dtb_header; + + +static const char * const arm_dt_compat[] = { + "st,stm32mp157", + NULL, +}; + +static const char * const i386_dt_compat[] = { + "i386", + NULL, +}; + +static const struct machine_desc _mach_desc_arm + __attribute__((__section__(".arch.info.init")))={ + .dt_compat = arm_dt_compat, + }; + +static const struct machine_desc _mach_desc_i386 + __attribute__((__section__(".arch.info.init")))={ + .dt_compat = i386_dt_compat, + }; + + + +void * initial_boot_params; +void print_dtb_magic(const void* dtb_address) { + // 将内存地址的指针转换为dtb_header类型的指针 + const dtb_header* header = (const dtb_header*)dtb_address; + unsigned int magic = header->magic; + + + // 将magic值转换为16进制并打印 + NX_LOG_I("dtb_address: %p\n", dtb_address); + NX_LOG_I("Magic: 0x%x\n", magic); + NX_LOG_I("off_dt_struct: 0x%x\n", header->off_dt_struct); +} + +_Bool early_init_dt_verify(NX_U8* dtb_address){ + if(! dtb_address) + return false; + if (fdt_check_header(dtb_address)) + return false; + + return true; +} + +static const void * arch_get_next_mach(const char *const **match){ + static const struct machine_desc *mdesc = __arch_info_begin; + const struct machine_desc *m = mdesc; + if(m >= __arch_info_end) + return 0; + + mdesc++; + *match = m->dt_compat; + return m; + +} + +const struct machine_desc * setup_machine_fdt(NX_U8* dt_phys) +{ + const struct machine_desc *mdesc, *mdesc_best = 0; + + if(!dt_phys||!early_init_dt_verify(dt_phys)) + return false; + NX_LOG_I("Magic is true"); + const dtb_header* header = (const dtb_header*)dt_phys; + unsigned int off_dt_struct = ((header->off_dt_struct & 0xFF000000) >> 24) | ((header->off_dt_struct & 0x00FF0000) >> 8) | + ((header->off_dt_struct & 0x0000FF00) << 8) | ((header->off_dt_struct & 0x000000FF) << 24); + unsigned int off_dt_strings = ((header->off_dt_strings & 0xFF000000) >> 24) | ((header->off_dt_strings & 0x00FF0000) >> 8) | + ((header->off_dt_strings & 0x0000FF00) << 8) | ((header->off_dt_strings & 0x000000FF) << 24); + mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach,off_dt_struct,off_dt_strings); + + return false; +} + + +void setup_arch(){ + const struct machine_desc *mdesc; + const struct machine_desc*hdmdesc = (const struct machine_desc*)__arch_info_begin; + initial_boot_params = (void *)__dtb_start; + NX_Size dtbSize = (NX_Size)(__dtb_end - __dtb_start); + + + /*得到最符合的machine_desc*/ + mdesc = setup_machine_fdt(__dtb_start); + + + + /*这两个打印函数必须存在,否则会出现bug*/ + NX_LOG_I("_mach_desc_i386: %s\n",_mach_desc_i386); + NX_LOG_I("_mach_desc_arm: %s\n",_mach_desc_arm); + + + + + print_dtb_magic(__dtb_start); + + //return true; +} + \ No newline at end of file diff --git a/src/drivers/Makefile b/src/drivers/Makefile index 9802f41..7ae4ca0 100644 --- a/src/drivers/Makefile +++ b/src/drivers/Makefile @@ -8,3 +8,4 @@ SRC += cpuinfo/ SRC += udriver/ SRC += pmem/ SRC += vmem/ +SRC += of/ diff --git a/src/drivers/block/romdisk.c b/src/drivers/block/romdisk.c index 55736f6..9809ee3 100644 --- a/src/drivers/block/romdisk.c +++ b/src/drivers/block/romdisk.c @@ -24,7 +24,11 @@ NX_IMPORT NX_U8 __NX_RomdiskStart[]; NX_IMPORT NX_U8 __NX_RomdiskEnd[]; +NX_IMPORT NX_U8 __dtb_start[]; +NX_IMPORT NX_U8 __dtb_end[]; + NX_PRIVATE NX_Size romdiskSize = 0; +NX_PRIVATE NX_Size dtbSize = 0; NX_PRIVATE NX_Error RomdiskRead(struct NX_Device *device, void *buf, NX_Offset off, NX_Size len, NX_Size *outLen) { @@ -87,8 +91,11 @@ NX_PRIVATE void RomdiskDriverInit(void) } romdiskSize = (NX_Size)(__NX_RomdiskEnd - __NX_RomdiskStart); + dtbSize = (NX_Size)(__dtb_end - __dtb_start); + //NX_Printf("__dtb_start %p", __dtb_start); + NX_Printf("__dtb_start %p", __dtb_start); NX_LOG_I("romdisk size %x", romdiskSize); - + //NX_Printf("dtb Size %x", dtbSize); NX_LOG_I("init %s driver success!", DRV_NAME); } diff --git a/src/drivers/of/Makefile b/src/drivers/of/Makefile new file mode 100644 index 0000000..487d0cb --- /dev/null +++ b/src/drivers/of/Makefile @@ -0,0 +1 @@ +SRC += *.c \ No newline at end of file diff --git a/src/drivers/of/fdt.c b/src/drivers/of/fdt.c new file mode 100644 index 0000000..5088373 --- /dev/null +++ b/src/drivers/of/fdt.c @@ -0,0 +1,129 @@ + +#include +#include +#include +#include +#include +extern void * initial_boot_params; +NX_IMPORT NX_U8 __dtb_end[]; + +const void * of_find_compatible(unsigned int off_dt_struct,unsigned int off_dt_strings,unsigned int* cplen){ + const char * dt_struct = initial_boot_params+off_dt_struct; + unsigned int temp = fdt32_ld(dt_struct); + // NX_LOG_I("dt_struct:%p\n",dt_struct); + // NX_LOG_I("initial_boot_params:%p\n",initial_boot_params); + const char *name = NULL; + const char* compatible = "compatible"; + int com_len = strlen(compatible); + int next_len,last_len = 0; + int dt_compt_i = 0; + while(name!="compatible"){ + + if(temp == 0x00000003){ + // NX_LOG_I("temp:0x%x\n",temp); + const struct fdt_property* dt_block = (const struct fdt_property*)dt_struct; + unsigned int nameoff = ((dt_block->nameoff & 0xFF000000) >> 24) | ((dt_block->nameoff & 0x00FF0000) >> 8) | + ( (dt_block->nameoff & 0x0000FF00) << 8) | ((dt_block->nameoff & 0x000000FF) << 24); + cplen = ((dt_block->len & 0xFF000000) >> 24) | ((dt_block->len & 0x00FF0000) >> 8) | + ( (dt_block->len & 0x0000FF00) << 8) | ((dt_block->len & 0x000000FF) << 24); + const char*pointer = initial_boot_params+off_dt_strings+nameoff; + if(pointer[0]=='c'){ + int result = memcmp(pointer,compatible,com_len); + NX_LOG_I("compatibles属性值:%c\n",pointer[0]); + NX_LOG_I("compatibles属性值:%c\n",pointer[1]); + + if(result == 0) + { + return dt_block; + } + } + dt_struct+=4; + temp = fdt32_ld(dt_struct); + } + else{ + + dt_struct+=4; + temp = fdt32_ld(dt_struct); + if(dt_struct>__dtb_end) + return 0; + continue; + } + } + +} + +static int of_fdt_is_compatible( + const char *compat,unsigned int off_dt_struct,unsigned int off_dt_strings) +{ + const char *cp; + unsigned cplen=0; + unsigned int* ptr = NULL; + ptr = &cplen; + + unsigned long l, score = 0; + + + const struct fdt_property* dt_block = of_find_compatible(off_dt_struct,off_dt_strings,ptr); + + cplen = ((dt_block->len & 0xFF000000) >> 24) | ((dt_block->len & 0x00FF0000) >> 8) | + ( (dt_block->len & 0x0000FF00) << 8) | ((dt_block->len & 0x000000FF) << 24); + cp = dt_block->data; + + if (cp == NULL) + return 0; + while (cplen > 0) { + score++; + if( (NX_StrCmpN(cp, compat,strlen(cp))) == 0) + return score; + l = strlen(cp) + 1; + cp += l; + cplen -= l; + } + + return 0; +} + +static int of_flat_dt_match(const char *const *compat,unsigned int off_dt_struct,unsigned int off_dt_strings) +{ + unsigned int tmp, score = 0; + + if (!compat) + return 0; + + while (*compat) { + tmp = of_fdt_is_compatible(*compat,off_dt_struct,off_dt_strings); + if (tmp && (score == 0 || (tmp < score))) + score = tmp; + compat++; + } + + return score; +} + +const void * of_flat_dt_match_machine(const void *default_match, + const void * (*get_next_compat)(const char * const**), unsigned int off_dt_struct,unsigned int off_dt_strings) +{ + const struct machine_desc *data = 0; + + const struct machine_desc* best_data = (const struct machine_desc*)default_match; + + const char *const *compat; + unsigned long dt_root; + unsigned int best_score = ~1,score = 0; + const struct fdt_property* prop; + const char* compatible; + int cplen,poffset; + while ((data = get_next_compat(&compat))) { + + score = of_flat_dt_match(compat,off_dt_struct,off_dt_strings); + + /* 记录得分最低(最匹配)的machine_desc */ + if (score > 0 && score < best_score) { + best_data = data; + best_score = score; + } + + } + return best_data; + +} diff --git a/src/include/base/mach_desc.h b/src/include/base/mach_desc.h new file mode 100644 index 0000000..ebef25b --- /dev/null +++ b/src/include/base/mach_desc.h @@ -0,0 +1,10 @@ +#ifndef _MACH_DESC_H +#define _MACH_DESC_H + +struct machine_desc { + + const char **dt_compat; + +}; + +#endif \ No newline at end of file diff --git a/src/include/base/of.h b/src/include/base/of.h new file mode 100644 index 0000000..c975f06 --- /dev/null +++ b/src/include/base/of.h @@ -0,0 +1,7 @@ + +#ifndef _NXOS_OF_FDT_H +#define _NXOS_OF_FDT_H +const void * of_flat_dt_match_machine(const void *default_match, + const void * (*get_next_compat)(const char * const**), unsigned int off_dt_struct,unsigned int off_dt_strings); + +#endif \ No newline at end of file diff --git a/src/include/base/types.h b/src/include/base/types.h index 7214f8f..cc87544 100644 --- a/src/include/base/types.h +++ b/src/include/base/types.h @@ -40,4 +40,5 @@ enum NX_Bool }; typedef enum NX_Bool NX_Bool; + #endif /* __XBOOK_TYPES__ */ diff --git a/src/include/nxos.h b/src/include/nxos.h index 18a547f..21dc3d4 100644 --- a/src/include/nxos.h +++ b/src/include/nxos.h @@ -73,5 +73,6 @@ #include #include #include +#include #endif /* __NXOS_ALL__ */ diff --git a/src/include/nxos_mini.h b/src/include/nxos_mini.h index abd391b..10bf770 100644 --- a/src/include/nxos_mini.h +++ b/src/include/nxos_mini.h @@ -12,6 +12,9 @@ #ifndef __NXOS_MINI__ #define __NXOS_MINI__ +#undef NULL +#define NULL ((void *)0) + #include #if !defined(__ASSEMBLY__) && !defined(ASSEMBLY) @@ -19,6 +22,7 @@ #include #include #include +#include #endif #endif /* __NXOS_MINI__ */ diff --git a/src/init/main.c b/src/init/main.c index 0984fc3..812464f 100644 --- a/src/init/main.c +++ b/src/init/main.c @@ -87,6 +87,8 @@ int NX_Main(NX_UArch coreId) /* init page cache */ NX_PageCacheInit(); + + setup_arch(); /* init heap cache for NX_MemAlloc & NX_MemFree */ NX_HeapCacheInit(); diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c index dc96d1d..50a6fbf 100644 --- a/src/kernel/kernel.c +++ b/src/kernel/kernel.c @@ -20,6 +20,7 @@ NX_IMPORT NX_Addr __NX_TextEnd; NX_IMPORT NX_Addr __NX_DataEnd; NX_IMPORT NX_Addr __NX_BssEnd; + NX_Addr NX_KernelGetSegmentStart(char * name) { if (!NX_StrCmp(name, "text")) diff --git a/src/libfdt/Makefile b/src/libfdt/Makefile new file mode 100644 index 0000000..20ec4dc --- /dev/null +++ b/src/libfdt/Makefile @@ -0,0 +1,2 @@ +SRC += *.c +SRC += libos/ \ No newline at end of file diff --git a/src/libfdt/fdt.c b/src/libfdt/fdt.c new file mode 100755 index 0000000..179168e --- /dev/null +++ b/src/libfdt/fdt.c @@ -0,0 +1,286 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2006 David Gibson, IBM Corporation. + */ +#include "libfdt_env.h" + +#include +#include + +#include "libfdt_internal.h" + +/* + * Minimal sanity check for a read-only tree. fdt_ro_probe_() checks + * that the given buffer contains what appears to be a flattened + * device tree with sane information in its header. + */ +int fdt_ro_probe_(const void *fdt) +{ + if (fdt_magic(fdt) == FDT_MAGIC) { + /* Complete tree */ + if (fdt_version(fdt) < FDT_FIRST_SUPPORTED_VERSION) + return -FDT_ERR_BADVERSION; + if (fdt_last_comp_version(fdt) > FDT_LAST_SUPPORTED_VERSION) + return -FDT_ERR_BADVERSION; + } else if (fdt_magic(fdt) == FDT_SW_MAGIC) { + /* Unfinished sequential-write blob */ + if (fdt_size_dt_struct(fdt) == 0) + return -FDT_ERR_BADSTATE; + } else { + return -FDT_ERR_BADMAGIC; + } + + return 0; +} + +static int check_off_(uint32_t hdrsize, uint32_t totalsize, uint32_t off) +{ + return (off >= hdrsize) && (off <= totalsize); +} + +static int check_block_(uint32_t hdrsize, uint32_t totalsize, + uint32_t base, uint32_t size) +{ + if (!check_off_(hdrsize, totalsize, base)) + return 0; /* block start out of bounds */ + if ((base + size) < base) + return 0; /* overflow */ + if (!check_off_(hdrsize, totalsize, base + size)) + return 0; /* block end out of bounds */ + return 1; +} + +size_t fdt_header_size_(uint32_t version) +{ + if (version <= 1) + return FDT_V1_SIZE; + else if (version <= 2) + return FDT_V2_SIZE; + else if (version <= 3) + return FDT_V3_SIZE; + else if (version <= 16) + return FDT_V16_SIZE; + else + return FDT_V17_SIZE; +} + +int fdt_check_header(const void *fdt) +{ + size_t hdrsize; + + if (fdt_magic(fdt) != FDT_MAGIC) + return -FDT_ERR_BADMAGIC; + hdrsize = fdt_header_size(fdt); + if ((fdt_version(fdt) < FDT_FIRST_SUPPORTED_VERSION) + || (fdt_last_comp_version(fdt) > FDT_LAST_SUPPORTED_VERSION)) + return -FDT_ERR_BADVERSION; + if (fdt_version(fdt) < fdt_last_comp_version(fdt)) + return -FDT_ERR_BADVERSION; + + if ((fdt_totalsize(fdt) < hdrsize) + || (fdt_totalsize(fdt) > INT_MAX)) + return -FDT_ERR_TRUNCATED; + + /* Bounds check memrsv block */ + if (!check_off_(hdrsize, fdt_totalsize(fdt), fdt_off_mem_rsvmap(fdt))) + return -FDT_ERR_TRUNCATED; + + /* Bounds check structure block */ + if (fdt_version(fdt) < 17) { + if (!check_off_(hdrsize, fdt_totalsize(fdt), + fdt_off_dt_struct(fdt))) + return -FDT_ERR_TRUNCATED; + } else { + if (!check_block_(hdrsize, fdt_totalsize(fdt), + fdt_off_dt_struct(fdt), + fdt_size_dt_struct(fdt))) + return -FDT_ERR_TRUNCATED; + } + + /* Bounds check strings block */ + if (!check_block_(hdrsize, fdt_totalsize(fdt), + fdt_off_dt_strings(fdt), fdt_size_dt_strings(fdt))) + return -FDT_ERR_TRUNCATED; + + return 0; +} + +const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int len) +{ + unsigned absoffset = offset + fdt_off_dt_struct(fdt); + + if ((absoffset < offset) + || ((absoffset + len) < absoffset) + || (absoffset + len) > fdt_totalsize(fdt)) + return NULL; + + if (fdt_version(fdt) >= 0x11) + if (((offset + len) < offset) + || ((offset + len) > fdt_size_dt_struct(fdt))) + return NULL; + + return fdt_offset_ptr_(fdt, offset); +} + +uint32_t fdt_next_tag(const void *fdt, int startoffset, int *nextoffset) +{ + const fdt32_t *tagp, *lenp; + uint32_t tag; + int offset = startoffset; + const char *p; + + *nextoffset = -FDT_ERR_TRUNCATED; + tagp = fdt_offset_ptr(fdt, offset, FDT_TAGSIZE); + if (!tagp) + return FDT_END; /* premature end */ + tag = fdt32_to_cpu(*tagp); + offset += FDT_TAGSIZE; + + *nextoffset = -FDT_ERR_BADSTRUCTURE; + switch (tag) { + case FDT_BEGIN_NODE: + /* skip name */ + do { + p = fdt_offset_ptr(fdt, offset++, 1); + } while (p && (*p != '\0')); + if (!p) + return FDT_END; /* premature end */ + break; + + case FDT_PROP: + lenp = fdt_offset_ptr(fdt, offset, sizeof(*lenp)); + if (!lenp) + return FDT_END; /* premature end */ + /* skip-name offset, length and value */ + offset += sizeof(struct fdt_property) - FDT_TAGSIZE + + fdt32_to_cpu(*lenp); + if (fdt_version(fdt) < 0x10 && fdt32_to_cpu(*lenp) >= 8 && + ((offset - fdt32_to_cpu(*lenp)) % 8) != 0) + offset += 4; + break; + + case FDT_END: + case FDT_END_NODE: + case FDT_NOP: + break; + + default: + return FDT_END; + } + + if (!fdt_offset_ptr(fdt, startoffset, offset - startoffset)) + return FDT_END; /* premature end */ + + *nextoffset = FDT_TAGALIGN(offset); + return tag; +} + +int fdt_check_node_offset_(const void *fdt, int offset) +{ + if ((offset < 0) || (offset % FDT_TAGSIZE) + || (fdt_next_tag(fdt, offset, &offset) != FDT_BEGIN_NODE)) + return -FDT_ERR_BADOFFSET; + + return offset; +} + +int fdt_check_prop_offset_(const void *fdt, int offset) +{ + if ((offset < 0) || (offset % FDT_TAGSIZE) + || (fdt_next_tag(fdt, offset, &offset) != FDT_PROP)) + return -FDT_ERR_BADOFFSET; + + return offset; +} + +int fdt_next_node(const void *fdt, int offset, int *depth) +{ + int nextoffset = 0; + uint32_t tag; + + if (offset >= 0) + if ((nextoffset = fdt_check_node_offset_(fdt, offset)) < 0) + return nextoffset; + + do { + offset = nextoffset; + tag = fdt_next_tag(fdt, offset, &nextoffset); + + switch (tag) { + case FDT_PROP: + case FDT_NOP: + break; + + case FDT_BEGIN_NODE: + if (depth) + (*depth)++; + break; + + case FDT_END_NODE: + if (depth && ((--(*depth)) < 0)) + return nextoffset; + break; + + case FDT_END: + if ((nextoffset >= 0) + || ((nextoffset == -FDT_ERR_TRUNCATED) && !depth)) + return -FDT_ERR_NOTFOUND; + else + return nextoffset; + } + } while (tag != FDT_BEGIN_NODE); + + return offset; +} + +int fdt_first_subnode(const void *fdt, int offset) +{ + int depth = 0; + + offset = fdt_next_node(fdt, offset, &depth); + if (offset < 0 || depth != 1) + return -FDT_ERR_NOTFOUND; + + return offset; +} + +int fdt_next_subnode(const void *fdt, int offset) +{ + int depth = 1; + + /* + * With respect to the parent, the depth of the next subnode will be + * the same as the last. + */ + do { + offset = fdt_next_node(fdt, offset, &depth); + if (offset < 0 || depth < 1) + return -FDT_ERR_NOTFOUND; + } while (depth > 1); + + return offset; +} + +const char *fdt_find_string_(const char *strtab, int tabsize, const char *s) +{ + int len = strlen(s) + 1; + const char *last = strtab + tabsize - len; + const char *p; + + for (p = strtab; p <= last; p++) + if (memcmp(p, s, len) == 0) + return p; + return NULL; +} + +int fdt_move(const void *fdt, void *buf, int bufsize) +{ + FDT_RO_PROBE(fdt); + + if (fdt_totalsize(fdt) > bufsize) + return -FDT_ERR_NOSPACE; + + memmove(buf, fdt, fdt_totalsize(fdt)); + return 0; +} diff --git a/src/libfdt/fdt.h b/src/libfdt/fdt.h new file mode 100755 index 0000000..d1455bc --- /dev/null +++ b/src/libfdt/fdt.h @@ -0,0 +1,66 @@ +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */ +#ifndef FDT_H +#define FDT_H +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2006 David Gibson, IBM Corporation. + * Copyright 2012 Kim Phillips, Freescale Semiconductor. + */ + +#ifndef __ASSEMBLY__ +#include +struct fdt_header { + fdt32_t magic; /* magic word FDT_MAGIC */ + fdt32_t totalsize; /* total size of DT block */ + fdt32_t off_dt_struct; /* offset to structure */ + fdt32_t off_dt_strings; /* offset to strings */ + fdt32_t off_mem_rsvmap; /* offset to memory reserve map */ + fdt32_t version; /* format version */ + fdt32_t last_comp_version; /* last compatible version */ + + /* version 2 fields below */ + fdt32_t boot_cpuid_phys; /* Which physical CPU id we're + booting on */ + /* version 3 fields below */ + fdt32_t size_dt_strings; /* size of the strings block */ + + /* version 17 fields below */ + fdt32_t size_dt_struct; /* size of the structure block */ +}; + +struct fdt_reserve_entry { + fdt64_t address; + fdt64_t size; +}; + +struct fdt_node_header { + fdt32_t tag; + char name[0]; +}; + +struct fdt_property { + fdt32_t tag; + fdt32_t len; + fdt32_t nameoff; + char data[0]; +}; + +#endif /* !__ASSEMBLY */ + +#define FDT_MAGIC 0xd00dfeed /* 4: version, 4: total size */ +#define FDT_TAGSIZE sizeof(fdt32_t) + +#define FDT_BEGIN_NODE 0x1 /* Start node: full name */ +#define FDT_END_NODE 0x2 /* End node */ +#define FDT_PROP 0x3 /* Property: name off, + size, content */ +#define FDT_NOP 0x4 /* nop */ +#define FDT_END 0x9 + +#define FDT_V1_SIZE (7*sizeof(fdt32_t)) +#define FDT_V2_SIZE (FDT_V1_SIZE + sizeof(fdt32_t)) +#define FDT_V3_SIZE (FDT_V2_SIZE + sizeof(fdt32_t)) +#define FDT_V16_SIZE FDT_V3_SIZE +#define FDT_V17_SIZE (FDT_V16_SIZE + sizeof(fdt32_t)) + +#endif /* FDT_H */ diff --git a/src/libfdt/fdt_addresses.c b/src/libfdt/fdt_addresses.c new file mode 100755 index 0000000..d8ba8ec --- /dev/null +++ b/src/libfdt/fdt_addresses.c @@ -0,0 +1,99 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2014 David Gibson + * Copyright (C) 2018 embedded brains GmbH + */ +#include "libfdt_env.h" + +#include +#include + +#include "libfdt_internal.h" + +static int fdt_cells(const void *fdt, int nodeoffset, const char *name) +{ + const fdt32_t *c; + int val; + int len; + + c = fdt_getprop(fdt, nodeoffset, name, &len); + if (!c) + return len; + + if (len != sizeof(*c)) + return -FDT_ERR_BADNCELLS; + + val = fdt32_to_cpu(*c); + if ((val <= 0) || (val > FDT_MAX_NCELLS)) + return -FDT_ERR_BADNCELLS; + + return val; +} + +int fdt_address_cells(const void *fdt, int nodeoffset) +{ + int val; + + val = fdt_cells(fdt, nodeoffset, "#address-cells"); + if (val == -FDT_ERR_NOTFOUND) + return 2; + return val; +} + +int fdt_size_cells(const void *fdt, int nodeoffset) +{ + int val; + + val = fdt_cells(fdt, nodeoffset, "#size-cells"); + if (val == -FDT_ERR_NOTFOUND) + return 1; + return val; +} + +/* This function assumes that [address|size]_cells is 1 or 2 */ +int fdt_appendprop_addrrange(void *fdt, int parent, int nodeoffset, + const char *name, uint64_t addr, uint64_t size) +{ + int addr_cells, size_cells, ret; + uint8_t data[sizeof(fdt64_t) * 2], *prop; + + ret = fdt_address_cells(fdt, parent); + if (ret < 0) + return ret; + addr_cells = ret; + + ret = fdt_size_cells(fdt, parent); + if (ret < 0) + return ret; + size_cells = ret; + + /* check validity of address */ + prop = data; + if (addr_cells == 1) { + if ((addr > UINT32_MAX) || ((UINT32_MAX + 1 - addr) < size)) + return -FDT_ERR_BADVALUE; + + fdt32_st(prop, (uint32_t)addr); + } else if (addr_cells == 2) { + fdt64_st(prop, addr); + } else { + return -FDT_ERR_BADNCELLS; + } + + /* check validity of size */ + prop += addr_cells * sizeof(fdt32_t); + if (size_cells == 1) { + if (size > UINT32_MAX) + return -FDT_ERR_BADVALUE; + + fdt32_st(prop, (uint32_t)size); + } else if (size_cells == 2) { + fdt64_st(prop, size); + } else { + return -FDT_ERR_BADNCELLS; + } + + return fdt_appendprop(fdt, nodeoffset, name, data, + (addr_cells + size_cells) * sizeof(fdt32_t)); +} diff --git a/src/libfdt/fdt_empty_tree.c b/src/libfdt/fdt_empty_tree.c new file mode 100755 index 0000000..49d54d4 --- /dev/null +++ b/src/libfdt/fdt_empty_tree.c @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2012 David Gibson, IBM Corporation. + */ +#include "libfdt_env.h" + +#include +#include + +#include "libfdt_internal.h" + +int fdt_create_empty_tree(void *buf, int bufsize) +{ + int err; + + err = fdt_create(buf, bufsize); + if (err) + return err; + + err = fdt_finish_reservemap(buf); + if (err) + return err; + + err = fdt_begin_node(buf, ""); + if (err) + return err; + + err = fdt_end_node(buf); + if (err) + return err; + + err = fdt_finish(buf); + if (err) + return err; + + return fdt_open_into(buf, buf, bufsize); +} diff --git a/src/libfdt/fdt_overlay.c b/src/libfdt/fdt_overlay.c new file mode 100755 index 0000000..9f62c5a --- /dev/null +++ b/src/libfdt/fdt_overlay.c @@ -0,0 +1,871 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2016 Free Electrons + * Copyright (C) 2016 NextThing Co. + */ +#include "libfdt_env.h" + +#include +#include + +#include "libfdt_internal.h" + +/** + * overlay_get_target_phandle - retrieves the target phandle of a fragment + * @fdto: pointer to the device tree overlay blob + * @fragment: node offset of the fragment in the overlay + * + * overlay_get_target_phandle() retrieves the target phandle of an + * overlay fragment when that fragment uses a phandle (target + * property) instead of a path (target-path property). + * + * returns: + * the phandle pointed by the target property + * 0, if the phandle was not found + * -1, if the phandle was malformed + */ +static uint32_t overlay_get_target_phandle(const void *fdto, int fragment) +{ + const fdt32_t *val; + int len; + + val = fdt_getprop(fdto, fragment, "target", &len); + if (!val) + return 0; + + if ((len != sizeof(*val)) || (fdt32_to_cpu(*val) == (uint32_t)-1)) + return (uint32_t)-1; + + return fdt32_to_cpu(*val); +} + +/** + * overlay_get_target - retrieves the offset of a fragment's target + * @fdt: Base device tree blob + * @fdto: Device tree overlay blob + * @fragment: node offset of the fragment in the overlay + * @pathp: pointer which receives the path of the target (or NULL) + * + * overlay_get_target() retrieves the target offset in the base + * device tree of a fragment, no matter how the actual targeting is + * done (through a phandle or a path) + * + * returns: + * the targeted node offset in the base device tree + * Negative error code on error + */ +static int overlay_get_target(const void *fdt, const void *fdto, + int fragment, char const **pathp) +{ + uint32_t phandle; + const char *path = NULL; + int path_len = 0, ret; + + /* Try first to do a phandle based lookup */ + phandle = overlay_get_target_phandle(fdto, fragment); + if (phandle == (uint32_t)-1) + return -FDT_ERR_BADPHANDLE; + + /* no phandle, try path */ + if (!phandle) { + /* And then a path based lookup */ + path = fdt_getprop(fdto, fragment, "target-path", &path_len); + if (path) + ret = fdt_path_offset(fdt, path); + else + ret = path_len; + } else + ret = fdt_node_offset_by_phandle(fdt, phandle); + + /* + * If we haven't found either a target or a + * target-path property in a node that contains a + * __overlay__ subnode (we wouldn't be called + * otherwise), consider it a improperly written + * overlay + */ + if (ret < 0 && path_len == -FDT_ERR_NOTFOUND) + ret = -FDT_ERR_BADOVERLAY; + + /* return on error */ + if (ret < 0) + return ret; + + /* return pointer to path (if available) */ + if (pathp) + *pathp = path ? path : NULL; + + return ret; +} + +/** + * overlay_phandle_add_offset - Increases a phandle by an offset + * @fdt: Base device tree blob + * @node: Device tree overlay blob + * @name: Name of the property to modify (phandle or linux,phandle) + * @delta: offset to apply + * + * overlay_phandle_add_offset() increments a node phandle by a given + * offset. + * + * returns: + * 0 on success. + * Negative error code on error + */ +static int overlay_phandle_add_offset(void *fdt, int node, + const char *name, uint32_t delta) +{ + const fdt32_t *val; + uint32_t adj_val; + int len; + + val = fdt_getprop(fdt, node, name, &len); + if (!val) + return len; + + if (len != sizeof(*val)) + return -FDT_ERR_BADPHANDLE; + + adj_val = fdt32_to_cpu(*val); + if ((adj_val + delta) < adj_val) + return -FDT_ERR_NOPHANDLES; + + adj_val += delta; + if (adj_val == (uint32_t)-1) + return -FDT_ERR_NOPHANDLES; + + return fdt_setprop_inplace_u32(fdt, node, name, adj_val); +} + +/** + * overlay_adjust_node_phandles - Offsets the phandles of a node + * @fdto: Device tree overlay blob + * @node: Offset of the node we want to adjust + * @delta: Offset to shift the phandles of + * + * overlay_adjust_node_phandles() adds a constant to all the phandles + * of a given node. This is mainly use as part of the overlay + * application process, when we want to update all the overlay + * phandles to not conflict with the overlays of the base device tree. + * + * returns: + * 0 on success + * Negative error code on failure + */ +static int overlay_adjust_node_phandles(void *fdto, int node, + uint32_t delta) +{ + int child; + int ret; + + ret = overlay_phandle_add_offset(fdto, node, "phandle", delta); + if (ret && ret != -FDT_ERR_NOTFOUND) + return ret; + + ret = overlay_phandle_add_offset(fdto, node, "linux,phandle", delta); + if (ret && ret != -FDT_ERR_NOTFOUND) + return ret; + + fdt_for_each_subnode(child, fdto, node) { + ret = overlay_adjust_node_phandles(fdto, child, delta); + if (ret) + return ret; + } + + return 0; +} + +/** + * overlay_adjust_local_phandles - Adjust the phandles of a whole overlay + * @fdto: Device tree overlay blob + * @delta: Offset to shift the phandles of + * + * overlay_adjust_local_phandles() adds a constant to all the + * phandles of an overlay. This is mainly use as part of the overlay + * application process, when we want to update all the overlay + * phandles to not conflict with the overlays of the base device tree. + * + * returns: + * 0 on success + * Negative error code on failure + */ +static int overlay_adjust_local_phandles(void *fdto, uint32_t delta) +{ + /* + * Start adjusting the phandles from the overlay root + */ + return overlay_adjust_node_phandles(fdto, 0, delta); +} + +/** + * overlay_update_local_node_references - Adjust the overlay references + * @fdto: Device tree overlay blob + * @tree_node: Node offset of the node to operate on + * @fixup_node: Node offset of the matching local fixups node + * @delta: Offset to shift the phandles of + * + * overlay_update_local_nodes_references() update the phandles + * pointing to a node within the device tree overlay by adding a + * constant delta. + * + * This is mainly used as part of a device tree application process, + * where you want the device tree overlays phandles to not conflict + * with the ones from the base device tree before merging them. + * + * returns: + * 0 on success + * Negative error code on failure + */ +static int overlay_update_local_node_references(void *fdto, + int tree_node, + int fixup_node, + uint32_t delta) +{ + int fixup_prop; + int fixup_child; + int ret; + + fdt_for_each_property_offset(fixup_prop, fdto, fixup_node) { + const fdt32_t *fixup_val; + const char *tree_val; + const char *name; + int fixup_len; + int tree_len; + int i; + + fixup_val = fdt_getprop_by_offset(fdto, fixup_prop, + &name, &fixup_len); + if (!fixup_val) + return fixup_len; + + if (fixup_len % sizeof(uint32_t)) + return -FDT_ERR_BADOVERLAY; + + tree_val = fdt_getprop(fdto, tree_node, name, &tree_len); + if (!tree_val) { + if (tree_len == -FDT_ERR_NOTFOUND) + return -FDT_ERR_BADOVERLAY; + + return tree_len; + } + + for (i = 0; i < (fixup_len / sizeof(uint32_t)); i++) { + fdt32_t adj_val; + uint32_t poffset; + + poffset = fdt32_to_cpu(fixup_val[i]); + + /* + * phandles to fixup can be unaligned. + * + * Use a memcpy for the architectures that do + * not support unaligned accesses. + */ + memcpy(&adj_val, tree_val + poffset, sizeof(adj_val)); + + adj_val = cpu_to_fdt32(fdt32_to_cpu(adj_val) + delta); + + ret = fdt_setprop_inplace_namelen_partial(fdto, + tree_node, + name, + strlen(name), + poffset, + &adj_val, + sizeof(adj_val)); + if (ret == -FDT_ERR_NOSPACE) + return -FDT_ERR_BADOVERLAY; + + if (ret) + return ret; + } + } + + fdt_for_each_subnode(fixup_child, fdto, fixup_node) { + const char *fixup_child_name = fdt_get_name(fdto, fixup_child, + NULL); + int tree_child; + + tree_child = fdt_subnode_offset(fdto, tree_node, + fixup_child_name); + if (tree_child == -FDT_ERR_NOTFOUND) + return -FDT_ERR_BADOVERLAY; + if (tree_child < 0) + return tree_child; + + ret = overlay_update_local_node_references(fdto, + tree_child, + fixup_child, + delta); + if (ret) + return ret; + } + + return 0; +} + +/** + * overlay_update_local_references - Adjust the overlay references + * @fdto: Device tree overlay blob + * @delta: Offset to shift the phandles of + * + * overlay_update_local_references() update all the phandles pointing + * to a node within the device tree overlay by adding a constant + * delta to not conflict with the base overlay. + * + * This is mainly used as part of a device tree application process, + * where you want the device tree overlays phandles to not conflict + * with the ones from the base device tree before merging them. + * + * returns: + * 0 on success + * Negative error code on failure + */ +static int overlay_update_local_references(void *fdto, uint32_t delta) +{ + int fixups; + + fixups = fdt_path_offset(fdto, "/__local_fixups__"); + if (fixups < 0) { + /* There's no local phandles to adjust, bail out */ + if (fixups == -FDT_ERR_NOTFOUND) + return 0; + + return fixups; + } + + /* + * Update our local references from the root of the tree + */ + return overlay_update_local_node_references(fdto, 0, fixups, + delta); +} + +/** + * overlay_fixup_one_phandle - Set an overlay phandle to the base one + * @fdt: Base Device Tree blob + * @fdto: Device tree overlay blob + * @symbols_off: Node offset of the symbols node in the base device tree + * @path: Path to a node holding a phandle in the overlay + * @path_len: number of path characters to consider + * @name: Name of the property holding the phandle reference in the overlay + * @name_len: number of name characters to consider + * @poffset: Offset within the overlay property where the phandle is stored + * @label: Label of the node referenced by the phandle + * + * overlay_fixup_one_phandle() resolves an overlay phandle pointing to + * a node in the base device tree. + * + * This is part of the device tree overlay application process, when + * you want all the phandles in the overlay to point to the actual + * base dt nodes. + * + * returns: + * 0 on success + * Negative error code on failure + */ +static int overlay_fixup_one_phandle(void *fdt, void *fdto, + int symbols_off, + const char *path, uint32_t path_len, + const char *name, uint32_t name_len, + int poffset, const char *label) +{ + const char *symbol_path; + uint32_t phandle; + fdt32_t phandle_prop; + int symbol_off, fixup_off; + int prop_len; + + if (symbols_off < 0) + return symbols_off; + + symbol_path = fdt_getprop(fdt, symbols_off, label, + &prop_len); + if (!symbol_path) + return prop_len; + + symbol_off = fdt_path_offset(fdt, symbol_path); + if (symbol_off < 0) + return symbol_off; + + phandle = fdt_get_phandle(fdt, symbol_off); + if (!phandle) + return -FDT_ERR_NOTFOUND; + + fixup_off = fdt_path_offset_namelen(fdto, path, path_len); + if (fixup_off == -FDT_ERR_NOTFOUND) + return -FDT_ERR_BADOVERLAY; + if (fixup_off < 0) + return fixup_off; + + phandle_prop = cpu_to_fdt32(phandle); + return fdt_setprop_inplace_namelen_partial(fdto, fixup_off, + name, name_len, poffset, + &phandle_prop, + sizeof(phandle_prop)); +}; + +/** + * overlay_fixup_phandle - Set an overlay phandle to the base one + * @fdt: Base Device Tree blob + * @fdto: Device tree overlay blob + * @symbols_off: Node offset of the symbols node in the base device tree + * @property: Property offset in the overlay holding the list of fixups + * + * overlay_fixup_phandle() resolves all the overlay phandles pointed + * to in a __fixups__ property, and updates them to match the phandles + * in use in the base device tree. + * + * This is part of the device tree overlay application process, when + * you want all the phandles in the overlay to point to the actual + * base dt nodes. + * + * returns: + * 0 on success + * Negative error code on failure + */ +static int overlay_fixup_phandle(void *fdt, void *fdto, int symbols_off, + int property) +{ + const char *value; + const char *label; + int len; + + value = fdt_getprop_by_offset(fdto, property, + &label, &len); + if (!value) { + if (len == -FDT_ERR_NOTFOUND) + return -FDT_ERR_INTERNAL; + + return len; + } + + do { + const char *path, *name, *fixup_end; + const char *fixup_str = value; + uint32_t path_len, name_len; + uint32_t fixup_len; + char *sep, *endptr; + int poffset, ret; + + fixup_end = memchr(value, '\0', len); + if (!fixup_end) + return -FDT_ERR_BADOVERLAY; + fixup_len = fixup_end - fixup_str; + + len -= fixup_len + 1; + value += fixup_len + 1; + + path = fixup_str; + sep = memchr(fixup_str, ':', fixup_len); + if (!sep || *sep != ':') + return -FDT_ERR_BADOVERLAY; + + path_len = sep - path; + if (path_len == (fixup_len - 1)) + return -FDT_ERR_BADOVERLAY; + + fixup_len -= path_len + 1; + name = sep + 1; + sep = memchr(name, ':', fixup_len); + if (!sep || *sep != ':') + return -FDT_ERR_BADOVERLAY; + + name_len = sep - name; + if (!name_len) + return -FDT_ERR_BADOVERLAY; + + poffset = NX_StrToUL(sep + 1, &endptr, 10); + if ((*endptr != '\0') || (endptr <= (sep + 1))) + return -FDT_ERR_BADOVERLAY; + + ret = overlay_fixup_one_phandle(fdt, fdto, symbols_off, + path, path_len, name, name_len, + poffset, label); + if (ret) + return ret; + } while (len > 0); + + return 0; +} + +/** + * overlay_fixup_phandles - Resolve the overlay phandles to the base + * device tree + * @fdt: Base Device Tree blob + * @fdto: Device tree overlay blob + * + * overlay_fixup_phandles() resolves all the overlay phandles pointing + * to nodes in the base device tree. + * + * This is one of the steps of the device tree overlay application + * process, when you want all the phandles in the overlay to point to + * the actual base dt nodes. + * + * returns: + * 0 on success + * Negative error code on failure + */ +static int overlay_fixup_phandles(void *fdt, void *fdto) +{ + int fixups_off, symbols_off; + int property; + + /* We can have overlays without any fixups */ + fixups_off = fdt_path_offset(fdto, "/__fixups__"); + if (fixups_off == -FDT_ERR_NOTFOUND) + return 0; /* nothing to do */ + if (fixups_off < 0) + return fixups_off; + + /* And base DTs without symbols */ + symbols_off = fdt_path_offset(fdt, "/__symbols__"); + if ((symbols_off < 0 && (symbols_off != -FDT_ERR_NOTFOUND))) + return symbols_off; + + fdt_for_each_property_offset(property, fdto, fixups_off) { + int ret; + + ret = overlay_fixup_phandle(fdt, fdto, symbols_off, property); + if (ret) + return ret; + } + + return 0; +} + +/** + * overlay_apply_node - Merges a node into the base device tree + * @fdt: Base Device Tree blob + * @target: Node offset in the base device tree to apply the fragment to + * @fdto: Device tree overlay blob + * @node: Node offset in the overlay holding the changes to merge + * + * overlay_apply_node() merges a node into a target base device tree + * node pointed. + * + * This is part of the final step in the device tree overlay + * application process, when all the phandles have been adjusted and + * resolved and you just have to merge overlay into the base device + * tree. + * + * returns: + * 0 on success + * Negative error code on failure + */ +static int overlay_apply_node(void *fdt, int target, + void *fdto, int node) +{ + int property; + int subnode; + + fdt_for_each_property_offset(property, fdto, node) { + const char *name; + const void *prop; + int prop_len; + int ret; + + prop = fdt_getprop_by_offset(fdto, property, &name, + &prop_len); + if (prop_len == -FDT_ERR_NOTFOUND) + return -FDT_ERR_INTERNAL; + if (prop_len < 0) + return prop_len; + + ret = fdt_setprop(fdt, target, name, prop, prop_len); + if (ret) + return ret; + } + + fdt_for_each_subnode(subnode, fdto, node) { + const char *name = fdt_get_name(fdto, subnode, NULL); + int nnode; + int ret; + + nnode = fdt_add_subnode(fdt, target, name); + if (nnode == -FDT_ERR_EXISTS) { + nnode = fdt_subnode_offset(fdt, target, name); + if (nnode == -FDT_ERR_NOTFOUND) + return -FDT_ERR_INTERNAL; + } + + if (nnode < 0) + return nnode; + + ret = overlay_apply_node(fdt, nnode, fdto, subnode); + if (ret) + return ret; + } + + return 0; +} + +/** + * overlay_merge - Merge an overlay into its base device tree + * @fdt: Base Device Tree blob + * @fdto: Device tree overlay blob + * + * overlay_merge() merges an overlay into its base device tree. + * + * This is the next to last step in the device tree overlay application + * process, when all the phandles have been adjusted and resolved and + * you just have to merge overlay into the base device tree. + * + * returns: + * 0 on success + * Negative error code on failure + */ +static int overlay_merge(void *fdt, void *fdto) +{ + int fragment; + + fdt_for_each_subnode(fragment, fdto, 0) { + int overlay; + int target; + int ret; + + /* + * Each fragments will have an __overlay__ node. If + * they don't, it's not supposed to be merged + */ + overlay = fdt_subnode_offset(fdto, fragment, "__overlay__"); + if (overlay == -FDT_ERR_NOTFOUND) + continue; + + if (overlay < 0) + return overlay; + + target = overlay_get_target(fdt, fdto, fragment, NULL); + if (target < 0) + return target; + + ret = overlay_apply_node(fdt, target, fdto, overlay); + if (ret) + return ret; + } + + return 0; +} + +static int get_path_len(const void *fdt, int nodeoffset) +{ + int len = 0, namelen; + const char *name; + + FDT_RO_PROBE(fdt); + + for (;;) { + name = fdt_get_name(fdt, nodeoffset, &namelen); + if (!name) + return namelen; + + /* root? we're done */ + if (namelen == 0) + break; + + nodeoffset = fdt_parent_offset(fdt, nodeoffset); + if (nodeoffset < 0) + return nodeoffset; + len += namelen + 1; + } + + /* in case of root pretend it's "/" */ + if (len == 0) + len++; + return len; +} + +/** + * overlay_symbol_update - Update the symbols of base tree after a merge + * @fdt: Base Device Tree blob + * @fdto: Device tree overlay blob + * + * overlay_symbol_update() updates the symbols of the base tree with the + * symbols of the applied overlay + * + * This is the last step in the device tree overlay application + * process, allowing the reference of overlay symbols by subsequent + * overlay operations. + * + * returns: + * 0 on success + * Negative error code on failure + */ +static int overlay_symbol_update(void *fdt, void *fdto) +{ + int root_sym, ov_sym, prop, path_len, fragment, target; + int len, frag_name_len, ret, rel_path_len; + const char *s, *e; + const char *path; + const char *name; + const char *frag_name; + const char *rel_path; + const char *target_path; + char *buf; + void *p; + + ov_sym = fdt_subnode_offset(fdto, 0, "__symbols__"); + + /* if no overlay symbols exist no problem */ + if (ov_sym < 0) + return 0; + + root_sym = fdt_subnode_offset(fdt, 0, "__symbols__"); + + /* it no root symbols exist we should create them */ + if (root_sym == -FDT_ERR_NOTFOUND) + root_sym = fdt_add_subnode(fdt, 0, "__symbols__"); + + /* any error is fatal now */ + if (root_sym < 0) + return root_sym; + + /* iterate over each overlay symbol */ + fdt_for_each_property_offset(prop, fdto, ov_sym) { + path = fdt_getprop_by_offset(fdto, prop, &name, &path_len); + if (!path) + return path_len; + + /* verify it's a string property (terminated by a single \0) */ + if (path_len < 1 || memchr(path, '\0', path_len) != &path[path_len - 1]) + return -FDT_ERR_BADVALUE; + + /* keep end marker to avoid strlen() */ + e = path + path_len; + + /* format: //__overlay__/ */ + + if (*path != '/') + return -FDT_ERR_BADVALUE; + + /* get fragment name first */ + s = strchr(path + 1, '/'); + if (!s) + return -FDT_ERR_BADOVERLAY; + + frag_name = path + 1; + frag_name_len = s - path - 1; + + /* verify format; safe since "s" lies in \0 terminated prop */ + len = sizeof("/__overlay__/") - 1; + if ((e - s) < len || memcmp(s, "/__overlay__/", len)) + return -FDT_ERR_BADOVERLAY; + + rel_path = s + len; + rel_path_len = e - rel_path; + + /* find the fragment index in which the symbol lies */ + ret = fdt_subnode_offset_namelen(fdto, 0, frag_name, + frag_name_len); + /* not found? */ + if (ret < 0) + return -FDT_ERR_BADOVERLAY; + fragment = ret; + + /* an __overlay__ subnode must exist */ + ret = fdt_subnode_offset(fdto, fragment, "__overlay__"); + if (ret < 0) + return -FDT_ERR_BADOVERLAY; + + /* get the target of the fragment */ + ret = overlay_get_target(fdt, fdto, fragment, &target_path); + if (ret < 0) + return ret; + target = ret; + + /* if we have a target path use */ + if (!target_path) { + ret = get_path_len(fdt, target); + if (ret < 0) + return ret; + len = ret; + } else { + len = strlen(target_path); + } + + ret = fdt_setprop_placeholder(fdt, root_sym, name, + len + (len > 1) + rel_path_len + 1, &p); + if (ret < 0) + return ret; + + if (!target_path) { + /* again in case setprop_placeholder changed it */ + ret = overlay_get_target(fdt, fdto, fragment, &target_path); + if (ret < 0) + return ret; + target = ret; + } + + buf = p; + if (len > 1) { /* target is not root */ + if (!target_path) { + ret = fdt_get_path(fdt, target, buf, len + 1); + if (ret < 0) + return ret; + } else + memcpy(buf, target_path, len + 1); + + } else + len--; + + buf[len] = '/'; + memcpy(buf + len + 1, rel_path, rel_path_len); + buf[len + 1 + rel_path_len] = '\0'; + } + + return 0; +} + +int fdt_overlay_apply(void *fdt, void *fdto) +{ + uint32_t delta; + int ret; + + FDT_RO_PROBE(fdt); + FDT_RO_PROBE(fdto); + + ret = fdt_find_max_phandle(fdt, &delta); + if (ret) + goto err; + + ret = overlay_adjust_local_phandles(fdto, delta); + if (ret) + goto err; + + ret = overlay_update_local_references(fdto, delta); + if (ret) + goto err; + + ret = overlay_fixup_phandles(fdt, fdto); + if (ret) + goto err; + + ret = overlay_merge(fdt, fdto); + if (ret) + goto err; + + ret = overlay_symbol_update(fdt, fdto); + if (ret) + goto err; + + /* + * The overlay has been damaged, erase its magic. + */ + fdt_set_magic(fdto, ~0); + + return 0; + +err: + /* + * The overlay might have been damaged, erase its magic. + */ + fdt_set_magic(fdto, ~0); + + /* + * The base device tree might have been damaged, erase its + * magic. + */ + fdt_set_magic(fdt, ~0); + + return ret; +} diff --git a/src/libfdt/fdt_ro.c b/src/libfdt/fdt_ro.c new file mode 100755 index 0000000..6fd9ec1 --- /dev/null +++ b/src/libfdt/fdt_ro.c @@ -0,0 +1,897 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2006 David Gibson, IBM Corporation. + */ +#include "libfdt_env.h" + +#include +#include + +#include "libfdt_internal.h" + +static int fdt_nodename_eq_(const void *fdt, int offset, + const char *s, int len) +{ + int olen; + const char *p = fdt_get_name(fdt, offset, &olen); + + if (!p || olen < len) + /* short match */ + return 0; + + if (memcmp(p, s, len) != 0) + return 0; + + if (p[len] == '\0') + return 1; + else if (!memchr(s, '@', len) && (p[len] == '@')) + return 1; + else + return 0; +} + +const char *fdt_get_string(const void *fdt, int stroffset, int *lenp) +{ + uint32_t absoffset = stroffset + fdt_off_dt_strings(fdt); + size_t len; + int err; + const char *s, *n; + + err = fdt_ro_probe_(fdt); + if (err != 0) + goto fail; + + err = -FDT_ERR_BADOFFSET; + if (absoffset >= fdt_totalsize(fdt)) + goto fail; + len = fdt_totalsize(fdt) - absoffset; + + if (fdt_magic(fdt) == FDT_MAGIC) { + if (stroffset < 0) + goto fail; + if (fdt_version(fdt) >= 17) { + if (stroffset >= fdt_size_dt_strings(fdt)) + goto fail; + if ((fdt_size_dt_strings(fdt) - stroffset) < len) + len = fdt_size_dt_strings(fdt) - stroffset; + } + } else if (fdt_magic(fdt) == FDT_SW_MAGIC) { + if ((stroffset >= 0) + || (stroffset < -fdt_size_dt_strings(fdt))) + goto fail; + if ((-stroffset) < len) + len = -stroffset; + } else { + err = -FDT_ERR_INTERNAL; + goto fail; + } + + s = (const char *)fdt + absoffset; + n = memchr(s, '\0', len); + if (!n) { + /* missing terminating NULL */ + err = -FDT_ERR_TRUNCATED; + goto fail; + } + + if (lenp) + *lenp = n - s; + return s; + +fail: + if (lenp) + *lenp = err; + return NULL; +} + +const char *fdt_string(const void *fdt, int stroffset) +{ + return fdt_get_string(fdt, stroffset, NULL); +} + +static int fdt_string_eq_(const void *fdt, int stroffset, + const char *s, int len) +{ + int slen; + const char *p = fdt_get_string(fdt, stroffset, &slen); + + return p && (slen == len) && (memcmp(p, s, len) == 0); +} + +int fdt_find_max_phandle(const void *fdt, uint32_t *phandle) +{ + uint32_t max = 0; + int offset = -1; + + while (true) { + uint32_t value; + + offset = fdt_next_node(fdt, offset, NULL); + if (offset < 0) { + if (offset == -FDT_ERR_NOTFOUND) + break; + + return offset; + } + + value = fdt_get_phandle(fdt, offset); + + if (value > max) + max = value; + } + + if (phandle) + *phandle = max; + + return 0; +} + +int fdt_generate_phandle(const void *fdt, uint32_t *phandle) +{ + uint32_t max; + int err; + + err = fdt_find_max_phandle(fdt, &max); + if (err < 0) + return err; + + if (max == FDT_MAX_PHANDLE) + return -FDT_ERR_NOPHANDLES; + + if (phandle) + *phandle = max + 1; + + return 0; +} + +static const struct fdt_reserve_entry *fdt_mem_rsv(const void *fdt, int n) +{ + int offset = n * sizeof(struct fdt_reserve_entry); + int absoffset = fdt_off_mem_rsvmap(fdt) + offset; + + if (absoffset < fdt_off_mem_rsvmap(fdt)) + return NULL; + if (absoffset > fdt_totalsize(fdt) - sizeof(struct fdt_reserve_entry)) + return NULL; + return fdt_mem_rsv_(fdt, n); +} + +int fdt_get_mem_rsv(const void *fdt, int n, uint64_t *address, uint64_t *size) +{ + const struct fdt_reserve_entry *re; + + FDT_RO_PROBE(fdt); + re = fdt_mem_rsv(fdt, n); + if (!re) + return -FDT_ERR_BADOFFSET; + + *address = fdt64_ld(&re->address); + *size = fdt64_ld(&re->size); + return 0; +} + +int fdt_num_mem_rsv(const void *fdt) +{ + int i; + const struct fdt_reserve_entry *re; + + for (i = 0; (re = fdt_mem_rsv(fdt, i)) != NULL; i++) { + if (fdt64_ld(&re->size) == 0) + return i; + } + return -FDT_ERR_TRUNCATED; +} + +static int nextprop_(const void *fdt, int offset) +{ + uint32_t tag; + int nextoffset; + + do { + tag = fdt_next_tag(fdt, offset, &nextoffset); + + switch (tag) { + case FDT_END: + if (nextoffset >= 0) + return -FDT_ERR_BADSTRUCTURE; + else + return nextoffset; + + case FDT_PROP: + return offset; + } + offset = nextoffset; + } while (tag == FDT_NOP); + + return -FDT_ERR_NOTFOUND; +} + +int fdt_subnode_offset_namelen(const void *fdt, int offset, + const char *name, int namelen) +{ + int depth; + + FDT_RO_PROBE(fdt); + + for (depth = 0; + (offset >= 0) && (depth >= 0); + offset = fdt_next_node(fdt, offset, &depth)) + if ((depth == 1) + && fdt_nodename_eq_(fdt, offset, name, namelen)) + return offset; + + if (depth < 0) + return -FDT_ERR_NOTFOUND; + return offset; /* error */ +} + +int fdt_subnode_offset(const void *fdt, int parentoffset, + const char *name) +{ + return fdt_subnode_offset_namelen(fdt, parentoffset, name, strlen(name)); +} + +int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen) +{ + const char *end = path + namelen; + const char *p = path; + int offset = 0; + + FDT_RO_PROBE(fdt); + + /* see if we have an alias */ + if (*path != '/') { + const char *q = memchr(path, '/', end - p); + + if (!q) + q = end; + + p = fdt_get_alias_namelen(fdt, p, q - p); + if (!p) + return -FDT_ERR_BADPATH; + offset = fdt_path_offset(fdt, p); + + p = q; + } + + while (p < end) { + const char *q; + + while (*p == '/') { + p++; + if (p == end) + return offset; + } + q = memchr(p, '/', end - p); + if (! q) + q = end; + + offset = fdt_subnode_offset_namelen(fdt, offset, p, q-p); + if (offset < 0) + return offset; + + p = q; + } + + return offset; +} + +int fdt_path_offset(const void *fdt, const char *path) +{ + return fdt_path_offset_namelen(fdt, path, strlen(path)); +} + +const char *fdt_get_name(const void *fdt, int nodeoffset, int *len) +{ + const struct fdt_node_header *nh = fdt_offset_ptr_(fdt, nodeoffset); + const char *nameptr; + int err; + + if (((err = fdt_ro_probe_(fdt)) != 0) + || ((err = fdt_check_node_offset_(fdt, nodeoffset)) < 0)) + goto fail; + + nameptr = nh->name; + + if (fdt_version(fdt) < 0x10) { + /* + * For old FDT versions, match the naming conventions of V16: + * give only the leaf name (after all /). The actual tree + * contents are loosely checked. + */ + const char *leaf; + leaf = strrchr(nameptr, '/'); + if (leaf == NULL) { + err = -FDT_ERR_BADSTRUCTURE; + goto fail; + } + nameptr = leaf+1; + } + + if (len) + *len = strlen(nameptr); + + return nameptr; + + fail: + if (len) + *len = err; + return NULL; +} + +int fdt_first_property_offset(const void *fdt, int nodeoffset) +{ + int offset; + + if ((offset = fdt_check_node_offset_(fdt, nodeoffset)) < 0) + return offset; + + return nextprop_(fdt, offset); +} + +int fdt_next_property_offset(const void *fdt, int offset) +{ + if ((offset = fdt_check_prop_offset_(fdt, offset)) < 0) + return offset; + + return nextprop_(fdt, offset); +} + +static const struct fdt_property *fdt_get_property_by_offset_(const void *fdt, + int offset, + int *lenp) +{ + int err; + const struct fdt_property *prop; + + if ((err = fdt_check_prop_offset_(fdt, offset)) < 0) { + if (lenp) + *lenp = err; + return NULL; + } + + prop = fdt_offset_ptr_(fdt, offset); + + if (lenp) + *lenp = fdt32_ld(&prop->len); + + return prop; +} + +const struct fdt_property *fdt_get_property_by_offset(const void *fdt, + int offset, + int *lenp) +{ + /* Prior to version 16, properties may need realignment + * and this API does not work. fdt_getprop_*() will, however. */ + + if (fdt_version(fdt) < 0x10) { + if (lenp) + *lenp = -FDT_ERR_BADVERSION; + return NULL; + } + + return fdt_get_property_by_offset_(fdt, offset, lenp); +} + +static const struct fdt_property *fdt_get_property_namelen_(const void *fdt, + int offset, + const char *name, + int namelen, + int *lenp, + int *poffset) +{ + for (offset = fdt_first_property_offset(fdt, offset); + (offset >= 0); + (offset = fdt_next_property_offset(fdt, offset))) { + const struct fdt_property *prop; + + if (!(prop = fdt_get_property_by_offset_(fdt, offset, lenp))) { + offset = -FDT_ERR_INTERNAL; + break; + } + if (fdt_string_eq_(fdt, fdt32_ld(&prop->nameoff), + name, namelen)) { + if (poffset) + *poffset = offset; + return prop; + } + } + + if (lenp) + *lenp = offset; + return NULL; +} + + +const struct fdt_property *fdt_get_property_namelen(const void *fdt, + int offset, + const char *name, + int namelen, int *lenp) +{ + /* Prior to version 16, properties may need realignment + * and this API does not work. fdt_getprop_*() will, however. */ + if (fdt_version(fdt) < 0x10) { + if (lenp) + *lenp = -FDT_ERR_BADVERSION; + return NULL; + } + + return fdt_get_property_namelen_(fdt, offset, name, namelen, lenp, + NULL); +} + + +const struct fdt_property *fdt_get_property(const void *fdt, + int nodeoffset, + const char *name, int *lenp) +{ + return fdt_get_property_namelen(fdt, nodeoffset, name, + strlen(name), lenp); +} + +const void *fdt_getprop_namelen(const void *fdt, int nodeoffset, + const char *name, int namelen, int *lenp) +{ + int poffset; + const struct fdt_property *prop; + + prop = fdt_get_property_namelen_(fdt, nodeoffset, name, namelen, lenp, + &poffset); + if (!prop) + return NULL; + + /* Handle realignment */ + if (fdt_version(fdt) < 0x10 && (poffset + sizeof(*prop)) % 8 && + fdt32_ld(&prop->len) >= 8) + return prop->data + 4; + return prop->data; +} + +const void *fdt_getprop_by_offset(const void *fdt, int offset, + const char **namep, int *lenp) +{ + const struct fdt_property *prop; + + prop = fdt_get_property_by_offset_(fdt, offset, lenp); + if (!prop) + return NULL; + if (namep) { + const char *name; + int namelen; + name = fdt_get_string(fdt, fdt32_ld(&prop->nameoff), + &namelen); + if (!name) { + if (lenp) + *lenp = namelen; + return NULL; + } + *namep = name; + } + + /* Handle realignment */ + if (fdt_version(fdt) < 0x10 && (offset + sizeof(*prop)) % 8 && + fdt32_ld(&prop->len) >= 8) + return prop->data + 4; + return prop->data; +} + +const void *fdt_getprop(const void *fdt, int nodeoffset, + const char *name, int *lenp) +{ + return fdt_getprop_namelen(fdt, nodeoffset, name, strlen(name), lenp); +} + +uint32_t fdt_get_phandle(const void *fdt, int nodeoffset) +{ + const fdt32_t *php; + int len; + + /* FIXME: This is a bit sub-optimal, since we potentially scan + * over all the properties twice. */ + php = fdt_getprop(fdt, nodeoffset, "phandle", &len); + if (!php || (len != sizeof(*php))) { + php = fdt_getprop(fdt, nodeoffset, "linux,phandle", &len); + if (!php || (len != sizeof(*php))) + return 0; + } + + return fdt32_ld(php); +} + +const char *fdt_get_alias_namelen(const void *fdt, + const char *name, int namelen) +{ + int aliasoffset; + + aliasoffset = fdt_path_offset(fdt, "/aliases"); + if (aliasoffset < 0) + return NULL; + + return fdt_getprop_namelen(fdt, aliasoffset, name, namelen, NULL); +} + +const char *fdt_get_alias(const void *fdt, const char *name) +{ + return fdt_get_alias_namelen(fdt, name, strlen(name)); +} + +int fdt_get_path(const void *fdt, int nodeoffset, char *buf, int buflen) +{ + int pdepth = 0, p = 0; + int offset, depth, namelen; + const char *name; + + FDT_RO_PROBE(fdt); + + if (buflen < 2) + return -FDT_ERR_NOSPACE; + + for (offset = 0, depth = 0; + (offset >= 0) && (offset <= nodeoffset); + offset = fdt_next_node(fdt, offset, &depth)) { + while (pdepth > depth) { + do { + p--; + } while (buf[p-1] != '/'); + pdepth--; + } + + if (pdepth >= depth) { + name = fdt_get_name(fdt, offset, &namelen); + if (!name) + return namelen; + if ((p + namelen + 1) <= buflen) { + memcpy(buf + p, name, namelen); + p += namelen; + buf[p++] = '/'; + pdepth++; + } + } + + if (offset == nodeoffset) { + if (pdepth < (depth + 1)) + return -FDT_ERR_NOSPACE; + + if (p > 1) /* special case so that root path is "/", not "" */ + p--; + buf[p] = '\0'; + return 0; + } + } + + if ((offset == -FDT_ERR_NOTFOUND) || (offset >= 0)) + return -FDT_ERR_BADOFFSET; + else if (offset == -FDT_ERR_BADOFFSET) + return -FDT_ERR_BADSTRUCTURE; + + return offset; /* error from fdt_next_node() */ +} + +int fdt_supernode_atdepth_offset(const void *fdt, int nodeoffset, + int supernodedepth, int *nodedepth) +{ + int offset, depth; + int supernodeoffset = -FDT_ERR_INTERNAL; + + FDT_RO_PROBE(fdt); + + if (supernodedepth < 0) + return -FDT_ERR_NOTFOUND; + + for (offset = 0, depth = 0; + (offset >= 0) && (offset <= nodeoffset); + offset = fdt_next_node(fdt, offset, &depth)) { + if (depth == supernodedepth) + supernodeoffset = offset; + + if (offset == nodeoffset) { + if (nodedepth) + *nodedepth = depth; + + if (supernodedepth > depth) + return -FDT_ERR_NOTFOUND; + else + return supernodeoffset; + } + } + + if ((offset == -FDT_ERR_NOTFOUND) || (offset >= 0)) + return -FDT_ERR_BADOFFSET; + else if (offset == -FDT_ERR_BADOFFSET) + return -FDT_ERR_BADSTRUCTURE; + + return offset; /* error from fdt_next_node() */ +} + +int fdt_node_depth(const void *fdt, int nodeoffset) +{ + int nodedepth; + int err; + + err = fdt_supernode_atdepth_offset(fdt, nodeoffset, 0, &nodedepth); + if (err) + return (err < 0) ? err : -FDT_ERR_INTERNAL; + return nodedepth; +} + +int fdt_parent_offset(const void *fdt, int nodeoffset) +{ + int nodedepth = fdt_node_depth(fdt, nodeoffset); + + if (nodedepth < 0) + return nodedepth; + return fdt_supernode_atdepth_offset(fdt, nodeoffset, + nodedepth - 1, NULL); +} + +int fdt_node_offset_by_prop_value(const void *fdt, int startoffset, + const char *propname, + const void *propval, int proplen) +{ + int offset; + const void *val; + int len; + + FDT_RO_PROBE(fdt); + + /* FIXME: The algorithm here is pretty horrible: we scan each + * property of a node in fdt_getprop(), then if that didn't + * find what we want, we scan over them again making our way + * to the next node. Still it's the easiest to implement + * approach; performance can come later. */ + for (offset = fdt_next_node(fdt, startoffset, NULL); + offset >= 0; + offset = fdt_next_node(fdt, offset, NULL)) { + val = fdt_getprop(fdt, offset, propname, &len); + if (val && (len == proplen) + && (memcmp(val, propval, len) == 0)) + return offset; + } + + return offset; /* error from fdt_next_node() */ +} + +int fdt_node_offset_by_phandle(const void *fdt, uint32_t phandle) +{ + int offset; + + if ((phandle == 0) || (phandle == -1)) + return -FDT_ERR_BADPHANDLE; + + FDT_RO_PROBE(fdt); + + /* FIXME: The algorithm here is pretty horrible: we + * potentially scan each property of a node in + * fdt_get_phandle(), then if that didn't find what + * we want, we scan over them again making our way to the next + * node. Still it's the easiest to implement approach; + * performance can come later. */ + for (offset = fdt_next_node(fdt, -1, NULL); + offset >= 0; + offset = fdt_next_node(fdt, offset, NULL)) { + if (fdt_get_phandle(fdt, offset) == phandle) + return offset; + } + + return offset; /* error from fdt_next_node() */ +} + +int fdt_stringlist_contains(const char *strlist, int listlen, const char *str) +{ + int len = strlen(str); + const char *p; + + while (listlen >= len) { + if (memcmp(str, strlist, len+1) == 0) + return 1; + p = memchr(strlist, '\0', listlen); + if (!p) + return 0; /* malformed strlist.. */ + listlen -= (p-strlist) + 1; + strlist = p + 1; + } + return 0; +} + +int fdt_stringlist_count(const void *fdt, int nodeoffset, const char *property) +{ + const char *list, *end; + int length, count = 0; + + list = fdt_getprop(fdt, nodeoffset, property, &length); + if (!list) + return length; + + end = list + length; + + while (list < end) { + length = strnlen(list, end - list) + 1; + + /* Abort if the last string isn't properly NUL-terminated. */ + if (list + length > end) + return -FDT_ERR_BADVALUE; + + list += length; + count++; + } + + return count; +} + +int fdt_stringlist_search(const void *fdt, int nodeoffset, const char *property, + const char *string) +{ + int length, len, idx = 0; + const char *list, *end; + + list = fdt_getprop(fdt, nodeoffset, property, &length); + if (!list) + return length; + + len = strlen(string) + 1; + end = list + length; + + while (list < end) { + length = strnlen(list, end - list) + 1; + + /* Abort if the last string isn't properly NUL-terminated. */ + if (list + length > end) + return -FDT_ERR_BADVALUE; + + if (length == len && memcmp(list, string, length) == 0) + return idx; + + list += length; + idx++; + } + + return -FDT_ERR_NOTFOUND; +} + +const char *fdt_stringlist_get(const void *fdt, int nodeoffset, + const char *property, int idx, + int *lenp) +{ + const char *list, *end; + int length; + + list = fdt_getprop(fdt, nodeoffset, property, &length); + if (!list) { + if (lenp) + *lenp = length; + + return NULL; + } + + end = list + length; + + while (list < end) { + length = strnlen(list, end - list) + 1; + + /* Abort if the last string isn't properly NUL-terminated. */ + if (list + length > end) { + if (lenp) + *lenp = -FDT_ERR_BADVALUE; + + return NULL; + } + + if (idx == 0) { + if (lenp) + *lenp = length - 1; + + return list; + } + + list += length; + idx--; + } + + if (lenp) + *lenp = -FDT_ERR_NOTFOUND; + + return NULL; +} + +int fdt_node_check_compatible(const void *fdt, int nodeoffset, + const char *compatible) +{ + const void *prop; + int len; + + prop = fdt_getprop(fdt, nodeoffset, "compatible", &len); + if (!prop) + return len; + + return !fdt_stringlist_contains(prop, len, compatible); +} + +int fdt_node_offset_by_compatible(const void *fdt, int startoffset, + const char *compatible) +{ + int offset, err; + + FDT_RO_PROBE(fdt); + + /* FIXME: The algorithm here is pretty horrible: we scan each + * property of a node in fdt_node_check_compatible(), then if + * that didn't find what we want, we scan over them again + * making our way to the next node. Still it's the easiest to + * implement approach; performance can come later. */ + for (offset = fdt_next_node(fdt, startoffset, NULL); + offset >= 0; + offset = fdt_next_node(fdt, offset, NULL)) { + err = fdt_node_check_compatible(fdt, offset, compatible); + if ((err < 0) && (err != -FDT_ERR_NOTFOUND)) + return err; + else if (err == 0) + return offset; + } + + return offset; /* error from fdt_next_node() */ +} + +int fdt_check_full(const void *fdt, size_t bufsize) +{ + int err; + int num_memrsv; + int offset, nextoffset = 0; + uint32_t tag; + unsigned depth = 0; + const void *prop; + const char *propname; + + if (bufsize < FDT_V1_SIZE) + return -FDT_ERR_TRUNCATED; + err = fdt_check_header(fdt); + if (err != 0) + return err; + if (bufsize < fdt_totalsize(fdt)) + return -FDT_ERR_TRUNCATED; + + num_memrsv = fdt_num_mem_rsv(fdt); + if (num_memrsv < 0) + return num_memrsv; + + while (1) { + offset = nextoffset; + tag = fdt_next_tag(fdt, offset, &nextoffset); + + if (nextoffset < 0) + return nextoffset; + + switch (tag) { + case FDT_NOP: + break; + + case FDT_END: + if (depth != 0) + return -FDT_ERR_BADSTRUCTURE; + return 0; + + case FDT_BEGIN_NODE: + depth++; + if (depth > INT_MAX) + return -FDT_ERR_BADSTRUCTURE; + break; + + case FDT_END_NODE: + if (depth == 0) + return -FDT_ERR_BADSTRUCTURE; + depth--; + break; + + case FDT_PROP: + prop = fdt_getprop_by_offset(fdt, offset, &propname, + &err); + if (!prop) + return err; + break; + + default: + return -FDT_ERR_INTERNAL; + } + } +} diff --git a/src/libfdt/fdt_rw.c b/src/libfdt/fdt_rw.c new file mode 100755 index 0000000..8795947 --- /dev/null +++ b/src/libfdt/fdt_rw.c @@ -0,0 +1,476 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2006 David Gibson, IBM Corporation. + */ +#include "libfdt_env.h" + +#include +#include + +#include "libfdt_internal.h" + +static int fdt_blocks_misordered_(const void *fdt, + int mem_rsv_size, int struct_size) +{ + return (fdt_off_mem_rsvmap(fdt) < FDT_ALIGN(sizeof(struct fdt_header), 8)) + || (fdt_off_dt_struct(fdt) < + (fdt_off_mem_rsvmap(fdt) + mem_rsv_size)) + || (fdt_off_dt_strings(fdt) < + (fdt_off_dt_struct(fdt) + struct_size)) + || (fdt_totalsize(fdt) < + (fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt))); +} + +static int fdt_rw_probe_(void *fdt) +{ + FDT_RO_PROBE(fdt); + + if (fdt_version(fdt) < 17) + return -FDT_ERR_BADVERSION; + if (fdt_blocks_misordered_(fdt, sizeof(struct fdt_reserve_entry), + fdt_size_dt_struct(fdt))) + return -FDT_ERR_BADLAYOUT; + if (fdt_version(fdt) > 17) + fdt_set_version(fdt, 17); + + return 0; +} + +#define FDT_RW_PROBE(fdt) \ + { \ + int err_; \ + if ((err_ = fdt_rw_probe_(fdt)) != 0) \ + return err_; \ + } + +static inline int fdt_data_size_(void *fdt) +{ + return fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt); +} + +static int fdt_splice_(void *fdt, void *splicepoint, int oldlen, int newlen) +{ + char *p = splicepoint; + char *end = (char *)fdt + fdt_data_size_(fdt); + + if (((p + oldlen) < p) || ((p + oldlen) > end)) + return -FDT_ERR_BADOFFSET; + if ((p < (char *)fdt) || ((end - oldlen + newlen) < (char *)fdt)) + return -FDT_ERR_BADOFFSET; + if ((end - oldlen + newlen) > ((char *)fdt + fdt_totalsize(fdt))) + return -FDT_ERR_NOSPACE; + memmove(p + newlen, p + oldlen, end - p - oldlen); + return 0; +} + +static int fdt_splice_mem_rsv_(void *fdt, struct fdt_reserve_entry *p, + int oldn, int newn) +{ + int delta = (newn - oldn) * sizeof(*p); + int err; + err = fdt_splice_(fdt, p, oldn * sizeof(*p), newn * sizeof(*p)); + if (err) + return err; + fdt_set_off_dt_struct(fdt, fdt_off_dt_struct(fdt) + delta); + fdt_set_off_dt_strings(fdt, fdt_off_dt_strings(fdt) + delta); + return 0; +} + +static int fdt_splice_struct_(void *fdt, void *p, + int oldlen, int newlen) +{ + int delta = newlen - oldlen; + int err; + + if ((err = fdt_splice_(fdt, p, oldlen, newlen))) + return err; + + fdt_set_size_dt_struct(fdt, fdt_size_dt_struct(fdt) + delta); + fdt_set_off_dt_strings(fdt, fdt_off_dt_strings(fdt) + delta); + return 0; +} + +/* Must only be used to roll back in case of error */ +static void fdt_del_last_string_(void *fdt, const char *s) +{ + int newlen = strlen(s) + 1; + + fdt_set_size_dt_strings(fdt, fdt_size_dt_strings(fdt) - newlen); +} + +static int fdt_splice_string_(void *fdt, int newlen) +{ + void *p = (char *)fdt + + fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt); + int err; + + if ((err = fdt_splice_(fdt, p, 0, newlen))) + return err; + + fdt_set_size_dt_strings(fdt, fdt_size_dt_strings(fdt) + newlen); + return 0; +} + +static int fdt_find_add_string_(void *fdt, const char *s, int *allocated) +{ + char *strtab = (char *)fdt + fdt_off_dt_strings(fdt); + const char *p; + char *new; + int len = strlen(s) + 1; + int err; + + *allocated = 0; + + p = fdt_find_string_(strtab, fdt_size_dt_strings(fdt), s); + if (p) + /* found it */ + return (p - strtab); + + new = strtab + fdt_size_dt_strings(fdt); + err = fdt_splice_string_(fdt, len); + if (err) + return err; + + *allocated = 1; + + memcpy(new, s, len); + return (new - strtab); +} + +int fdt_add_mem_rsv(void *fdt, uint64_t address, uint64_t size) +{ + struct fdt_reserve_entry *re; + int err; + + FDT_RW_PROBE(fdt); + + re = fdt_mem_rsv_w_(fdt, fdt_num_mem_rsv(fdt)); + err = fdt_splice_mem_rsv_(fdt, re, 0, 1); + if (err) + return err; + + re->address = cpu_to_fdt64(address); + re->size = cpu_to_fdt64(size); + return 0; +} + +int fdt_del_mem_rsv(void *fdt, int n) +{ + struct fdt_reserve_entry *re = fdt_mem_rsv_w_(fdt, n); + + FDT_RW_PROBE(fdt); + + if (n >= fdt_num_mem_rsv(fdt)) + return -FDT_ERR_NOTFOUND; + + return fdt_splice_mem_rsv_(fdt, re, 1, 0); +} + +static int fdt_resize_property_(void *fdt, int nodeoffset, const char *name, + int len, struct fdt_property **prop) +{ + int oldlen; + int err; + + *prop = fdt_get_property_w(fdt, nodeoffset, name, &oldlen); + if (!*prop) + return oldlen; + + if ((err = fdt_splice_struct_(fdt, (*prop)->data, FDT_TAGALIGN(oldlen), + FDT_TAGALIGN(len)))) + return err; + + (*prop)->len = cpu_to_fdt32(len); + return 0; +} + +static int fdt_add_property_(void *fdt, int nodeoffset, const char *name, + int len, struct fdt_property **prop) +{ + int proplen; + int nextoffset; + int namestroff; + int err; + int allocated; + + if ((nextoffset = fdt_check_node_offset_(fdt, nodeoffset)) < 0) + return nextoffset; + + namestroff = fdt_find_add_string_(fdt, name, &allocated); + if (namestroff < 0) + return namestroff; + + *prop = fdt_offset_ptr_w_(fdt, nextoffset); + proplen = sizeof(**prop) + FDT_TAGALIGN(len); + + err = fdt_splice_struct_(fdt, *prop, 0, proplen); + if (err) { + if (allocated) + fdt_del_last_string_(fdt, name); + return err; + } + + (*prop)->tag = cpu_to_fdt32(FDT_PROP); + (*prop)->nameoff = cpu_to_fdt32(namestroff); + (*prop)->len = cpu_to_fdt32(len); + return 0; +} + +int fdt_set_name(void *fdt, int nodeoffset, const char *name) +{ + char *namep; + int oldlen, newlen; + int err; + + FDT_RW_PROBE(fdt); + + namep = (char *)(uintptr_t)fdt_get_name(fdt, nodeoffset, &oldlen); + if (!namep) + return oldlen; + + newlen = strlen(name); + + err = fdt_splice_struct_(fdt, namep, FDT_TAGALIGN(oldlen+1), + FDT_TAGALIGN(newlen+1)); + if (err) + return err; + + memcpy(namep, name, newlen+1); + return 0; +} + +int fdt_setprop_placeholder(void *fdt, int nodeoffset, const char *name, + int len, void **prop_data) +{ + struct fdt_property *prop; + int err; + + FDT_RW_PROBE(fdt); + + err = fdt_resize_property_(fdt, nodeoffset, name, len, &prop); + if (err == -FDT_ERR_NOTFOUND) + err = fdt_add_property_(fdt, nodeoffset, name, len, &prop); + if (err) + return err; + + *prop_data = prop->data; + return 0; +} + +int fdt_setprop(void *fdt, int nodeoffset, const char *name, + const void *val, int len) +{ + void *prop_data; + int err; + + err = fdt_setprop_placeholder(fdt, nodeoffset, name, len, &prop_data); + if (err) + return err; + + if (len) + memcpy(prop_data, val, len); + return 0; +} + +int fdt_appendprop(void *fdt, int nodeoffset, const char *name, + const void *val, int len) +{ + struct fdt_property *prop; + int err, oldlen, newlen; + + FDT_RW_PROBE(fdt); + + prop = fdt_get_property_w(fdt, nodeoffset, name, &oldlen); + if (prop) { + newlen = len + oldlen; + err = fdt_splice_struct_(fdt, prop->data, + FDT_TAGALIGN(oldlen), + FDT_TAGALIGN(newlen)); + if (err) + return err; + prop->len = cpu_to_fdt32(newlen); + memcpy(prop->data + oldlen, val, len); + } else { + err = fdt_add_property_(fdt, nodeoffset, name, len, &prop); + if (err) + return err; + memcpy(prop->data, val, len); + } + return 0; +} + +int fdt_delprop(void *fdt, int nodeoffset, const char *name) +{ + struct fdt_property *prop; + int len, proplen; + + FDT_RW_PROBE(fdt); + + prop = fdt_get_property_w(fdt, nodeoffset, name, &len); + if (!prop) + return len; + + proplen = sizeof(*prop) + FDT_TAGALIGN(len); + return fdt_splice_struct_(fdt, prop, proplen, 0); +} + +int fdt_add_subnode_namelen(void *fdt, int parentoffset, + const char *name, int namelen) +{ + struct fdt_node_header *nh; + int offset, nextoffset; + int nodelen; + int err; + uint32_t tag; + fdt32_t *endtag; + + FDT_RW_PROBE(fdt); + + offset = fdt_subnode_offset_namelen(fdt, parentoffset, name, namelen); + if (offset >= 0) + return -FDT_ERR_EXISTS; + else if (offset != -FDT_ERR_NOTFOUND) + return offset; + + /* Try to place the new node after the parent's properties */ + fdt_next_tag(fdt, parentoffset, &nextoffset); /* skip the BEGIN_NODE */ + do { + offset = nextoffset; + tag = fdt_next_tag(fdt, offset, &nextoffset); + } while ((tag == FDT_PROP) || (tag == FDT_NOP)); + + nh = fdt_offset_ptr_w_(fdt, offset); + nodelen = sizeof(*nh) + FDT_TAGALIGN(namelen+1) + FDT_TAGSIZE; + + err = fdt_splice_struct_(fdt, nh, 0, nodelen); + if (err) + return err; + + nh->tag = cpu_to_fdt32(FDT_BEGIN_NODE); + memset(nh->name, 0, FDT_TAGALIGN(namelen+1)); + memcpy(nh->name, name, namelen); + endtag = (fdt32_t *)((char *)nh + nodelen - FDT_TAGSIZE); + *endtag = cpu_to_fdt32(FDT_END_NODE); + + return offset; +} + +int fdt_add_subnode(void *fdt, int parentoffset, const char *name) +{ + return fdt_add_subnode_namelen(fdt, parentoffset, name, strlen(name)); +} + +int fdt_del_node(void *fdt, int nodeoffset) +{ + int endoffset; + + FDT_RW_PROBE(fdt); + + endoffset = fdt_node_end_offset_(fdt, nodeoffset); + if (endoffset < 0) + return endoffset; + + return fdt_splice_struct_(fdt, fdt_offset_ptr_w_(fdt, nodeoffset), + endoffset - nodeoffset, 0); +} + +static void fdt_packblocks_(const char *old, char *new, + int mem_rsv_size, int struct_size) +{ + int mem_rsv_off, struct_off, strings_off; + + mem_rsv_off = FDT_ALIGN(sizeof(struct fdt_header), 8); + struct_off = mem_rsv_off + mem_rsv_size; + strings_off = struct_off + struct_size; + + memmove(new + mem_rsv_off, old + fdt_off_mem_rsvmap(old), mem_rsv_size); + fdt_set_off_mem_rsvmap(new, mem_rsv_off); + + memmove(new + struct_off, old + fdt_off_dt_struct(old), struct_size); + fdt_set_off_dt_struct(new, struct_off); + fdt_set_size_dt_struct(new, struct_size); + + memmove(new + strings_off, old + fdt_off_dt_strings(old), + fdt_size_dt_strings(old)); + fdt_set_off_dt_strings(new, strings_off); + fdt_set_size_dt_strings(new, fdt_size_dt_strings(old)); +} + +int fdt_open_into(const void *fdt, void *buf, int bufsize) +{ + int err; + int mem_rsv_size, struct_size; + int newsize; + const char *fdtstart = fdt; + const char *fdtend = fdtstart + fdt_totalsize(fdt); + char *tmp; + + FDT_RO_PROBE(fdt); + + mem_rsv_size = (fdt_num_mem_rsv(fdt)+1) + * sizeof(struct fdt_reserve_entry); + + if (fdt_version(fdt) >= 17) { + struct_size = fdt_size_dt_struct(fdt); + } else { + struct_size = 0; + while (fdt_next_tag(fdt, struct_size, &struct_size) != FDT_END) + ; + if (struct_size < 0) + return struct_size; + } + + if (!fdt_blocks_misordered_(fdt, mem_rsv_size, struct_size)) { + /* no further work necessary */ + err = fdt_move(fdt, buf, bufsize); + if (err) + return err; + fdt_set_version(buf, 17); + fdt_set_size_dt_struct(buf, struct_size); + fdt_set_totalsize(buf, bufsize); + return 0; + } + + /* Need to reorder */ + newsize = FDT_ALIGN(sizeof(struct fdt_header), 8) + mem_rsv_size + + struct_size + fdt_size_dt_strings(fdt); + + if (bufsize < newsize) + return -FDT_ERR_NOSPACE; + + /* First attempt to build converted tree at beginning of buffer */ + tmp = buf; + /* But if that overlaps with the old tree... */ + if (((tmp + newsize) > fdtstart) && (tmp < fdtend)) { + /* Try right after the old tree instead */ + tmp = (char *)(uintptr_t)fdtend; + if ((tmp + newsize) > ((char *)buf + bufsize)) + return -FDT_ERR_NOSPACE; + } + + fdt_packblocks_(fdt, tmp, mem_rsv_size, struct_size); + memmove(buf, tmp, newsize); + + fdt_set_magic(buf, FDT_MAGIC); + fdt_set_totalsize(buf, bufsize); + fdt_set_version(buf, 17); + fdt_set_last_comp_version(buf, 16); + fdt_set_boot_cpuid_phys(buf, fdt_boot_cpuid_phys(fdt)); + + return 0; +} + +int fdt_pack(void *fdt) +{ + int mem_rsv_size; + + FDT_RW_PROBE(fdt); + + mem_rsv_size = (fdt_num_mem_rsv(fdt)+1) + * sizeof(struct fdt_reserve_entry); + fdt_packblocks_(fdt, fdt, mem_rsv_size, fdt_size_dt_struct(fdt)); + fdt_set_totalsize(fdt, fdt_data_size_(fdt)); + + return 0; +} diff --git a/src/libfdt/fdt_strerror.c b/src/libfdt/fdt_strerror.c new file mode 100755 index 0000000..768db66 --- /dev/null +++ b/src/libfdt/fdt_strerror.c @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2006 David Gibson, IBM Corporation. + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include "libfdt_env.h" + +#include +#include + +#include "libfdt_internal.h" + +struct fdt_errtabent { + const char *str; +}; + +#define FDT_ERRTABENT(val) \ + [(val)] = { .str = #val, } + +static struct fdt_errtabent fdt_errtable[] = { + FDT_ERRTABENT(FDT_ERR_NOTFOUND), + FDT_ERRTABENT(FDT_ERR_EXISTS), + FDT_ERRTABENT(FDT_ERR_NOSPACE), + + FDT_ERRTABENT(FDT_ERR_BADOFFSET), + FDT_ERRTABENT(FDT_ERR_BADPATH), + FDT_ERRTABENT(FDT_ERR_BADPHANDLE), + FDT_ERRTABENT(FDT_ERR_BADSTATE), + + FDT_ERRTABENT(FDT_ERR_TRUNCATED), + FDT_ERRTABENT(FDT_ERR_BADMAGIC), + FDT_ERRTABENT(FDT_ERR_BADVERSION), + FDT_ERRTABENT(FDT_ERR_BADSTRUCTURE), + FDT_ERRTABENT(FDT_ERR_BADLAYOUT), + FDT_ERRTABENT(FDT_ERR_INTERNAL), + FDT_ERRTABENT(FDT_ERR_BADNCELLS), + FDT_ERRTABENT(FDT_ERR_BADVALUE), + FDT_ERRTABENT(FDT_ERR_BADOVERLAY), + FDT_ERRTABENT(FDT_ERR_NOPHANDLES), + FDT_ERRTABENT(FDT_ERR_BADFLAGS), +}; +#define FDT_ERRTABSIZE (sizeof(fdt_errtable) / sizeof(fdt_errtable[0])) + +const char *fdt_strerror(int errval) +{ + if (errval > 0) + return ""; + else if (errval == 0) + return ""; + else if (errval > -FDT_ERRTABSIZE) { + const char *s = fdt_errtable[-errval].str; + + if (s) + return s; + } + + return ""; +} diff --git a/src/libfdt/fdt_sw.c b/src/libfdt/fdt_sw.c new file mode 100755 index 0000000..76bea22 --- /dev/null +++ b/src/libfdt/fdt_sw.c @@ -0,0 +1,376 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2006 David Gibson, IBM Corporation. + */ +#include "libfdt_env.h" + +#include +#include + +#include "libfdt_internal.h" + +static int fdt_sw_probe_(void *fdt) +{ + if (fdt_magic(fdt) == FDT_MAGIC) + return -FDT_ERR_BADSTATE; + else if (fdt_magic(fdt) != FDT_SW_MAGIC) + return -FDT_ERR_BADMAGIC; + return 0; +} + +#define FDT_SW_PROBE(fdt) \ + { \ + int err; \ + if ((err = fdt_sw_probe_(fdt)) != 0) \ + return err; \ + } + +/* 'memrsv' state: Initial state after fdt_create() + * + * Allowed functions: + * fdt_add_reservmap_entry() + * fdt_finish_reservemap() [moves to 'struct' state] + */ +static int fdt_sw_probe_memrsv_(void *fdt) +{ + int err = fdt_sw_probe_(fdt); + if (err) + return err; + + if (fdt_off_dt_strings(fdt) != 0) + return -FDT_ERR_BADSTATE; + return 0; +} + +#define FDT_SW_PROBE_MEMRSV(fdt) \ + { \ + int err; \ + if ((err = fdt_sw_probe_memrsv_(fdt)) != 0) \ + return err; \ + } + +/* 'struct' state: Enter this state after fdt_finish_reservemap() + * + * Allowed functions: + * fdt_begin_node() + * fdt_end_node() + * fdt_property*() + * fdt_finish() [moves to 'complete' state] + */ +static int fdt_sw_probe_struct_(void *fdt) +{ + int err = fdt_sw_probe_(fdt); + if (err) + return err; + + if (fdt_off_dt_strings(fdt) != fdt_totalsize(fdt)) + return -FDT_ERR_BADSTATE; + return 0; +} + +#define FDT_SW_PROBE_STRUCT(fdt) \ + { \ + int err; \ + if ((err = fdt_sw_probe_struct_(fdt)) != 0) \ + return err; \ + } + +static inline uint32_t sw_flags(void *fdt) +{ + /* assert: (fdt_magic(fdt) == FDT_SW_MAGIC) */ + return fdt_last_comp_version(fdt); +} + +/* 'complete' state: Enter this state after fdt_finish() + * + * Allowed functions: none + */ + +static void *fdt_grab_space_(void *fdt, size_t len) +{ + int offset = fdt_size_dt_struct(fdt); + int spaceleft; + + spaceleft = fdt_totalsize(fdt) - fdt_off_dt_struct(fdt) + - fdt_size_dt_strings(fdt); + + if ((offset + len < offset) || (offset + len > spaceleft)) + return NULL; + + fdt_set_size_dt_struct(fdt, offset + len); + return fdt_offset_ptr_w_(fdt, offset); +} + +int fdt_create_with_flags(void *buf, int bufsize, uint32_t flags) +{ + const size_t hdrsize = FDT_ALIGN(sizeof(struct fdt_header), + sizeof(struct fdt_reserve_entry)); + void *fdt = buf; + + if (bufsize < hdrsize) + return -FDT_ERR_NOSPACE; + + if (flags & ~FDT_CREATE_FLAGS_ALL) + return -FDT_ERR_BADFLAGS; + + memset(buf, 0, bufsize); + + /* + * magic and last_comp_version keep intermediate state during the fdt + * creation process, which is replaced with the proper FDT format by + * fdt_finish(). + * + * flags should be accessed with sw_flags(). + */ + fdt_set_magic(fdt, FDT_SW_MAGIC); + fdt_set_version(fdt, FDT_LAST_SUPPORTED_VERSION); + fdt_set_last_comp_version(fdt, flags); + + fdt_set_totalsize(fdt, bufsize); + + fdt_set_off_mem_rsvmap(fdt, hdrsize); + fdt_set_off_dt_struct(fdt, fdt_off_mem_rsvmap(fdt)); + fdt_set_off_dt_strings(fdt, 0); + + return 0; +} + +int fdt_create(void *buf, int bufsize) +{ + return fdt_create_with_flags(buf, bufsize, 0); +} + +int fdt_resize(void *fdt, void *buf, int bufsize) +{ + size_t headsize, tailsize; + char *oldtail, *newtail; + + FDT_SW_PROBE(fdt); + + headsize = fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt); + tailsize = fdt_size_dt_strings(fdt); + + if ((headsize + tailsize) > fdt_totalsize(fdt)) + return -FDT_ERR_INTERNAL; + + if ((headsize + tailsize) > bufsize) + return -FDT_ERR_NOSPACE; + + oldtail = (char *)fdt + fdt_totalsize(fdt) - tailsize; + newtail = (char *)buf + bufsize - tailsize; + + /* Two cases to avoid clobbering data if the old and new + * buffers partially overlap */ + if (buf <= fdt) { + memmove(buf, fdt, headsize); + memmove(newtail, oldtail, tailsize); + } else { + memmove(newtail, oldtail, tailsize); + memmove(buf, fdt, headsize); + } + + fdt_set_totalsize(buf, bufsize); + if (fdt_off_dt_strings(buf)) + fdt_set_off_dt_strings(buf, bufsize); + + return 0; +} + +int fdt_add_reservemap_entry(void *fdt, uint64_t addr, uint64_t size) +{ + struct fdt_reserve_entry *re; + int offset; + + FDT_SW_PROBE_MEMRSV(fdt); + + offset = fdt_off_dt_struct(fdt); + if ((offset + sizeof(*re)) > fdt_totalsize(fdt)) + return -FDT_ERR_NOSPACE; + + re = (struct fdt_reserve_entry *)((char *)fdt + offset); + re->address = cpu_to_fdt64(addr); + re->size = cpu_to_fdt64(size); + + fdt_set_off_dt_struct(fdt, offset + sizeof(*re)); + + return 0; +} + +int fdt_finish_reservemap(void *fdt) +{ + int err = fdt_add_reservemap_entry(fdt, 0, 0); + + if (err) + return err; + + fdt_set_off_dt_strings(fdt, fdt_totalsize(fdt)); + return 0; +} + +int fdt_begin_node(void *fdt, const char *name) +{ + struct fdt_node_header *nh; + int namelen; + + FDT_SW_PROBE_STRUCT(fdt); + + namelen = strlen(name) + 1; + nh = fdt_grab_space_(fdt, sizeof(*nh) + FDT_TAGALIGN(namelen)); + if (! nh) + return -FDT_ERR_NOSPACE; + + nh->tag = cpu_to_fdt32(FDT_BEGIN_NODE); + memcpy(nh->name, name, namelen); + return 0; +} + +int fdt_end_node(void *fdt) +{ + fdt32_t *en; + + FDT_SW_PROBE_STRUCT(fdt); + + en = fdt_grab_space_(fdt, FDT_TAGSIZE); + if (! en) + return -FDT_ERR_NOSPACE; + + *en = cpu_to_fdt32(FDT_END_NODE); + return 0; +} + +static int fdt_add_string_(void *fdt, const char *s) +{ + char *strtab = (char *)fdt + fdt_totalsize(fdt); + int strtabsize = fdt_size_dt_strings(fdt); + int len = strlen(s) + 1; + int struct_top, offset; + + offset = -strtabsize - len; + struct_top = fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt); + if (fdt_totalsize(fdt) + offset < struct_top) + return 0; /* no more room :( */ + + memcpy(strtab + offset, s, len); + fdt_set_size_dt_strings(fdt, strtabsize + len); + return offset; +} + +/* Must only be used to roll back in case of error */ +static void fdt_del_last_string_(void *fdt, const char *s) +{ + int strtabsize = fdt_size_dt_strings(fdt); + int len = strlen(s) + 1; + + fdt_set_size_dt_strings(fdt, strtabsize - len); +} + +static int fdt_find_add_string_(void *fdt, const char *s, int *allocated) +{ + char *strtab = (char *)fdt + fdt_totalsize(fdt); + int strtabsize = fdt_size_dt_strings(fdt); + const char *p; + + *allocated = 0; + + p = fdt_find_string_(strtab - strtabsize, strtabsize, s); + if (p) + return p - strtab; + + *allocated = 1; + + return fdt_add_string_(fdt, s); +} + +int fdt_property_placeholder(void *fdt, const char *name, int len, void **valp) +{ + struct fdt_property *prop; + int nameoff; + int allocated; + + FDT_SW_PROBE_STRUCT(fdt); + + /* String de-duplication can be slow, _NO_NAME_DEDUP skips it */ + if (sw_flags(fdt) & FDT_CREATE_FLAG_NO_NAME_DEDUP) { + allocated = 1; + nameoff = fdt_add_string_(fdt, name); + } else { + nameoff = fdt_find_add_string_(fdt, name, &allocated); + } + if (nameoff == 0) + return -FDT_ERR_NOSPACE; + + prop = fdt_grab_space_(fdt, sizeof(*prop) + FDT_TAGALIGN(len)); + if (! prop) { + if (allocated) + fdt_del_last_string_(fdt, name); + return -FDT_ERR_NOSPACE; + } + + prop->tag = cpu_to_fdt32(FDT_PROP); + prop->nameoff = cpu_to_fdt32(nameoff); + prop->len = cpu_to_fdt32(len); + *valp = prop->data; + return 0; +} + +int fdt_property(void *fdt, const char *name, const void *val, int len) +{ + void *ptr; + int ret; + + ret = fdt_property_placeholder(fdt, name, len, &ptr); + if (ret) + return ret; + memcpy(ptr, val, len); + return 0; +} + +int fdt_finish(void *fdt) +{ + char *p = (char *)fdt; + fdt32_t *end; + int oldstroffset, newstroffset; + uint32_t tag; + int offset, nextoffset; + + FDT_SW_PROBE_STRUCT(fdt); + + /* Add terminator */ + end = fdt_grab_space_(fdt, sizeof(*end)); + if (! end) + return -FDT_ERR_NOSPACE; + *end = cpu_to_fdt32(FDT_END); + + /* Relocate the string table */ + oldstroffset = fdt_totalsize(fdt) - fdt_size_dt_strings(fdt); + newstroffset = fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt); + memmove(p + newstroffset, p + oldstroffset, fdt_size_dt_strings(fdt)); + fdt_set_off_dt_strings(fdt, newstroffset); + + /* Walk the structure, correcting string offsets */ + offset = 0; + while ((tag = fdt_next_tag(fdt, offset, &nextoffset)) != FDT_END) { + if (tag == FDT_PROP) { + struct fdt_property *prop = + fdt_offset_ptr_w_(fdt, offset); + int nameoff; + + nameoff = fdt32_to_cpu(prop->nameoff); + nameoff += fdt_size_dt_strings(fdt); + prop->nameoff = cpu_to_fdt32(nameoff); + } + offset = nextoffset; + } + if (nextoffset < 0) + return nextoffset; + + /* Finally, adjust the header */ + fdt_set_totalsize(fdt, newstroffset + fdt_size_dt_strings(fdt)); + + /* And fix up fields that were keeping intermediate state. */ + fdt_set_last_comp_version(fdt, FDT_FIRST_SUPPORTED_VERSION); + fdt_set_magic(fdt, FDT_MAGIC); + + return 0; +} diff --git a/src/libfdt/fdt_wip.c b/src/libfdt/fdt_wip.c new file mode 100755 index 0000000..f64139e --- /dev/null +++ b/src/libfdt/fdt_wip.c @@ -0,0 +1,94 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2006 David Gibson, IBM Corporation. + */ +#include "libfdt_env.h" + +#include +#include + +#include "libfdt_internal.h" + +int fdt_setprop_inplace_namelen_partial(void *fdt, int nodeoffset, + const char *name, int namelen, + uint32_t idx, const void *val, + int len) +{ + void *propval; + int proplen; + + propval = fdt_getprop_namelen_w(fdt, nodeoffset, name, namelen, + &proplen); + if (!propval) + return proplen; + + if (proplen < (len + idx)) + return -FDT_ERR_NOSPACE; + + memcpy((char *)propval + idx, val, len); + return 0; +} + +int fdt_setprop_inplace(void *fdt, int nodeoffset, const char *name, + const void *val, int len) +{ + const void *propval; + int proplen; + + propval = fdt_getprop(fdt, nodeoffset, name, &proplen); + if (!propval) + return proplen; + + if (proplen != len) + return -FDT_ERR_NOSPACE; + + return fdt_setprop_inplace_namelen_partial(fdt, nodeoffset, name, + strlen(name), 0, + val, len); +} + +static void fdt_nop_region_(void *start, int len) +{ + fdt32_t *p; + + for (p = start; (char *)p < ((char *)start + len); p++) + *p = cpu_to_fdt32(FDT_NOP); +} + +int fdt_nop_property(void *fdt, int nodeoffset, const char *name) +{ + struct fdt_property *prop; + int len; + + prop = fdt_get_property_w(fdt, nodeoffset, name, &len); + if (!prop) + return len; + + fdt_nop_region_(prop, len + sizeof(*prop)); + + return 0; +} + +int fdt_node_end_offset_(void *fdt, int offset) +{ + int depth = 0; + + while ((offset >= 0) && (depth >= 0)) + offset = fdt_next_node(fdt, offset, &depth); + + return offset; +} + +int fdt_nop_node(void *fdt, int nodeoffset) +{ + int endoffset; + + endoffset = fdt_node_end_offset_(fdt, nodeoffset); + if (endoffset < 0) + return endoffset; + + fdt_nop_region_(fdt_offset_ptr_w(fdt, nodeoffset, 0), + endoffset - nodeoffset); + return 0; +} diff --git a/src/libfdt/libc/bits/alltypes.h b/src/libfdt/libc/bits/alltypes.h new file mode 100644 index 0000000..39b22aa --- /dev/null +++ b/src/libfdt/libc/bits/alltypes.h @@ -0,0 +1,2 @@ +#define __BYTE_ORDER 1234 +#define __LONG_MAX 0x7fffffffffffffffL diff --git a/src/libfdt/libc/bits/fenv.h b/src/libfdt/libc/bits/fenv.h new file mode 100644 index 0000000..806ec40 --- /dev/null +++ b/src/libfdt/libc/bits/fenv.h @@ -0,0 +1,17 @@ +#define FE_INVALID 16 +#define FE_DIVBYZERO 8 +#define FE_OVERFLOW 4 +#define FE_UNDERFLOW 2 +#define FE_INEXACT 1 + +#define FE_ALL_EXCEPT 31 + +#define FE_TONEAREST 0 +#define FE_DOWNWARD 2 +#define FE_UPWARD 3 +#define FE_TOWARDZERO 1 + +typedef unsigned int fexcept_t; +typedef unsigned int fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) diff --git a/src/libfdt/libc/bits/float.h b/src/libfdt/libc/bits/float.h new file mode 100644 index 0000000..719c790 --- /dev/null +++ b/src/libfdt/libc/bits/float.h @@ -0,0 +1,16 @@ +#define FLT_EVAL_METHOD 0 + +#define LDBL_TRUE_MIN 6.47517511943802511092443895822764655e-4966L +#define LDBL_MIN 3.36210314311209350626267781732175260e-4932L +#define LDBL_MAX 1.18973149535723176508575932662800702e+4932L +#define LDBL_EPSILON 1.92592994438723585305597794258492732e-34L + +#define LDBL_MANT_DIG 113 +#define LDBL_MIN_EXP (-16381) +#define LDBL_MAX_EXP 16384 + +#define LDBL_DIG 33 +#define LDBL_MIN_10_EXP (-4931) +#define LDBL_MAX_10_EXP 4932 + +#define DECIMAL_DIG 36 diff --git a/src/libfdt/libc/bits/stdint.h b/src/libfdt/libc/bits/stdint.h new file mode 100644 index 0000000..1bb147f --- /dev/null +++ b/src/libfdt/libc/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT64_MIN +#define INTPTR_MAX INT64_MAX +#define UINTPTR_MAX UINT64_MAX +#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MAX INT64_MAX +#define SIZE_MAX UINT64_MAX diff --git a/src/libfdt/libc/bits/types.h b/src/libfdt/libc/bits/types.h new file mode 100644 index 0000000..dbb3441 --- /dev/null +++ b/src/libfdt/libc/bits/types.h @@ -0,0 +1,30 @@ +typedef signed char s8_t; +typedef unsigned char u8_t; + +typedef signed short s16_t; +typedef unsigned short u16_t; + +typedef signed int s32_t; +typedef unsigned int u32_t; + +typedef signed long long s64_t; +typedef unsigned long long u64_t; + +typedef signed long long intmax_t; +typedef unsigned long long uintmax_t; + +typedef signed long long ptrdiff_t; +typedef signed long long intptr_t; +typedef unsigned long long uintptr_t; + +typedef unsigned long long size_t; +typedef signed long long ssize_t; + +typedef signed int off_t; +typedef signed long long loff_t; + +typedef signed int bool_t; + +typedef int wchar_t; +typedef unsigned wint_t; +typedef unsigned long wctype_t; diff --git a/src/libfdt/libc/ctype.h b/src/libfdt/libc/ctype.h new file mode 100644 index 0000000..cff55a3 --- /dev/null +++ b/src/libfdt/libc/ctype.h @@ -0,0 +1,35 @@ +#ifndef _CTYPE_H +#define _CTYPE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +int isalnum(int); +int isalpha(int); +int isblank(int); +int iscntrl(int); +int isdigit(int); +int isgraph(int); +int islower(int); +int isprint(int); +int ispunct(int); +int isspace(int); +int isupper(int); +int isxdigit(int); +int tolower(int); +int toupper(int); + +int isascii(int); +int toascii(int); +#define _tolower(a) ((a)|0x20) +#define _toupper(a) ((a)&0x5f) +#define isascii(a) (0 ? isascii(a) : (unsigned)(a) < 128) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/libfdt/libc/features.h b/src/libfdt/libc/features.h new file mode 100644 index 0000000..5484f9b --- /dev/null +++ b/src/libfdt/libc/features.h @@ -0,0 +1,30 @@ +#ifndef _FEATURES_H +#define _FEATURES_H + +#if __STDC_VERSION__ >= 199901L +#define __restrict restrict +#elif !defined(__GNUC__) +#define __restrict +#endif + +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline +#elif !defined(__GNUC__) +#define __inline +#endif + +#if __STDC_VERSION__ >= 201112L +#elif defined(__GNUC__) +#define _Noreturn __attribute__((__noreturn__)) +#else +#define _Noreturn +#endif + +#define __REDIR(x,y) __typeof__(x) x __asm__(#y) + +#define weak_sym __attribute__((__weak__)) +#define hidden_sym __attribute__((__visibility__("hidden"))) +#define weak_alias(old, new) \ + extern __typeof(old) new __attribute__((__weak__, __alias__(#old))) + +#endif diff --git a/src/libfdt/libc/intscan.h b/src/libfdt/libc/intscan.h new file mode 100644 index 0000000..64e6932 --- /dev/null +++ b/src/libfdt/libc/intscan.h @@ -0,0 +1,8 @@ +#ifndef INTSCAN_H +#define INTSCAN_H + +#include + +hidden_sym unsigned long long __intscan(FILE *, unsigned, int, unsigned long long); + +#endif diff --git a/src/libfdt/libc/inttypes.h b/src/libfdt/libc/inttypes.h new file mode 100644 index 0000000..69332a7 --- /dev/null +++ b/src/libfdt/libc/inttypes.h @@ -0,0 +1,227 @@ +#ifndef _INTTYPES_H +#define _INTTYPES_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#include + +typedef struct { intmax_t quot, rem; } imaxdiv_t; + +intmax_t imaxabs(intmax_t); +imaxdiv_t imaxdiv(intmax_t, intmax_t); + +intmax_t strtoimax(const char *__restrict, char **__restrict, int); +uintmax_t strtoumax(const char *__restrict, char **__restrict, int); + +intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int); +uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int); + +#if UINTPTR_MAX == UINT64_MAX +#define __PRI64 "l" +#define __PRIPTR "l" +#else +#define __PRI64 "ll" +#define __PRIPTR "" +#endif + +#define PRId8 "d" +#define PRId16 "d" +#define PRId32 "d" +#define PRId64 __PRI64 "d" + +#define PRIdLEAST8 "d" +#define PRIdLEAST16 "d" +#define PRIdLEAST32 "d" +#define PRIdLEAST64 __PRI64 "d" + +#define PRIdFAST8 "d" +#define PRIdFAST16 "d" +#define PRIdFAST32 "d" +#define PRIdFAST64 __PRI64 "d" + +#define PRIi8 "i" +#define PRIi16 "i" +#define PRIi32 "i" +#define PRIi64 __PRI64 "i" + +#define PRIiLEAST8 "i" +#define PRIiLEAST16 "i" +#define PRIiLEAST32 "i" +#define PRIiLEAST64 __PRI64 "i" + +#define PRIiFAST8 "i" +#define PRIiFAST16 "i" +#define PRIiFAST32 "i" +#define PRIiFAST64 __PRI64 "i" + +#define PRIo8 "o" +#define PRIo16 "o" +#define PRIo32 "o" +#define PRIo64 __PRI64 "o" + +#define PRIoLEAST8 "o" +#define PRIoLEAST16 "o" +#define PRIoLEAST32 "o" +#define PRIoLEAST64 __PRI64 "o" + +#define PRIoFAST8 "o" +#define PRIoFAST16 "o" +#define PRIoFAST32 "o" +#define PRIoFAST64 __PRI64 "o" + +#define PRIu8 "u" +#define PRIu16 "u" +#define PRIu32 "u" +#define PRIu64 __PRI64 "u" + +#define PRIuLEAST8 "u" +#define PRIuLEAST16 "u" +#define PRIuLEAST32 "u" +#define PRIuLEAST64 __PRI64 "u" + +#define PRIuFAST8 "u" +#define PRIuFAST16 "u" +#define PRIuFAST32 "u" +#define PRIuFAST64 __PRI64 "u" + +#define PRIx8 "x" +#define PRIx16 "x" +#define PRIx32 "x" +#define PRIx64 __PRI64 "x" + +#define PRIxLEAST8 "x" +#define PRIxLEAST16 "x" +#define PRIxLEAST32 "x" +#define PRIxLEAST64 __PRI64 "x" + +#define PRIxFAST8 "x" +#define PRIxFAST16 "x" +#define PRIxFAST32 "x" +#define PRIxFAST64 __PRI64 "x" + +#define PRIX8 "X" +#define PRIX16 "X" +#define PRIX32 "X" +#define PRIX64 __PRI64 "X" + +#define PRIXLEAST8 "X" +#define PRIXLEAST16 "X" +#define PRIXLEAST32 "X" +#define PRIXLEAST64 __PRI64 "X" + +#define PRIXFAST8 "X" +#define PRIXFAST16 "X" +#define PRIXFAST32 "X" +#define PRIXFAST64 __PRI64 "X" + +#define PRIdMAX __PRI64 "d" +#define PRIiMAX __PRI64 "i" +#define PRIoMAX __PRI64 "o" +#define PRIuMAX __PRI64 "u" +#define PRIxMAX __PRI64 "x" +#define PRIXMAX __PRI64 "X" + +#define PRIdPTR __PRIPTR "d" +#define PRIiPTR __PRIPTR "i" +#define PRIoPTR __PRIPTR "o" +#define PRIuPTR __PRIPTR "u" +#define PRIxPTR __PRIPTR "x" +#define PRIXPTR __PRIPTR "X" + +#define SCNd8 "hhd" +#define SCNd16 "hd" +#define SCNd32 "d" +#define SCNd64 __PRI64 "d" + +#define SCNdLEAST8 "hhd" +#define SCNdLEAST16 "hd" +#define SCNdLEAST32 "d" +#define SCNdLEAST64 __PRI64 "d" + +#define SCNdFAST8 "hhd" +#define SCNdFAST16 "d" +#define SCNdFAST32 "d" +#define SCNdFAST64 __PRI64 "d" + +#define SCNi8 "hhi" +#define SCNi16 "hi" +#define SCNi32 "i" +#define SCNi64 __PRI64 "i" + +#define SCNiLEAST8 "hhi" +#define SCNiLEAST16 "hi" +#define SCNiLEAST32 "i" +#define SCNiLEAST64 __PRI64 "i" + +#define SCNiFAST8 "hhi" +#define SCNiFAST16 "i" +#define SCNiFAST32 "i" +#define SCNiFAST64 __PRI64 "i" + +#define SCNu8 "hhu" +#define SCNu16 "hu" +#define SCNu32 "u" +#define SCNu64 __PRI64 "u" + +#define SCNuLEAST8 "hhu" +#define SCNuLEAST16 "hu" +#define SCNuLEAST32 "u" +#define SCNuLEAST64 __PRI64 "u" + +#define SCNuFAST8 "hhu" +#define SCNuFAST16 "u" +#define SCNuFAST32 "u" +#define SCNuFAST64 __PRI64 "u" + +#define SCNo8 "hho" +#define SCNo16 "ho" +#define SCNo32 "o" +#define SCNo64 __PRI64 "o" + +#define SCNoLEAST8 "hho" +#define SCNoLEAST16 "ho" +#define SCNoLEAST32 "o" +#define SCNoLEAST64 __PRI64 "o" + +#define SCNoFAST8 "hho" +#define SCNoFAST16 "o" +#define SCNoFAST32 "o" +#define SCNoFAST64 __PRI64 "o" + +#define SCNx8 "hhx" +#define SCNx16 "hx" +#define SCNx32 "x" +#define SCNx64 __PRI64 "x" + +#define SCNxLEAST8 "hhx" +#define SCNxLEAST16 "hx" +#define SCNxLEAST32 "x" +#define SCNxLEAST64 __PRI64 "x" + +#define SCNxFAST8 "hhx" +#define SCNxFAST16 "x" +#define SCNxFAST32 "x" +#define SCNxFAST64 __PRI64 "x" + +#define SCNdMAX __PRI64 "d" +#define SCNiMAX __PRI64 "i" +#define SCNoMAX __PRI64 "o" +#define SCNuMAX __PRI64 "u" +#define SCNxMAX __PRI64 "x" + +#define SCNdPTR __PRIPTR "d" +#define SCNiPTR __PRIPTR "i" +#define SCNoPTR __PRIPTR "o" +#define SCNuPTR __PRIPTR "u" +#define SCNxPTR __PRIPTR "x" + +#ifdef __cplusplus +} +#endif + +#endif /* _INTTYPES_H */ diff --git a/src/libfdt/libc/limits.h b/src/libfdt/libc/limits.h new file mode 100644 index 0000000..981833f --- /dev/null +++ b/src/libfdt/libc/limits.h @@ -0,0 +1,43 @@ +#ifndef _LIMITS_H +#define _LIMITS_H + +#include + +#include /* __LONG_MAX */ + +/* Support signed or unsigned plain-char */ + +#if '\xff' > 0 +#define CHAR_MIN 0 +#define CHAR_MAX 255 +#else +#define CHAR_MIN (-128) +#define CHAR_MAX 127 +#endif + +#define CHAR_BIT 8 +#define SCHAR_MIN (-128) +#define SCHAR_MAX 127 +#define UCHAR_MAX 255 +#define SHRT_MIN (-1-0x7fff) +#define SHRT_MAX 0x7fff +#define USHRT_MAX 0xffff +#define INT_MIN (-1-0x7fffffff) +#define INT_MAX 0x7fffffff +#define UINT_MAX 0xffffffffU +#define LONG_MIN (-LONG_MAX-1) +#define LONG_MAX __LONG_MAX +#define ULONG_MAX (2UL*LONG_MAX+1) +#define LLONG_MIN (-LLONG_MAX-1) +#define LLONG_MAX 0x7fffffffffffffffLL +#define ULLONG_MAX (2ULL*LLONG_MAX+1) + +#define MB_LEN_MAX 4 + + +#define NL_ARGMAX 9 +#define NL_MSGMAX 32767 +#define NL_SETMAX 255 +#define NL_TEXTMAX 2048 + +#endif diff --git a/src/libfdt/libc/shgetc.h b/src/libfdt/libc/shgetc.h new file mode 100644 index 0000000..c3cee52 --- /dev/null +++ b/src/libfdt/libc/shgetc.h @@ -0,0 +1,32 @@ +#include "stdio_impl.h" + +/* Scan helper "stdio" functions for use by scanf-family and strto*-family + * functions. These accept either a valid stdio FILE, or a minimal pseudo + * FILE whose buffer pointers point into a null-terminated string. In the + * latter case, the sh_fromstring macro should be used to setup the FILE; + * the rest of the structure can be left uninitialized. + * + * To begin using these functions, shlim must first be called on the FILE + * to set a field width limit, or 0 for no limit. For string pseudo-FILEs, + * a nonzero limit is not valid and produces undefined behavior. After that, + * shgetc, shunget, and shcnt are valid as long as no other stdio functions + * are called on the stream. + * + * When used with a real FILE object, shunget has only one byte of pushback + * available. Further shunget (up to a limit of the stdio UNGET buffer size) + * will adjust the position but will not restore the data to be read again. + * This functionality is needed for the wcsto*-family functions, where it's + * okay because the FILE will be discarded immediately anyway. When used + * with string pseudo-FILEs, shunget has unlimited pushback, back to the + * beginning of the string. */ + +hidden_sym void __shlim(FILE *, off_t); +hidden_sym int __shgetc(FILE *); + +#define shcnt(f) ((f)->shcnt + ((f)->rpos - (f)->buf)) +#define shlim(f, lim) __shlim((f), (lim)) +#define shgetc(f) (((f)->rpos != (f)->shend) ? *(f)->rpos++ : __shgetc(f)) +#define shunget(f) ((f)->shlim>=0 ? (void)(f)->rpos-- : (void)0) + +#define sh_fromstring(f, s) \ + ((f)->buf = (f)->rpos = (void *)(s), (f)->rend = (void*)-1) diff --git a/src/libfdt/libc/stdarg.h b/src/libfdt/libc/stdarg.h new file mode 100644 index 0000000..6e7df90 --- /dev/null +++ b/src/libfdt/libc/stdarg.h @@ -0,0 +1,34 @@ +#ifndef _STDARG_H +#define _STDARG_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef __builtin_va_list va_list; + +/* + * prepare to access variable args + */ +#define va_start(v, l) __builtin_va_start(v, l) + +/* + * the caller will get the value of current argument + */ +#define va_arg(v, l) __builtin_va_arg(v, l) + +/* + * end for variable args + */ +#define va_end(v) __builtin_va_end(v) + +/* + * copy variable args + */ +#define va_copy(d, s) __builtin_va_copy(d, s) + +#ifdef __cplusplus +} +#endif + +#endif /* _STDARG_H */ diff --git a/src/libfdt/libc/stdbool.h b/src/libfdt/libc/stdbool.h new file mode 100644 index 0000000..0f6a8a6 --- /dev/null +++ b/src/libfdt/libc/stdbool.h @@ -0,0 +1,12 @@ +#ifndef _STDBOOL_H +#define _STDBOOL_H + +#ifndef __cplusplus + +#define bool _Bool +#define false 0 +#define true 1 + +#endif /* __cplusplus */ + +#endif /* _STDBOOL_H */ diff --git a/src/libfdt/libc/stddef.h b/src/libfdt/libc/stddef.h new file mode 100644 index 0000000..cfa9972 --- /dev/null +++ b/src/libfdt/libc/stddef.h @@ -0,0 +1,29 @@ +#ifndef _STDDEF_H +#define _STDDEF_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifndef NULL +#ifdef __cplusplus +#define NULL 0L +#else +#define NULL ((void*)0) +#endif +#endif + +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) + +#define container_of(ptr, type, member) ({ \ + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ + (type *)( (char *)__mptr - offsetof(type,member) ); \ +}) + +#ifdef __cplusplus +} +#endif + +#endif /* _STDDEF_H */ diff --git a/src/libfdt/libc/stdint.h b/src/libfdt/libc/stdint.h new file mode 100644 index 0000000..7b71c13 --- /dev/null +++ b/src/libfdt/libc/stdint.h @@ -0,0 +1,123 @@ +#ifndef _STDINT_H +#define _STDINT_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +typedef s8_t int8_t; +typedef u8_t uint8_t; + +typedef s16_t int16_t; +typedef u16_t uint16_t; + +typedef s32_t int32_t; +typedef u32_t uint32_t; + +typedef s64_t int64_t; +typedef u64_t uint64_t; + +typedef int8_t int_fast8_t; +typedef int64_t int_fast64_t; + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +typedef int64_t int_least64_t; + +typedef uint8_t uint_fast8_t; +typedef uint64_t uint_fast64_t; + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +typedef uint64_t uint_least64_t; + +#define INT8_MIN (-1-0x7f) +#define INT16_MIN (-1-0x7fff) +#define INT32_MIN (-1-0x7fffffff) +#define INT64_MIN (-1-0x7fffffffffffffff) + +#define INT8_MAX (0x7f) +#define INT16_MAX (0x7fff) +#define INT32_MAX (0x7fffffff) +#define INT64_MAX (0x7fffffffffffffff) + +#define UINT8_MAX (0xff) +#define UINT16_MAX (0xffff) +#define UINT32_MAX (0xffffffffu) +#define UINT64_MAX (0xffffffffffffffffu) + +#define INT_FAST8_MIN INT8_MIN +#define INT_FAST64_MIN INT64_MIN + +#define INT_LEAST8_MIN INT8_MIN +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST64_MIN INT64_MIN + +#define INT_FAST8_MAX INT8_MAX +#define INT_FAST64_MAX INT64_MAX + +#define INT_LEAST8_MAX INT8_MAX +#define INT_LEAST16_MAX INT16_MAX +#define INT_LEAST32_MAX INT32_MAX +#define INT_LEAST64_MAX INT64_MAX + +#define UINT_FAST8_MAX UINT8_MAX +#define UINT_FAST64_MAX UINT64_MAX + +#define UINT_LEAST8_MAX UINT8_MAX +#define UINT_LEAST16_MAX UINT16_MAX +#define UINT_LEAST32_MAX UINT32_MAX +#define UINT_LEAST64_MAX UINT64_MAX + +#define INTMAX_MIN INT64_MIN +#define INTMAX_MAX INT64_MAX +#define UINTMAX_MAX UINT64_MAX + +#define WINT_MIN 0U +#define WINT_MAX UINT32_MAX + +#if L'\0'-1 > 0 +#define WCHAR_MAX (0xffffffffu+L'\0') +#define WCHAR_MIN (0+L'\0') +#else +#define WCHAR_MAX (0x7fffffff+L'\0') +#define WCHAR_MIN (-1-0x7fffffff+L'\0') +#endif + +#define SIG_ATOMIC_MIN INT32_MIN +#define SIG_ATOMIC_MAX INT32_MAX + +#include + +#define INT8_C(c) c +#define INT16_C(c) c +#define INT32_C(c) c + +#define UINT8_C(c) c +#define UINT16_C(c) c +#define UINT32_C(c) c ## U + +#if UINTPTR_MAX == UINT64_MAX +#define INT64_C(c) c ## L +#define UINT64_C(c) c ## UL +#define INTMAX_C(c) c ## L +#define UINTMAX_C(c) c ## UL +#else +#define INT64_C(c) c ## LL +#define UINT64_C(c) c ## ULL +#define INTMAX_C(c) c ## LL +#define UINTMAX_C(c) c ## ULL +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/libfdt/libc/stdio.h b/src/libfdt/libc/stdio.h new file mode 100644 index 0000000..d320daa --- /dev/null +++ b/src/libfdt/libc/stdio.h @@ -0,0 +1,157 @@ +#ifndef _STDIO_H +#define _STDIO_H + +#include + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if __STDC_VERSION__ < 201112L +#define __NEED_struct__IO_FILE +#endif + +#ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void *)0) +#endif +#endif /* NULL */ + +#undef EOF +#define EOF (-1) + +#undef SEEK_SET +#undef SEEK_CUR +#undef SEEK_END +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +#define _IOFBF 0 +#define _IOLBF 1 +#define _IONBF 2 + +#define BUFSIZ 1024 +#define FILENAME_MAX 4096 +#define FOPEN_MAX 1000 +#define TMP_MAX 10000 +#define L_tmpnam 20 + +typedef loff_t fpos_t; + +typedef struct _IO_FILE FILE; +struct _IO_FILE { + unsigned flags; + unsigned char *rpos, *rend; + int (*close)(FILE *); + unsigned char *wend, *wpos; + unsigned char *mustbezero_1; + unsigned char *wbase; + size_t (*read)(FILE *, unsigned char *, size_t); + size_t (*write)(FILE *, const unsigned char *, size_t); + off_t (*seek)(FILE *, off_t, int); + unsigned char *buf; + size_t buf_size; + FILE *prev, *next; + int fd; + int pipe_pid; + long lockcount; + int mode; + volatile int lock; + int lbf; + void *cookie; + off_t off; + char *getln_buf; + void *mustbezero_2; + unsigned char *shend; + off_t shlim, shcnt; + FILE *prev_locked, *next_locked; + struct __locale_struct *locale; +}; + +extern FILE *const stdin; +extern FILE *const stdout; +extern FILE *const stderr; + +#define stdin (stdin) +#define stdout (stdout) +#define stderr (stderr) + +FILE *fopen(const char *__restrict, const char *__restrict); +FILE *freopen(const char *__restrict, const char *__restrict, FILE *__restrict); +int fclose(FILE *); + +int remove(const char *); +int rename(const char *, const char *); + +int feof(FILE *); +int ferror(FILE *); +int fflush(FILE *); +void clearerr(FILE *); + +int fseek(FILE *, long, int); +long ftell(FILE *); +void rewind(FILE *); + +int fgetpos(FILE *__restrict, fpos_t *__restrict); +int fsetpos(FILE *, const fpos_t *); + +size_t fread(void *__restrict, size_t, size_t, FILE *__restrict); +size_t fwrite(const void *__restrict, size_t, size_t, FILE *__restrict); + +int fgetc(FILE *); +int getc(FILE *); +int getchar(void); +int ungetc(int, FILE *); + +int fputc(int, FILE *); +int putc(int, FILE *); +int putchar(int); + +char *fgets(char *__restrict, int, FILE *__restrict); +#if __STDC_VERSION__ < 201112L +char *gets(char *); +#endif + +int fputs(const char *__restrict, FILE *__restrict); +int puts(const char *); + +int printf(const char *__restrict, ...); +int fprintf(FILE *__restrict, const char *__restrict, ...); +int sprintf(char *__restrict, const char *__restrict, ...); +int snprintf(char *__restrict, size_t, const char *__restrict, ...); + +int vprintf(const char *__restrict, va_list); +int vfprintf(FILE *__restrict, const char *__restrict, va_list); +int vsprintf(char *__restrict, const char *__restrict, va_list); +int vsnprintf(char *__restrict, size_t, const char *__restrict, va_list); + +int scanf(const char *__restrict, ...); +int fscanf(FILE *__restrict, const char *__restrict, ...); +int sscanf(const char *__restrict, const char *__restrict, ...); +int vscanf(const char *__restrict, va_list); +int vfscanf(FILE *__restrict, const char *__restrict, va_list); +int vsscanf(const char *__restrict, const char *__restrict, va_list); + +void perror(const char *); + +int setvbuf(FILE *__restrict, char *__restrict, int, size_t); +void setbuf(FILE *__restrict, char *__restrict); + +char *tmpnam(char *); +FILE *tmpfile(void); + +#if 0 +#define printf(...) NX_Printf(__VA_ARGS__) +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/libfdt/libc/stdio_impl.h b/src/libfdt/libc/stdio_impl.h new file mode 100644 index 0000000..e3b5947 --- /dev/null +++ b/src/libfdt/libc/stdio_impl.h @@ -0,0 +1,84 @@ +#ifndef _STDIO_IMPL_H +#define _STDIO_IMPL_H + +#include + +#define UNGET 8 + +#define FFINALLOCK(f) ((f)->lock>=0 ? __lockfile((f)) : 0) +#define FLOCK(f) int __need_unlock = ((f)->lock>=0 ? __lockfile((f)) : 0) +#define FUNLOCK(f) do { if (__need_unlock) __unlockfile((f)); } while (0) + +#define F_PERM 1 +#define F_NORD 4 +#define F_NOWR 8 +#define F_EOF 16 +#define F_ERR 32 +#define F_SVB 64 +#define F_APP 128 + +extern hidden_sym FILE *volatile __stdin_used; +extern hidden_sym FILE *volatile __stdout_used; +extern hidden_sym FILE *volatile __stderr_used; + +hidden_sym int __lockfile(FILE *); +hidden_sym void __unlockfile(FILE *); + +hidden_sym size_t __stdio_read(FILE *, unsigned char *, size_t); +hidden_sym size_t __stdio_write(FILE *, const unsigned char *, size_t); +hidden_sym size_t __stdout_write(FILE *, const unsigned char *, size_t); +hidden_sym off_t __stdio_seek(FILE *, off_t, int); +hidden_sym int __stdio_close(FILE *); + +hidden_sym int __toread(FILE *); +hidden_sym int __towrite(FILE *); + +hidden_sym void __stdio_exit(void); +hidden_sym void __stdio_exit_needed(void); + +#if defined(__PIC__) && (100*__GNUC__+__GNUC_MINOR__ >= 303) +__attribute__((visibility("protected"))) +#endif +int __overflow(FILE *, int), __uflow(FILE *); + +hidden_sym int __fseeko(FILE *, off_t, int); +hidden_sym int __fseeko_unlocked(FILE *, off_t, int); +hidden_sym off_t __ftello(FILE *); +hidden_sym off_t __ftello_unlocked(FILE *); +hidden_sym size_t __fwritex(const unsigned char *, size_t, FILE *); +hidden_sym int __putc_unlocked(int, FILE *); + +hidden_sym FILE *__fdopen(int, const char *); +hidden_sym int __fmodeflags(const char *); + +hidden_sym FILE *__ofl_add(FILE *f); +hidden_sym FILE **__ofl_lock(void); +hidden_sym void __ofl_unlock(void); + +struct __pthread; +hidden_sym void __register_locked_file(FILE *, struct __pthread *); +hidden_sym void __unlist_locked_file(FILE *); +hidden_sym void __do_orphaned_stdio_locks(void); + +#define MAYBE_WAITERS 0x40000000 + +hidden_sym void __getopt_msg(const char *, const char *, const char *, size_t); + +#define feof(f) ((f)->flags & F_EOF) +#define ferror(f) ((f)->flags & F_ERR) + +#define getc_unlocked(f) \ + ( ((f)->rpos != (f)->rend) ? *(f)->rpos++ : __uflow((f)) ) + +#define putc_unlocked(c, f) \ + ( (((unsigned char)(c)!=(f)->lbf && (f)->wpos!=(f)->wend)) \ + ? *(f)->wpos++ = (unsigned char)(c) \ + : __overflow((f),(unsigned char)(c)) ) + +/* Caller-allocated FILE * operations */ +hidden_sym FILE *__fopen_rb_ca(const char *, FILE *, unsigned char *, size_t); +hidden_sym int __fclose_ca(FILE *); + +void __init_stdio(void); + +#endif diff --git a/src/libfdt/libc/stdlib.h b/src/libfdt/libc/stdlib.h new file mode 100644 index 0000000..9c8e338 --- /dev/null +++ b/src/libfdt/libc/stdlib.h @@ -0,0 +1,87 @@ +#ifndef _STDLIB_H +#define _STDLIB_H + +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef NULL +#ifdef __cplusplus +#define NULL 0L +#else +#define NULL ((void*)0) +#endif +#endif + +/* program support utilities */ +#define EXIT_FAILURE 1 +#define EXIT_SUCCESS 0 + +#define RAND_MAX (0x7fffffff) + +int rand (void); +void srand (unsigned); + +/* memory management */ +void* malloc( size_t size ); +void *realloc( void *ptr, size_t new_size ); +void* calloc( size_t num, size_t size ); +void free( void* ptr ); + +_Noreturn void exit (int); +int atexit (void (*) (void)); +_Noreturn void abort(void); +_Noreturn void _Exit (int); + +/* Communicating with the environment */ +char *getenv (const char *); +int system (const char *); + +/* Algorithms */ +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); +void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +/* Conversions to numeric formats */ +int atoi (const char *); +long atol (const char *); +long long atoll (const char *); +double atof (const char *); + +float strtof (const char *__restrict, char **__restrict); +double strtod (const char *__restrict, char **__restrict); +long double strtold (const char *__restrict, char **__restrict); + +long strtol (const char *__restrict, char **__restrict, int); +unsigned long strtoul (const char *__restrict, char **__restrict, int); +long long strtoll (const char *__restrict, char **__restrict, int); +unsigned long long strtoull (const char *__restrict, char **__restrict, int); + +int abs (int); +long labs (long); +long long llabs (long long); + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; +typedef struct { long long quot, rem; } lldiv_t; + +div_t div (int, int); +ldiv_t ldiv (long, long); +lldiv_t lldiv (long long, long long); + +int mblen (const char *, size_t); +int mbtowc (wchar_t *__restrict, const char *__restrict, size_t); +int wctomb (char *, wchar_t); +size_t mbstowcs (wchar_t *__restrict, const char *__restrict, size_t); +size_t wcstombs (char *__restrict, const wchar_t *__restrict, size_t); + +hidden_sym char *__randname(char *); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/libfdt/libc/string.h b/src/libfdt/libc/string.h new file mode 100644 index 0000000..5867a6f --- /dev/null +++ b/src/libfdt/libc/string.h @@ -0,0 +1,59 @@ +#ifndef _STRING_H +#define _STRING_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#ifndef NULL +#ifdef __cplusplus +#define NULL 0L +#else +#define NULL ((void*)0) +#endif +#endif + +void *memcpy (void *__restrict, const void *__restrict, size_t); +void *memmove (void *, const void *, size_t); +void *memset (void *, int, size_t); +int memcmp (const void *, const void *, size_t); +void *memchr (const void *, int, size_t); + +char *strcpy (char *__restrict, const char *__restrict); +char *strncpy (char *__restrict, const char *__restrict, size_t); + +char *strcat (char *__restrict, const char *__restrict); +char *strncat (char *__restrict, const char *__restrict, size_t); + +int strcmp (const char *, const char *); +int strncmp (const char *, const char *, size_t); + +int strcoll (const char *, const char *); +size_t strxfrm (char *__restrict, const char *__restrict, size_t); + +char *strchr (const char *, int); +char *strrchr (const char *, int); + +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); +char *strpbrk (const char *, const char *); +char *strstr (const char *, const char *); +char *strtok (char *__restrict, const char *__restrict); + +size_t strlen (const char *); + +char *strerror (int); + +/* None-ANSI */ +size_t strnlen (const char *, size_t); + +char * strdup(const char * s); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/libfdt/libfdt.h b/src/libfdt/libfdt.h new file mode 100755 index 0000000..d530e79 --- /dev/null +++ b/src/libfdt/libfdt.h @@ -0,0 +1,2076 @@ +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */ +#ifndef LIBFDT_H +#define LIBFDT_H +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2006 David Gibson, IBM Corporation. + */ + +#include "libfdt_env.h" +#include "fdt.h" + +#define FDT_FIRST_SUPPORTED_VERSION 0x02 +#define FDT_LAST_SUPPORTED_VERSION 0x11 + +/* Error codes: informative error codes */ +#define FDT_ERR_NOTFOUND 1 + /* FDT_ERR_NOTFOUND: The requested node or property does not exist */ +#define FDT_ERR_EXISTS 2 + /* FDT_ERR_EXISTS: Attempted to create a node or property which + * already exists */ +#define FDT_ERR_NOSPACE 3 + /* FDT_ERR_NOSPACE: Operation needed to expand the device + * tree, but its buffer did not have sufficient space to + * contain the expanded tree. Use fdt_open_into() to move the + * device tree to a buffer with more space. */ + +/* Error codes: codes for bad parameters */ +#define FDT_ERR_BADOFFSET 4 + /* FDT_ERR_BADOFFSET: Function was passed a structure block + * offset which is out-of-bounds, or which points to an + * unsuitable part of the structure for the operation. */ +#define FDT_ERR_BADPATH 5 + /* FDT_ERR_BADPATH: Function was passed a badly formatted path + * (e.g. missing a leading / for a function which requires an + * absolute path) */ +#define FDT_ERR_BADPHANDLE 6 + /* FDT_ERR_BADPHANDLE: Function was passed an invalid phandle. + * This can be caused either by an invalid phandle property + * length, or the phandle value was either 0 or -1, which are + * not permitted. */ +#define FDT_ERR_BADSTATE 7 + /* FDT_ERR_BADSTATE: Function was passed an incomplete device + * tree created by the sequential-write functions, which is + * not sufficiently complete for the requested operation. */ + +/* Error codes: codes for bad device tree blobs */ +#define FDT_ERR_TRUNCATED 8 + /* FDT_ERR_TRUNCATED: FDT or a sub-block is improperly + * terminated (overflows, goes outside allowed bounds, or + * isn't properly terminated). */ +#define FDT_ERR_BADMAGIC 9 + /* FDT_ERR_BADMAGIC: Given "device tree" appears not to be a + * device tree at all - it is missing the flattened device + * tree magic number. */ +#define FDT_ERR_BADVERSION 10 + /* FDT_ERR_BADVERSION: Given device tree has a version which + * can't be handled by the requested operation. For + * read-write functions, this may mean that fdt_open_into() is + * required to convert the tree to the expected version. */ +#define FDT_ERR_BADSTRUCTURE 11 + /* FDT_ERR_BADSTRUCTURE: Given device tree has a corrupt + * structure block or other serious error (e.g. misnested + * nodes, or subnodes preceding properties). */ +#define FDT_ERR_BADLAYOUT 12 + /* FDT_ERR_BADLAYOUT: For read-write functions, the given + * device tree has it's sub-blocks in an order that the + * function can't handle (memory reserve map, then structure, + * then strings). Use fdt_open_into() to reorganize the tree + * into a form suitable for the read-write operations. */ + +/* "Can't happen" error indicating a bug in libfdt */ +#define FDT_ERR_INTERNAL 13 + /* FDT_ERR_INTERNAL: libfdt has failed an internal assertion. + * Should never be returned, if it is, it indicates a bug in + * libfdt itself. */ + +/* Errors in device tree content */ +#define FDT_ERR_BADNCELLS 14 + /* FDT_ERR_BADNCELLS: Device tree has a #address-cells, #size-cells + * or similar property with a bad format or value */ + +#define FDT_ERR_BADVALUE 15 + /* FDT_ERR_BADVALUE: Device tree has a property with an unexpected + * value. For example: a property expected to contain a string list + * is not NUL-terminated within the length of its value. */ + +#define FDT_ERR_BADOVERLAY 16 + /* FDT_ERR_BADOVERLAY: The device tree overlay, while + * correctly structured, cannot be applied due to some + * unexpected or missing value, property or node. */ + +#define FDT_ERR_NOPHANDLES 17 + /* FDT_ERR_NOPHANDLES: The device tree doesn't have any + * phandle available anymore without causing an overflow */ + +#define FDT_ERR_BADFLAGS 18 + /* FDT_ERR_BADFLAGS: The function was passed a flags field that + * contains invalid flags or an invalid combination of flags. */ + +#define FDT_ERR_MAX 18 + +/* constants */ +#define FDT_MAX_PHANDLE 0xfffffffe + /* Valid values for phandles range from 1 to 2^32-2. */ + +/**********************************************************************/ +/* Low-level functions (you probably don't need these) */ +/**********************************************************************/ + +#ifndef SWIG /* This function is not useful in Python */ +const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int checklen); +#endif +static inline void *fdt_offset_ptr_w(void *fdt, int offset, int checklen) +{ + return (void *)(uintptr_t)fdt_offset_ptr(fdt, offset, checklen); +} + +uint32_t fdt_next_tag(const void *fdt, int offset, int *nextoffset); + +/* + * Alignment helpers: + * These helpers access words from a device tree blob. They're + * built to work even with unaligned pointers on platforms (ike + * ARM) that don't like unaligned loads and stores + */ + +static inline uint32_t fdt32_ld(const fdt32_t *p) +{ + const uint8_t *bp = (const uint8_t *)p; + + return ((uint32_t)bp[0] << 24) + | ((uint32_t)bp[1] << 16) + | ((uint32_t)bp[2] << 8) + | bp[3]; +} + +static inline void fdt32_st(void *property, uint32_t value) +{ + uint8_t *bp = property; + + bp[0] = value >> 24; + bp[1] = (value >> 16) & 0xff; + bp[2] = (value >> 8) & 0xff; + bp[3] = value & 0xff; +} + +static inline uint64_t fdt64_ld(const fdt64_t *p) +{ + const uint8_t *bp = (const uint8_t *)p; + + return ((uint64_t)bp[0] << 56) + | ((uint64_t)bp[1] << 48) + | ((uint64_t)bp[2] << 40) + | ((uint64_t)bp[3] << 32) + | ((uint64_t)bp[4] << 24) + | ((uint64_t)bp[5] << 16) + | ((uint64_t)bp[6] << 8) + | bp[7]; +} + +static inline void fdt64_st(void *property, uint64_t value) +{ + uint8_t *bp = property; + + bp[0] = value >> 56; + bp[1] = (value >> 48) & 0xff; + bp[2] = (value >> 40) & 0xff; + bp[3] = (value >> 32) & 0xff; + bp[4] = (value >> 24) & 0xff; + bp[5] = (value >> 16) & 0xff; + bp[6] = (value >> 8) & 0xff; + bp[7] = value & 0xff; +} + +/**********************************************************************/ +/* Traversal functions */ +/**********************************************************************/ + +int fdt_next_node(const void *fdt, int offset, int *depth); + +/** + * fdt_first_subnode() - get offset of first direct subnode + * + * @fdt: FDT blob + * @offset: Offset of node to check + * @return offset of first subnode, or -FDT_ERR_NOTFOUND if there is none + */ +int fdt_first_subnode(const void *fdt, int offset); + +/** + * fdt_next_subnode() - get offset of next direct subnode + * + * After first calling fdt_first_subnode(), call this function repeatedly to + * get direct subnodes of a parent node. + * + * @fdt: FDT blob + * @offset: Offset of previous subnode + * @return offset of next subnode, or -FDT_ERR_NOTFOUND if there are no more + * subnodes + */ +int fdt_next_subnode(const void *fdt, int offset); + +/** + * fdt_for_each_subnode - iterate over all subnodes of a parent + * + * @node: child node (int, lvalue) + * @fdt: FDT blob (const void *) + * @parent: parent node (int) + * + * This is actually a wrapper around a for loop and would be used like so: + * + * fdt_for_each_subnode(node, fdt, parent) { + * Use node + * ... + * } + * + * if ((node < 0) && (node != -FDT_ERR_NOTFOUND)) { + * Error handling + * } + * + * Note that this is implemented as a macro and @node is used as + * iterator in the loop. The parent variable be constant or even a + * literal. + * + */ +#define fdt_for_each_subnode(node, fdt, parent) \ + for (node = fdt_first_subnode(fdt, parent); \ + node >= 0; \ + node = fdt_next_subnode(fdt, node)) + +/**********************************************************************/ +/* General functions */ +/**********************************************************************/ +#define fdt_get_header(fdt, field) \ + (fdt32_ld(&((const struct fdt_header *)(fdt))->field)) +#define fdt_magic(fdt) (fdt_get_header(fdt, magic)) +#define fdt_totalsize(fdt) (fdt_get_header(fdt, totalsize)) +#define fdt_off_dt_struct(fdt) (fdt_get_header(fdt, off_dt_struct)) +#define fdt_off_dt_strings(fdt) (fdt_get_header(fdt, off_dt_strings)) +#define fdt_off_mem_rsvmap(fdt) (fdt_get_header(fdt, off_mem_rsvmap)) +#define fdt_version(fdt) (fdt_get_header(fdt, version)) +#define fdt_last_comp_version(fdt) (fdt_get_header(fdt, last_comp_version)) +#define fdt_boot_cpuid_phys(fdt) (fdt_get_header(fdt, boot_cpuid_phys)) +#define fdt_size_dt_strings(fdt) (fdt_get_header(fdt, size_dt_strings)) +#define fdt_size_dt_struct(fdt) (fdt_get_header(fdt, size_dt_struct)) + +#define fdt_set_hdr_(name) \ + static inline void fdt_set_##name(void *fdt, uint32_t val) \ + { \ + struct fdt_header *fdth = (struct fdt_header *)fdt; \ + fdth->name = cpu_to_fdt32(val); \ + } +fdt_set_hdr_(magic); +fdt_set_hdr_(totalsize); +fdt_set_hdr_(off_dt_struct); +fdt_set_hdr_(off_dt_strings); +fdt_set_hdr_(off_mem_rsvmap); +fdt_set_hdr_(version); +fdt_set_hdr_(last_comp_version); +fdt_set_hdr_(boot_cpuid_phys); +fdt_set_hdr_(size_dt_strings); +fdt_set_hdr_(size_dt_struct); +#undef fdt_set_hdr_ + +/** + * fdt_header_size - return the size of the tree's header + * @fdt: pointer to a flattened device tree + */ +size_t fdt_header_size_(uint32_t version); +static inline size_t fdt_header_size(const void *fdt) +{ + return fdt_header_size_(fdt_version(fdt)); +} + +/** + * fdt_check_header - sanity check a device tree header + + * @fdt: pointer to data which might be a flattened device tree + * + * fdt_check_header() checks that the given buffer contains what + * appears to be a flattened device tree, and that the header contains + * valid information (to the extent that can be determined from the + * header alone). + * + * returns: + * 0, if the buffer appears to contain a valid device tree + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_TRUNCATED, standard meanings, as above + */ +int fdt_check_header(const void *fdt); + +/** + * fdt_move - move a device tree around in memory + * @fdt: pointer to the device tree to move + * @buf: pointer to memory where the device is to be moved + * @bufsize: size of the memory space at buf + * + * fdt_move() relocates, if possible, the device tree blob located at + * fdt to the buffer at buf of size bufsize. The buffer may overlap + * with the existing device tree blob at fdt. Therefore, + * fdt_move(fdt, fdt, fdt_totalsize(fdt)) + * should always succeed. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, bufsize is insufficient to contain the device tree + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, standard meanings + */ +int fdt_move(const void *fdt, void *buf, int bufsize); + +/**********************************************************************/ +/* Read-only functions */ +/**********************************************************************/ + +int fdt_check_full(const void *fdt, size_t bufsize); + +/** + * fdt_get_string - retrieve a string from the strings block of a device tree + * @fdt: pointer to the device tree blob + * @stroffset: offset of the string within the strings block (native endian) + * @lenp: optional pointer to return the string's length + * + * fdt_get_string() retrieves a pointer to a single string from the + * strings block of the device tree blob at fdt, and optionally also + * returns the string's length in *lenp. + * + * returns: + * a pointer to the string, on success + * NULL, if stroffset is out of bounds, or doesn't point to a valid string + */ +const char *fdt_get_string(const void *fdt, int stroffset, int *lenp); + +/** + * fdt_string - retrieve a string from the strings block of a device tree + * @fdt: pointer to the device tree blob + * @stroffset: offset of the string within the strings block (native endian) + * + * fdt_string() retrieves a pointer to a single string from the + * strings block of the device tree blob at fdt. + * + * returns: + * a pointer to the string, on success + * NULL, if stroffset is out of bounds, or doesn't point to a valid string + */ +const char *fdt_string(const void *fdt, int stroffset); + +/** + * fdt_find_max_phandle - find and return the highest phandle in a tree + * @fdt: pointer to the device tree blob + * @phandle: return location for the highest phandle value found in the tree + * + * fdt_find_max_phandle() finds the highest phandle value in the given device + * tree. The value returned in @phandle is only valid if the function returns + * success. + * + * returns: + * 0 on success or a negative error code on failure + */ +int fdt_find_max_phandle(const void *fdt, uint32_t *phandle); + +/** + * fdt_get_max_phandle - retrieves the highest phandle in a tree + * @fdt: pointer to the device tree blob + * + * fdt_get_max_phandle retrieves the highest phandle in the given + * device tree. This will ignore badly formatted phandles, or phandles + * with a value of 0 or -1. + * + * This function is deprecated in favour of fdt_find_max_phandle(). + * + * returns: + * the highest phandle on success + * 0, if no phandle was found in the device tree + * -1, if an error occurred + */ +static inline uint32_t fdt_get_max_phandle(const void *fdt) +{ + uint32_t phandle; + int err; + + err = fdt_find_max_phandle(fdt, &phandle); + if (err < 0) + return (uint32_t)-1; + + return phandle; +} + +/** + * fdt_generate_phandle - return a new, unused phandle for a device tree blob + * @fdt: pointer to the device tree blob + * @phandle: return location for the new phandle + * + * Walks the device tree blob and looks for the highest phandle value. On + * success, the new, unused phandle value (one higher than the previously + * highest phandle value in the device tree blob) will be returned in the + * @phandle parameter. + * + * Returns: + * 0 on success or a negative error-code on failure + */ +int fdt_generate_phandle(const void *fdt, uint32_t *phandle); + +/** + * fdt_num_mem_rsv - retrieve the number of memory reserve map entries + * @fdt: pointer to the device tree blob + * + * Returns the number of entries in the device tree blob's memory + * reservation map. This does not include the terminating 0,0 entry + * or any other (0,0) entries reserved for expansion. + * + * returns: + * the number of entries + */ +int fdt_num_mem_rsv(const void *fdt); + +/** + * fdt_get_mem_rsv - retrieve one memory reserve map entry + * @fdt: pointer to the device tree blob + * @address, @size: pointers to 64-bit variables + * + * On success, *address and *size will contain the address and size of + * the n-th reserve map entry from the device tree blob, in + * native-endian format. + * + * returns: + * 0, on success + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, standard meanings + */ +int fdt_get_mem_rsv(const void *fdt, int n, uint64_t *address, uint64_t *size); + +/** + * fdt_subnode_offset_namelen - find a subnode based on substring + * @fdt: pointer to the device tree blob + * @parentoffset: structure block offset of a node + * @name: name of the subnode to locate + * @namelen: number of characters of name to consider + * + * Identical to fdt_subnode_offset(), but only examine the first + * namelen characters of name for matching the subnode name. This is + * useful for finding subnodes based on a portion of a larger string, + * such as a full path. + */ +#ifndef SWIG /* Not available in Python */ +int fdt_subnode_offset_namelen(const void *fdt, int parentoffset, + const char *name, int namelen); +#endif +/** + * fdt_subnode_offset - find a subnode of a given node + * @fdt: pointer to the device tree blob + * @parentoffset: structure block offset of a node + * @name: name of the subnode to locate + * + * fdt_subnode_offset() finds a subnode of the node at structure block + * offset parentoffset with the given name. name may include a unit + * address, in which case fdt_subnode_offset() will find the subnode + * with that unit address, or the unit address may be omitted, in + * which case fdt_subnode_offset() will find an arbitrary subnode + * whose name excluding unit address matches the given name. + * + * returns: + * structure block offset of the requested subnode (>=0), on success + * -FDT_ERR_NOTFOUND, if the requested subnode does not exist + * -FDT_ERR_BADOFFSET, if parentoffset did not point to an FDT_BEGIN_NODE + * tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings. + */ +int fdt_subnode_offset(const void *fdt, int parentoffset, const char *name); + +/** + * fdt_path_offset_namelen - find a tree node by its full path + * @fdt: pointer to the device tree blob + * @path: full path of the node to locate + * @namelen: number of characters of path to consider + * + * Identical to fdt_path_offset(), but only consider the first namelen + * characters of path as the path name. + */ +#ifndef SWIG /* Not available in Python */ +int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen); +#endif + +/** + * fdt_path_offset - find a tree node by its full path + * @fdt: pointer to the device tree blob + * @path: full path of the node to locate + * + * fdt_path_offset() finds a node of a given path in the device tree. + * Each path component may omit the unit address portion, but the + * results of this are undefined if any such path component is + * ambiguous (that is if there are multiple nodes at the relevant + * level matching the given component, differentiated only by unit + * address). + * + * returns: + * structure block offset of the node with the requested path (>=0), on + * success + * -FDT_ERR_BADPATH, given path does not begin with '/' or is invalid + * -FDT_ERR_NOTFOUND, if the requested node does not exist + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings. + */ +int fdt_path_offset(const void *fdt, const char *path); + +/** + * fdt_get_name - retrieve the name of a given node + * @fdt: pointer to the device tree blob + * @nodeoffset: structure block offset of the starting node + * @lenp: pointer to an integer variable (will be overwritten) or NULL + * + * fdt_get_name() retrieves the name (including unit address) of the + * device tree node at structure block offset nodeoffset. If lenp is + * non-NULL, the length of this name is also returned, in the integer + * pointed to by lenp. + * + * returns: + * pointer to the node's name, on success + * If lenp is non-NULL, *lenp contains the length of that name + * (>=0) + * NULL, on error + * if lenp is non-NULL *lenp contains an error code (<0): + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE + * tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, standard meanings + */ +const char *fdt_get_name(const void *fdt, int nodeoffset, int *lenp); + +/** + * fdt_first_property_offset - find the offset of a node's first property + * @fdt: pointer to the device tree blob + * @nodeoffset: structure block offset of a node + * + * fdt_first_property_offset() finds the first property of the node at + * the given structure block offset. + * + * returns: + * structure block offset of the property (>=0), on success + * -FDT_ERR_NOTFOUND, if the requested node has no properties + * -FDT_ERR_BADOFFSET, if nodeoffset did not point to an FDT_BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings. + */ +int fdt_first_property_offset(const void *fdt, int nodeoffset); + +/** + * fdt_next_property_offset - step through a node's properties + * @fdt: pointer to the device tree blob + * @offset: structure block offset of a property + * + * fdt_next_property_offset() finds the property immediately after the + * one at the given structure block offset. This will be a property + * of the same node as the given property. + * + * returns: + * structure block offset of the next property (>=0), on success + * -FDT_ERR_NOTFOUND, if the given property is the last in its node + * -FDT_ERR_BADOFFSET, if nodeoffset did not point to an FDT_PROP tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings. + */ +int fdt_next_property_offset(const void *fdt, int offset); + +/** + * fdt_for_each_property_offset - iterate over all properties of a node + * + * @property_offset: property offset (int, lvalue) + * @fdt: FDT blob (const void *) + * @node: node offset (int) + * + * This is actually a wrapper around a for loop and would be used like so: + * + * fdt_for_each_property_offset(property, fdt, node) { + * Use property + * ... + * } + * + * if ((property < 0) && (property != -FDT_ERR_NOTFOUND)) { + * Error handling + * } + * + * Note that this is implemented as a macro and property is used as + * iterator in the loop. The node variable can be constant or even a + * literal. + */ +#define fdt_for_each_property_offset(property, fdt, node) \ + for (property = fdt_first_property_offset(fdt, node); \ + property >= 0; \ + property = fdt_next_property_offset(fdt, property)) + +/** + * fdt_get_property_by_offset - retrieve the property at a given offset + * @fdt: pointer to the device tree blob + * @offset: offset of the property to retrieve + * @lenp: pointer to an integer variable (will be overwritten) or NULL + * + * fdt_get_property_by_offset() retrieves a pointer to the + * fdt_property structure within the device tree blob at the given + * offset. If lenp is non-NULL, the length of the property value is + * also returned, in the integer pointed to by lenp. + * + * Note that this code only works on device tree versions >= 16. fdt_getprop() + * works on all versions. + * + * returns: + * pointer to the structure representing the property + * if lenp is non-NULL, *lenp contains the length of the property + * value (>=0) + * NULL, on error + * if lenp is non-NULL, *lenp contains an error code (<0): + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_PROP tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +const struct fdt_property *fdt_get_property_by_offset(const void *fdt, + int offset, + int *lenp); + +/** + * fdt_get_property_namelen - find a property based on substring + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to find + * @name: name of the property to find + * @namelen: number of characters of name to consider + * @lenp: pointer to an integer variable (will be overwritten) or NULL + * + * Identical to fdt_get_property(), but only examine the first namelen + * characters of name for matching the property name. + */ +#ifndef SWIG /* Not available in Python */ +const struct fdt_property *fdt_get_property_namelen(const void *fdt, + int nodeoffset, + const char *name, + int namelen, int *lenp); +#endif + +/** + * fdt_get_property - find a given property in a given node + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to find + * @name: name of the property to find + * @lenp: pointer to an integer variable (will be overwritten) or NULL + * + * fdt_get_property() retrieves a pointer to the fdt_property + * structure within the device tree blob corresponding to the property + * named 'name' of the node at offset nodeoffset. If lenp is + * non-NULL, the length of the property value is also returned, in the + * integer pointed to by lenp. + * + * returns: + * pointer to the structure representing the property + * if lenp is non-NULL, *lenp contains the length of the property + * value (>=0) + * NULL, on error + * if lenp is non-NULL, *lenp contains an error code (<0): + * -FDT_ERR_NOTFOUND, node does not have named property + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE + * tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +const struct fdt_property *fdt_get_property(const void *fdt, int nodeoffset, + const char *name, int *lenp); +static inline struct fdt_property *fdt_get_property_w(void *fdt, int nodeoffset, + const char *name, + int *lenp) +{ + return (struct fdt_property *)(uintptr_t) + fdt_get_property(fdt, nodeoffset, name, lenp); +} + +/** + * fdt_getprop_by_offset - retrieve the value of a property at a given offset + * @fdt: pointer to the device tree blob + * @offset: offset of the property to read + * @namep: pointer to a string variable (will be overwritten) or NULL + * @lenp: pointer to an integer variable (will be overwritten) or NULL + * + * fdt_getprop_by_offset() retrieves a pointer to the value of the + * property at structure block offset 'offset' (this will be a pointer + * to within the device blob itself, not a copy of the value). If + * lenp is non-NULL, the length of the property value is also + * returned, in the integer pointed to by lenp. If namep is non-NULL, + * the property's namne will also be returned in the char * pointed to + * by namep (this will be a pointer to within the device tree's string + * block, not a new copy of the name). + * + * returns: + * pointer to the property's value + * if lenp is non-NULL, *lenp contains the length of the property + * value (>=0) + * if namep is non-NULL *namep contiains a pointer to the property + * name. + * NULL, on error + * if lenp is non-NULL, *lenp contains an error code (<0): + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_PROP tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +#ifndef SWIG /* This function is not useful in Python */ +const void *fdt_getprop_by_offset(const void *fdt, int offset, + const char **namep, int *lenp); +#endif + +/** + * fdt_getprop_namelen - get property value based on substring + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to find + * @name: name of the property to find + * @namelen: number of characters of name to consider + * @lenp: pointer to an integer variable (will be overwritten) or NULL + * + * Identical to fdt_getprop(), but only examine the first namelen + * characters of name for matching the property name. + */ +#ifndef SWIG /* Not available in Python */ +const void *fdt_getprop_namelen(const void *fdt, int nodeoffset, + const char *name, int namelen, int *lenp); +static inline void *fdt_getprop_namelen_w(void *fdt, int nodeoffset, + const char *name, int namelen, + int *lenp) +{ + return (void *)(uintptr_t)fdt_getprop_namelen(fdt, nodeoffset, name, + namelen, lenp); +} +#endif + +/** + * fdt_getprop - retrieve the value of a given property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to find + * @name: name of the property to find + * @lenp: pointer to an integer variable (will be overwritten) or NULL + * + * fdt_getprop() retrieves a pointer to the value of the property + * named 'name' of the node at offset nodeoffset (this will be a + * pointer to within the device blob itself, not a copy of the value). + * If lenp is non-NULL, the length of the property value is also + * returned, in the integer pointed to by lenp. + * + * returns: + * pointer to the property's value + * if lenp is non-NULL, *lenp contains the length of the property + * value (>=0) + * NULL, on error + * if lenp is non-NULL, *lenp contains an error code (<0): + * -FDT_ERR_NOTFOUND, node does not have named property + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE + * tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +const void *fdt_getprop(const void *fdt, int nodeoffset, + const char *name, int *lenp); +static inline void *fdt_getprop_w(void *fdt, int nodeoffset, + const char *name, int *lenp) +{ + return (void *)(uintptr_t)fdt_getprop(fdt, nodeoffset, name, lenp); +} + +/** + * fdt_get_phandle - retrieve the phandle of a given node + * @fdt: pointer to the device tree blob + * @nodeoffset: structure block offset of the node + * + * fdt_get_phandle() retrieves the phandle of the device tree node at + * structure block offset nodeoffset. + * + * returns: + * the phandle of the node at nodeoffset, on success (!= 0, != -1) + * 0, if the node has no phandle, or another error occurs + */ +uint32_t fdt_get_phandle(const void *fdt, int nodeoffset); + +/** + * fdt_get_alias_namelen - get alias based on substring + * @fdt: pointer to the device tree blob + * @name: name of the alias th look up + * @namelen: number of characters of name to consider + * + * Identical to fdt_get_alias(), but only examine the first namelen + * characters of name for matching the alias name. + */ +#ifndef SWIG /* Not available in Python */ +const char *fdt_get_alias_namelen(const void *fdt, + const char *name, int namelen); +#endif + +/** + * fdt_get_alias - retrieve the path referenced by a given alias + * @fdt: pointer to the device tree blob + * @name: name of the alias th look up + * + * fdt_get_alias() retrieves the value of a given alias. That is, the + * value of the property named 'name' in the node /aliases. + * + * returns: + * a pointer to the expansion of the alias named 'name', if it exists + * NULL, if the given alias or the /aliases node does not exist + */ +const char *fdt_get_alias(const void *fdt, const char *name); + +/** + * fdt_get_path - determine the full path of a node + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose path to find + * @buf: character buffer to contain the returned path (will be overwritten) + * @buflen: size of the character buffer at buf + * + * fdt_get_path() computes the full path of the node at offset + * nodeoffset, and records that path in the buffer at buf. + * + * NOTE: This function is expensive, as it must scan the device tree + * structure from the start to nodeoffset. + * + * returns: + * 0, on success + * buf contains the absolute path of the node at + * nodeoffset, as a NUL-terminated string. + * -FDT_ERR_BADOFFSET, nodeoffset does not refer to a BEGIN_NODE tag + * -FDT_ERR_NOSPACE, the path of the given node is longer than (bufsize-1) + * characters and will not fit in the given buffer. + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, standard meanings + */ +int fdt_get_path(const void *fdt, int nodeoffset, char *buf, int buflen); + +/** + * fdt_supernode_atdepth_offset - find a specific ancestor of a node + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose parent to find + * @supernodedepth: depth of the ancestor to find + * @nodedepth: pointer to an integer variable (will be overwritten) or NULL + * + * fdt_supernode_atdepth_offset() finds an ancestor of the given node + * at a specific depth from the root (where the root itself has depth + * 0, its immediate subnodes depth 1 and so forth). So + * fdt_supernode_atdepth_offset(fdt, nodeoffset, 0, NULL); + * will always return 0, the offset of the root node. If the node at + * nodeoffset has depth D, then: + * fdt_supernode_atdepth_offset(fdt, nodeoffset, D, NULL); + * will return nodeoffset itself. + * + * NOTE: This function is expensive, as it must scan the device tree + * structure from the start to nodeoffset. + * + * returns: + * structure block offset of the node at node offset's ancestor + * of depth supernodedepth (>=0), on success + * -FDT_ERR_BADOFFSET, nodeoffset does not refer to a BEGIN_NODE tag + * -FDT_ERR_NOTFOUND, supernodedepth was greater than the depth of + * nodeoffset + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, standard meanings + */ +int fdt_supernode_atdepth_offset(const void *fdt, int nodeoffset, + int supernodedepth, int *nodedepth); + +/** + * fdt_node_depth - find the depth of a given node + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose parent to find + * + * fdt_node_depth() finds the depth of a given node. The root node + * has depth 0, its immediate subnodes depth 1 and so forth. + * + * NOTE: This function is expensive, as it must scan the device tree + * structure from the start to nodeoffset. + * + * returns: + * depth of the node at nodeoffset (>=0), on success + * -FDT_ERR_BADOFFSET, nodeoffset does not refer to a BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, standard meanings + */ +int fdt_node_depth(const void *fdt, int nodeoffset); + +/** + * fdt_parent_offset - find the parent of a given node + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose parent to find + * + * fdt_parent_offset() locates the parent node of a given node (that + * is, it finds the offset of the node which contains the node at + * nodeoffset as a subnode). + * + * NOTE: This function is expensive, as it must scan the device tree + * structure from the start to nodeoffset, *twice*. + * + * returns: + * structure block offset of the parent of the node at nodeoffset + * (>=0), on success + * -FDT_ERR_BADOFFSET, nodeoffset does not refer to a BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, standard meanings + */ +int fdt_parent_offset(const void *fdt, int nodeoffset); + +/** + * fdt_node_offset_by_prop_value - find nodes with a given property value + * @fdt: pointer to the device tree blob + * @startoffset: only find nodes after this offset + * @propname: property name to check + * @propval: property value to search for + * @proplen: length of the value in propval + * + * fdt_node_offset_by_prop_value() returns the offset of the first + * node after startoffset, which has a property named propname whose + * value is of length proplen and has value equal to propval; or if + * startoffset is -1, the very first such node in the tree. + * + * To iterate through all nodes matching the criterion, the following + * idiom can be used: + * offset = fdt_node_offset_by_prop_value(fdt, -1, propname, + * propval, proplen); + * while (offset != -FDT_ERR_NOTFOUND) { + * // other code here + * offset = fdt_node_offset_by_prop_value(fdt, offset, propname, + * propval, proplen); + * } + * + * Note the -1 in the first call to the function, if 0 is used here + * instead, the function will never locate the root node, even if it + * matches the criterion. + * + * returns: + * structure block offset of the located node (>= 0, >startoffset), + * on success + * -FDT_ERR_NOTFOUND, no node matching the criterion exists in the + * tree after startoffset + * -FDT_ERR_BADOFFSET, nodeoffset does not refer to a BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, standard meanings + */ +int fdt_node_offset_by_prop_value(const void *fdt, int startoffset, + const char *propname, + const void *propval, int proplen); + +/** + * fdt_node_offset_by_phandle - find the node with a given phandle + * @fdt: pointer to the device tree blob + * @phandle: phandle value + * + * fdt_node_offset_by_phandle() returns the offset of the node + * which has the given phandle value. If there is more than one node + * in the tree with the given phandle (an invalid tree), results are + * undefined. + * + * returns: + * structure block offset of the located node (>= 0), on success + * -FDT_ERR_NOTFOUND, no node with that phandle exists + * -FDT_ERR_BADPHANDLE, given phandle value was invalid (0 or -1) + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, standard meanings + */ +int fdt_node_offset_by_phandle(const void *fdt, uint32_t phandle); + +/** + * fdt_node_check_compatible: check a node's compatible property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of a tree node + * @compatible: string to match against + * + * + * fdt_node_check_compatible() returns 0 if the given node contains a + * 'compatible' property with the given string as one of its elements, + * it returns non-zero otherwise, or on error. + * + * returns: + * 0, if the node has a 'compatible' property listing the given string + * 1, if the node has a 'compatible' property, but it does not list + * the given string + * -FDT_ERR_NOTFOUND, if the given node has no 'compatible' property + * -FDT_ERR_BADOFFSET, if nodeoffset does not refer to a BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, standard meanings + */ +int fdt_node_check_compatible(const void *fdt, int nodeoffset, + const char *compatible); + +/** + * fdt_node_offset_by_compatible - find nodes with a given 'compatible' value + * @fdt: pointer to the device tree blob + * @startoffset: only find nodes after this offset + * @compatible: 'compatible' string to match against + * + * fdt_node_offset_by_compatible() returns the offset of the first + * node after startoffset, which has a 'compatible' property which + * lists the given compatible string; or if startoffset is -1, the + * very first such node in the tree. + * + * To iterate through all nodes matching the criterion, the following + * idiom can be used: + * offset = fdt_node_offset_by_compatible(fdt, -1, compatible); + * while (offset != -FDT_ERR_NOTFOUND) { + * // other code here + * offset = fdt_node_offset_by_compatible(fdt, offset, compatible); + * } + * + * Note the -1 in the first call to the function, if 0 is used here + * instead, the function will never locate the root node, even if it + * matches the criterion. + * + * returns: + * structure block offset of the located node (>= 0, >startoffset), + * on success + * -FDT_ERR_NOTFOUND, no node matching the criterion exists in the + * tree after startoffset + * -FDT_ERR_BADOFFSET, nodeoffset does not refer to a BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, standard meanings + */ +int fdt_node_offset_by_compatible(const void *fdt, int startoffset, + const char *compatible); + +/** + * fdt_stringlist_contains - check a string list property for a string + * @strlist: Property containing a list of strings to check + * @listlen: Length of property + * @str: String to search for + * + * This is a utility function provided for convenience. The list contains + * one or more strings, each terminated by \0, as is found in a device tree + * "compatible" property. + * + * @return: 1 if the string is found in the list, 0 not found, or invalid list + */ +int fdt_stringlist_contains(const char *strlist, int listlen, const char *str); + +/** + * fdt_stringlist_count - count the number of strings in a string list + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of a tree node + * @property: name of the property containing the string list + * @return: + * the number of strings in the given property + * -FDT_ERR_BADVALUE if the property value is not NUL-terminated + * -FDT_ERR_NOTFOUND if the property does not exist + */ +int fdt_stringlist_count(const void *fdt, int nodeoffset, const char *property); + +/** + * fdt_stringlist_search - find a string in a string list and return its index + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of a tree node + * @property: name of the property containing the string list + * @string: string to look up in the string list + * + * Note that it is possible for this function to succeed on property values + * that are not NUL-terminated. That's because the function will stop after + * finding the first occurrence of @string. This can for example happen with + * small-valued cell properties, such as #address-cells, when searching for + * the empty string. + * + * @return: + * the index of the string in the list of strings + * -FDT_ERR_BADVALUE if the property value is not NUL-terminated + * -FDT_ERR_NOTFOUND if the property does not exist or does not contain + * the given string + */ +int fdt_stringlist_search(const void *fdt, int nodeoffset, const char *property, + const char *string); + +/** + * fdt_stringlist_get() - obtain the string at a given index in a string list + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of a tree node + * @property: name of the property containing the string list + * @index: index of the string to return + * @lenp: return location for the string length or an error code on failure + * + * Note that this will successfully extract strings from properties with + * non-NUL-terminated values. For example on small-valued cell properties + * this function will return the empty string. + * + * If non-NULL, the length of the string (on success) or a negative error-code + * (on failure) will be stored in the integer pointer to by lenp. + * + * @return: + * A pointer to the string at the given index in the string list or NULL on + * failure. On success the length of the string will be stored in the memory + * location pointed to by the lenp parameter, if non-NULL. On failure one of + * the following negative error codes will be returned in the lenp parameter + * (if non-NULL): + * -FDT_ERR_BADVALUE if the property value is not NUL-terminated + * -FDT_ERR_NOTFOUND if the property does not exist + */ +const char *fdt_stringlist_get(const void *fdt, int nodeoffset, + const char *property, int index, + int *lenp); + +/**********************************************************************/ +/* Read-only functions (addressing related) */ +/**********************************************************************/ + +/** + * FDT_MAX_NCELLS - maximum value for #address-cells and #size-cells + * + * This is the maximum value for #address-cells, #size-cells and + * similar properties that will be processed by libfdt. IEE1275 + * requires that OF implementations handle values up to 4. + * Implementations may support larger values, but in practice higher + * values aren't used. + */ +#define FDT_MAX_NCELLS 4 + +/** + * fdt_address_cells - retrieve address size for a bus represented in the tree + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node to find the address size for + * + * When the node has a valid #address-cells property, returns its value. + * + * returns: + * 0 <= n < FDT_MAX_NCELLS, on success + * 2, if the node has no #address-cells property + * -FDT_ERR_BADNCELLS, if the node has a badly formatted or invalid + * #address-cells property + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_address_cells(const void *fdt, int nodeoffset); + +/** + * fdt_size_cells - retrieve address range size for a bus represented in the + * tree + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node to find the address range size for + * + * When the node has a valid #size-cells property, returns its value. + * + * returns: + * 0 <= n < FDT_MAX_NCELLS, on success + * 1, if the node has no #size-cells property + * -FDT_ERR_BADNCELLS, if the node has a badly formatted or invalid + * #size-cells property + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_size_cells(const void *fdt, int nodeoffset); + + +/**********************************************************************/ +/* Write-in-place functions */ +/**********************************************************************/ + +/** + * fdt_setprop_inplace_namelen_partial - change a property's value, + * but not its size + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @namelen: number of characters of name to consider + * @idx: index of the property to change in the array + * @val: pointer to data to replace the property value with + * @len: length of the property value + * + * Identical to fdt_setprop_inplace(), but modifies the given property + * starting from the given index, and using only the first characters + * of the name. It is useful when you want to manipulate only one value of + * an array and you have a string that doesn't end with \0. + */ +#ifndef SWIG /* Not available in Python */ +int fdt_setprop_inplace_namelen_partial(void *fdt, int nodeoffset, + const char *name, int namelen, + uint32_t idx, const void *val, + int len); +#endif + +/** + * fdt_setprop_inplace - change a property's value, but not its size + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @val: pointer to data to replace the property value with + * @len: length of the property value + * + * fdt_setprop_inplace() replaces the value of a given property with + * the data in val, of length len. This function cannot change the + * size of a property, and so will only work if len is equal to the + * current length of the property. + * + * This function will alter only the bytes in the blob which contain + * the given property value, and will not alter or move any other part + * of the tree. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, if len is not equal to the property's current length + * -FDT_ERR_NOTFOUND, node does not have the named property + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +#ifndef SWIG /* Not available in Python */ +int fdt_setprop_inplace(void *fdt, int nodeoffset, const char *name, + const void *val, int len); +#endif + +/** + * fdt_setprop_inplace_u32 - change the value of a 32-bit integer property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @val: 32-bit integer value to replace the property with + * + * fdt_setprop_inplace_u32() replaces the value of a given property + * with the 32-bit integer value in val, converting val to big-endian + * if necessary. This function cannot change the size of a property, + * and so will only work if the property already exists and has length + * 4. + * + * This function will alter only the bytes in the blob which contain + * the given property value, and will not alter or move any other part + * of the tree. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, if the property's length is not equal to 4 + * -FDT_ERR_NOTFOUND, node does not have the named property + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +static inline int fdt_setprop_inplace_u32(void *fdt, int nodeoffset, + const char *name, uint32_t val) +{ + fdt32_t tmp = cpu_to_fdt32(val); + return fdt_setprop_inplace(fdt, nodeoffset, name, &tmp, sizeof(tmp)); +} + +/** + * fdt_setprop_inplace_u64 - change the value of a 64-bit integer property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @val: 64-bit integer value to replace the property with + * + * fdt_setprop_inplace_u64() replaces the value of a given property + * with the 64-bit integer value in val, converting val to big-endian + * if necessary. This function cannot change the size of a property, + * and so will only work if the property already exists and has length + * 8. + * + * This function will alter only the bytes in the blob which contain + * the given property value, and will not alter or move any other part + * of the tree. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, if the property's length is not equal to 8 + * -FDT_ERR_NOTFOUND, node does not have the named property + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +static inline int fdt_setprop_inplace_u64(void *fdt, int nodeoffset, + const char *name, uint64_t val) +{ + fdt64_t tmp = cpu_to_fdt64(val); + return fdt_setprop_inplace(fdt, nodeoffset, name, &tmp, sizeof(tmp)); +} + +/** + * fdt_setprop_inplace_cell - change the value of a single-cell property + * + * This is an alternative name for fdt_setprop_inplace_u32() + */ +static inline int fdt_setprop_inplace_cell(void *fdt, int nodeoffset, + const char *name, uint32_t val) +{ + return fdt_setprop_inplace_u32(fdt, nodeoffset, name, val); +} + +/** + * fdt_nop_property - replace a property with nop tags + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to nop + * @name: name of the property to nop + * + * fdt_nop_property() will replace a given property's representation + * in the blob with FDT_NOP tags, effectively removing it from the + * tree. + * + * This function will alter only the bytes in the blob which contain + * the property, and will not alter or move any other part of the + * tree. + * + * returns: + * 0, on success + * -FDT_ERR_NOTFOUND, node does not have the named property + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_nop_property(void *fdt, int nodeoffset, const char *name); + +/** + * fdt_nop_node - replace a node (subtree) with nop tags + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node to nop + * + * fdt_nop_node() will replace a given node's representation in the + * blob, including all its subnodes, if any, with FDT_NOP tags, + * effectively removing it from the tree. + * + * This function will alter only the bytes in the blob which contain + * the node and its properties and subnodes, and will not alter or + * move any other part of the tree. + * + * returns: + * 0, on success + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_nop_node(void *fdt, int nodeoffset); + +/**********************************************************************/ +/* Sequential write functions */ +/**********************************************************************/ + +/* fdt_create_with_flags flags */ +#define FDT_CREATE_FLAG_NO_NAME_DEDUP 0x1 + /* FDT_CREATE_FLAG_NO_NAME_DEDUP: Do not try to de-duplicate property + * names in the fdt. This can result in faster creation times, but + * a larger fdt. */ + +#define FDT_CREATE_FLAGS_ALL (FDT_CREATE_FLAG_NO_NAME_DEDUP) + +/** + * fdt_create_with_flags - begin creation of a new fdt + * @fdt: pointer to memory allocated where fdt will be created + * @bufsize: size of the memory space at fdt + * @flags: a valid combination of FDT_CREATE_FLAG_ flags, or 0. + * + * fdt_create_with_flags() begins the process of creating a new fdt with + * the sequential write interface. + * + * fdt creation process must end with fdt_finished() to produce a valid fdt. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, bufsize is insufficient for a minimal fdt + * -FDT_ERR_BADFLAGS, flags is not valid + */ +int fdt_create_with_flags(void *buf, int bufsize, uint32_t flags); + +/** + * fdt_create - begin creation of a new fdt + * @fdt: pointer to memory allocated where fdt will be created + * @bufsize: size of the memory space at fdt + * + * fdt_create() is equivalent to fdt_create_with_flags() with flags=0. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, bufsize is insufficient for a minimal fdt + */ +int fdt_create(void *buf, int bufsize); + +int fdt_resize(void *fdt, void *buf, int bufsize); +int fdt_add_reservemap_entry(void *fdt, uint64_t addr, uint64_t size); +int fdt_finish_reservemap(void *fdt); +int fdt_begin_node(void *fdt, const char *name); +int fdt_property(void *fdt, const char *name, const void *val, int len); +static inline int fdt_property_u32(void *fdt, const char *name, uint32_t val) +{ + fdt32_t tmp = cpu_to_fdt32(val); + return fdt_property(fdt, name, &tmp, sizeof(tmp)); +} +static inline int fdt_property_u64(void *fdt, const char *name, uint64_t val) +{ + fdt64_t tmp = cpu_to_fdt64(val); + return fdt_property(fdt, name, &tmp, sizeof(tmp)); +} + +#ifndef SWIG /* Not available in Python */ +static inline int fdt_property_cell(void *fdt, const char *name, uint32_t val) +{ + return fdt_property_u32(fdt, name, val); +} +#endif + +/** + * fdt_property_placeholder - add a new property and return a ptr to its value + * + * @fdt: pointer to the device tree blob + * @name: name of property to add + * @len: length of property value in bytes + * @valp: returns a pointer to where where the value should be placed + * + * returns: + * 0, on success + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_NOSPACE, standard meanings + */ +int fdt_property_placeholder(void *fdt, const char *name, int len, void **valp); + +#define fdt_property_string(fdt, name, str) \ + fdt_property(fdt, name, str, strlen(str)+1) +int fdt_end_node(void *fdt); +int fdt_finish(void *fdt); + +/**********************************************************************/ +/* Read-write functions */ +/**********************************************************************/ + +int fdt_create_empty_tree(void *buf, int bufsize); +int fdt_open_into(const void *fdt, void *buf, int bufsize); +int fdt_pack(void *fdt); + +/** + * fdt_add_mem_rsv - add one memory reserve map entry + * @fdt: pointer to the device tree blob + * @address, @size: 64-bit values (native endian) + * + * Adds a reserve map entry to the given blob reserving a region at + * address address of length size. + * + * This function will insert data into the reserve map and will + * therefore change the indexes of some entries in the table. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new reservation entry + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_add_mem_rsv(void *fdt, uint64_t address, uint64_t size); + +/** + * fdt_del_mem_rsv - remove a memory reserve map entry + * @fdt: pointer to the device tree blob + * @n: entry to remove + * + * fdt_del_mem_rsv() removes the n-th memory reserve map entry from + * the blob. + * + * This function will delete data from the reservation table and will + * therefore change the indexes of some entries in the table. + * + * returns: + * 0, on success + * -FDT_ERR_NOTFOUND, there is no entry of the given index (i.e. there + * are less than n+1 reserve map entries) + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_del_mem_rsv(void *fdt, int n); + +/** + * fdt_set_name - change the name of a given node + * @fdt: pointer to the device tree blob + * @nodeoffset: structure block offset of a node + * @name: name to give the node + * + * fdt_set_name() replaces the name (including unit address, if any) + * of the given node with the given string. NOTE: this function can't + * efficiently check if the new name is unique amongst the given + * node's siblings; results are undefined if this function is invoked + * with a name equal to one of the given node's siblings. + * + * This function may insert or delete data from the blob, and will + * therefore change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob + * to contain the new name + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, standard meanings + */ +int fdt_set_name(void *fdt, int nodeoffset, const char *name); + +/** + * fdt_setprop - create or change a property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @val: pointer to data to set the property value to + * @len: length of the property value + * + * fdt_setprop() sets the value of the named property in the given + * node to the given value and length, creating the property if it + * does not already exist. + * + * This function may insert or delete data from the blob, and will + * therefore change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new property value + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_setprop(void *fdt, int nodeoffset, const char *name, + const void *val, int len); + +/** + * fdt_setprop_placeholder - allocate space for a property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @len: length of the property value + * @prop_data: return pointer to property data + * + * fdt_setprop_placeholer() allocates the named property in the given node. + * If the property exists it is resized. In either case a pointer to the + * property data is returned. + * + * This function may insert or delete data from the blob, and will + * therefore change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new property value + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_setprop_placeholder(void *fdt, int nodeoffset, const char *name, + int len, void **prop_data); + +/** + * fdt_setprop_u32 - set a property to a 32-bit integer + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @val: 32-bit integer value for the property (native endian) + * + * fdt_setprop_u32() sets the value of the named property in the given + * node to the given 32-bit integer value (converting to big-endian if + * necessary), or creates a new property with that value if it does + * not already exist. + * + * This function may insert or delete data from the blob, and will + * therefore change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new property value + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +static inline int fdt_setprop_u32(void *fdt, int nodeoffset, const char *name, + uint32_t val) +{ + fdt32_t tmp = cpu_to_fdt32(val); + return fdt_setprop(fdt, nodeoffset, name, &tmp, sizeof(tmp)); +} + +/** + * fdt_setprop_u64 - set a property to a 64-bit integer + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @val: 64-bit integer value for the property (native endian) + * + * fdt_setprop_u64() sets the value of the named property in the given + * node to the given 64-bit integer value (converting to big-endian if + * necessary), or creates a new property with that value if it does + * not already exist. + * + * This function may insert or delete data from the blob, and will + * therefore change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new property value + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +static inline int fdt_setprop_u64(void *fdt, int nodeoffset, const char *name, + uint64_t val) +{ + fdt64_t tmp = cpu_to_fdt64(val); + return fdt_setprop(fdt, nodeoffset, name, &tmp, sizeof(tmp)); +} + +/** + * fdt_setprop_cell - set a property to a single cell value + * + * This is an alternative name for fdt_setprop_u32() + */ +static inline int fdt_setprop_cell(void *fdt, int nodeoffset, const char *name, + uint32_t val) +{ + return fdt_setprop_u32(fdt, nodeoffset, name, val); +} + +/** + * fdt_setprop_string - set a property to a string value + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @str: string value for the property + * + * fdt_setprop_string() sets the value of the named property in the + * given node to the given string value (using the length of the + * string to determine the new length of the property), or creates a + * new property with that value if it does not already exist. + * + * This function may insert or delete data from the blob, and will + * therefore change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new property value + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +#define fdt_setprop_string(fdt, nodeoffset, name, str) \ + fdt_setprop((fdt), (nodeoffset), (name), (str), strlen(str)+1) + + +/** + * fdt_setprop_empty - set a property to an empty value + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * + * fdt_setprop_empty() sets the value of the named property in the + * given node to an empty (zero length) value, or creates a new empty + * property if it does not already exist. + * + * This function may insert or delete data from the blob, and will + * therefore change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new property value + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +#define fdt_setprop_empty(fdt, nodeoffset, name) \ + fdt_setprop((fdt), (nodeoffset), (name), NULL, 0) + +/** + * fdt_appendprop - append to or create a property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to append to + * @val: pointer to data to append to the property value + * @len: length of the data to append to the property value + * + * fdt_appendprop() appends the value to the named property in the + * given node, creating the property if it does not already exist. + * + * This function may insert data into the blob, and will therefore + * change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new property value + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_appendprop(void *fdt, int nodeoffset, const char *name, + const void *val, int len); + +/** + * fdt_appendprop_u32 - append a 32-bit integer value to a property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @val: 32-bit integer value to append to the property (native endian) + * + * fdt_appendprop_u32() appends the given 32-bit integer value + * (converting to big-endian if necessary) to the value of the named + * property in the given node, or creates a new property with that + * value if it does not already exist. + * + * This function may insert data into the blob, and will therefore + * change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new property value + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +static inline int fdt_appendprop_u32(void *fdt, int nodeoffset, + const char *name, uint32_t val) +{ + fdt32_t tmp = cpu_to_fdt32(val); + return fdt_appendprop(fdt, nodeoffset, name, &tmp, sizeof(tmp)); +} + +/** + * fdt_appendprop_u64 - append a 64-bit integer value to a property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @val: 64-bit integer value to append to the property (native endian) + * + * fdt_appendprop_u64() appends the given 64-bit integer value + * (converting to big-endian if necessary) to the value of the named + * property in the given node, or creates a new property with that + * value if it does not already exist. + * + * This function may insert data into the blob, and will therefore + * change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new property value + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +static inline int fdt_appendprop_u64(void *fdt, int nodeoffset, + const char *name, uint64_t val) +{ + fdt64_t tmp = cpu_to_fdt64(val); + return fdt_appendprop(fdt, nodeoffset, name, &tmp, sizeof(tmp)); +} + +/** + * fdt_appendprop_cell - append a single cell value to a property + * + * This is an alternative name for fdt_appendprop_u32() + */ +static inline int fdt_appendprop_cell(void *fdt, int nodeoffset, + const char *name, uint32_t val) +{ + return fdt_appendprop_u32(fdt, nodeoffset, name, val); +} + +/** + * fdt_appendprop_string - append a string to a property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to change + * @name: name of the property to change + * @str: string value to append to the property + * + * fdt_appendprop_string() appends the given string to the value of + * the named property in the given node, or creates a new property + * with that value if it does not already exist. + * + * This function may insert data into the blob, and will therefore + * change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain the new property value + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_TRUNCATED, standard meanings + */ +#define fdt_appendprop_string(fdt, nodeoffset, name, str) \ + fdt_appendprop((fdt), (nodeoffset), (name), (str), strlen(str)+1) + +/** + * fdt_appendprop_addrrange - append a address range property + * @fdt: pointer to the device tree blob + * @parent: offset of the parent node + * @nodeoffset: offset of the node to add a property at + * @name: name of property + * @addr: start address of a given range + * @size: size of a given range + * + * fdt_appendprop_addrrange() appends an address range value (start + * address and size) to the value of the named property in the given + * node, or creates a new property with that value if it does not + * already exist. + * If "name" is not specified, a default "reg" is used. + * Cell sizes are determined by parent's #address-cells and #size-cells. + * + * This function may insert data into the blob, and will therefore + * change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADNCELLS, if the node has a badly formatted or invalid + * #address-cells property + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADVALUE, addr or size doesn't fit to respective cells size + * -FDT_ERR_NOSPACE, there is insufficient free space in the blob to + * contain a new property + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_appendprop_addrrange(void *fdt, int parent, int nodeoffset, + const char *name, uint64_t addr, uint64_t size); + +/** + * fdt_delprop - delete a property + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node whose property to nop + * @name: name of the property to nop + * + * fdt_del_property() will delete the given property. + * + * This function will delete data from the blob, and will therefore + * change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_NOTFOUND, node does not have the named property + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_delprop(void *fdt, int nodeoffset, const char *name); + +/** + * fdt_add_subnode_namelen - creates a new node based on substring + * @fdt: pointer to the device tree blob + * @parentoffset: structure block offset of a node + * @name: name of the subnode to locate + * @namelen: number of characters of name to consider + * + * Identical to fdt_add_subnode(), but use only the first namelen + * characters of name as the name of the new node. This is useful for + * creating subnodes based on a portion of a larger string, such as a + * full path. + */ +#ifndef SWIG /* Not available in Python */ +int fdt_add_subnode_namelen(void *fdt, int parentoffset, + const char *name, int namelen); +#endif + +/** + * fdt_add_subnode - creates a new node + * @fdt: pointer to the device tree blob + * @parentoffset: structure block offset of a node + * @name: name of the subnode to locate + * + * fdt_add_subnode() creates a new node as a subnode of the node at + * structure block offset parentoffset, with the given name (which + * should include the unit address, if any). + * + * This function will insert data into the blob, and will therefore + * change the offsets of some existing nodes. + + * returns: + * structure block offset of the created nodeequested subnode (>=0), on + * success + * -FDT_ERR_NOTFOUND, if the requested subnode does not exist + * -FDT_ERR_BADOFFSET, if parentoffset did not point to an FDT_BEGIN_NODE + * tag + * -FDT_ERR_EXISTS, if the node at parentoffset already has a subnode of + * the given name + * -FDT_ERR_NOSPACE, if there is insufficient free space in the + * blob to contain the new node + * -FDT_ERR_NOSPACE + * -FDT_ERR_BADLAYOUT + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings. + */ +int fdt_add_subnode(void *fdt, int parentoffset, const char *name); + +/** + * fdt_del_node - delete a node (subtree) + * @fdt: pointer to the device tree blob + * @nodeoffset: offset of the node to nop + * + * fdt_del_node() will remove the given node, including all its + * subnodes if any, from the blob. + * + * This function will delete data from the blob, and will therefore + * change the offsets of some existing nodes. + * + * returns: + * 0, on success + * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_del_node(void *fdt, int nodeoffset); + +/** + * fdt_overlay_apply - Applies a DT overlay on a base DT + * @fdt: pointer to the base device tree blob + * @fdto: pointer to the device tree overlay blob + * + * fdt_overlay_apply() will apply the given device tree overlay on the + * given base device tree. + * + * Expect the base device tree to be modified, even if the function + * returns an error. + * + * returns: + * 0, on success + * -FDT_ERR_NOSPACE, there's not enough space in the base device tree + * -FDT_ERR_NOTFOUND, the overlay points to some inexistant nodes or + * properties in the base DT + * -FDT_ERR_BADPHANDLE, + * -FDT_ERR_BADOVERLAY, + * -FDT_ERR_NOPHANDLES, + * -FDT_ERR_INTERNAL, + * -FDT_ERR_BADLAYOUT, + * -FDT_ERR_BADMAGIC, + * -FDT_ERR_BADOFFSET, + * -FDT_ERR_BADPATH, + * -FDT_ERR_BADVERSION, + * -FDT_ERR_BADSTRUCTURE, + * -FDT_ERR_BADSTATE, + * -FDT_ERR_TRUNCATED, standard meanings + */ +int fdt_overlay_apply(void *fdt, void *fdto); + +/**********************************************************************/ +/* Debugging / informational functions */ +/**********************************************************************/ +static const struct fdt_property *fdt_get_property_namelen_(const void *fdt, + int offset, + const char *name, + int namelen, + int *lenp, + int *poffset); +const char *fdt_strerror(int errval); + +#endif /* LIBFDT_H */ diff --git a/src/libfdt/libfdt_env.h b/src/libfdt/libfdt_env.h new file mode 100755 index 0000000..f804ef1 --- /dev/null +++ b/src/libfdt/libfdt_env.h @@ -0,0 +1,96 @@ +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */ +#ifndef LIBFDT_ENV_H +#define LIBFDT_ENV_H +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2006 David Gibson, IBM Corporation. + * Copyright 2012 Kim Phillips, Freescale Semiconductor. + */ + +#include +#include +#include +#include +#include +#include + +#ifdef __CHECKER__ +#define FDT_FORCE __attribute__((force)) +#define FDT_BITWISE __attribute__((bitwise)) +#else +#define FDT_FORCE +#define FDT_BITWISE +#endif + +typedef uint16_t FDT_BITWISE fdt16_t; +typedef uint32_t FDT_BITWISE fdt32_t; +typedef uint64_t FDT_BITWISE fdt64_t; + +#define EXTRACT_BYTE(x, n) ((unsigned long long)((uint8_t *)&x)[n]) +#define CPU_TO_FDT16(x) ((EXTRACT_BYTE(x, 0) << 8) | EXTRACT_BYTE(x, 1)) +#define CPU_TO_FDT32(x) ((EXTRACT_BYTE(x, 0) << 24) | (EXTRACT_BYTE(x, 1) << 16) | \ + (EXTRACT_BYTE(x, 2) << 8) | EXTRACT_BYTE(x, 3)) +#define CPU_TO_FDT64(x) ((EXTRACT_BYTE(x, 0) << 56) | (EXTRACT_BYTE(x, 1) << 48) | \ + (EXTRACT_BYTE(x, 2) << 40) | (EXTRACT_BYTE(x, 3) << 32) | \ + (EXTRACT_BYTE(x, 4) << 24) | (EXTRACT_BYTE(x, 5) << 16) | \ + (EXTRACT_BYTE(x, 6) << 8) | EXTRACT_BYTE(x, 7)) + +static inline uint16_t fdt16_to_cpu(fdt16_t x) +{ + return (FDT_FORCE uint16_t)CPU_TO_FDT16(x); +} +static inline fdt16_t cpu_to_fdt16(uint16_t x) +{ + return (FDT_FORCE fdt16_t)CPU_TO_FDT16(x); +} + +static inline uint32_t fdt32_to_cpu(fdt32_t x) +{ + return (FDT_FORCE uint32_t)CPU_TO_FDT32(x); +} +static inline fdt32_t cpu_to_fdt32(uint32_t x) +{ + return (FDT_FORCE fdt32_t)CPU_TO_FDT32(x); +} + +static inline uint64_t fdt64_to_cpu(fdt64_t x) +{ + return (FDT_FORCE uint64_t)CPU_TO_FDT64(x); +} +static inline fdt64_t cpu_to_fdt64(uint64_t x) +{ + return (FDT_FORCE fdt64_t)CPU_TO_FDT64(x); +} +#undef CPU_TO_FDT64 +#undef CPU_TO_FDT32 +#undef CPU_TO_FDT16 +#undef EXTRACT_BYTE + +#ifdef __APPLE__ +#include + +/* strnlen() is not available on Mac OS < 10.7 */ +# if !defined(MAC_OS_X_VERSION_10_7) || (MAC_OS_X_VERSION_MAX_ALLOWED < \ + MAC_OS_X_VERSION_10_7) + +#define strnlen fdt_strnlen + +/* + * fdt_strnlen: returns the length of a string or max_count - which ever is + * smallest. + * Input 1 string: the string whose size is to be determined + * Input 2 max_count: the maximum value returned by this function + * Output: length of the string or max_count (the smallest of the two) + */ +static inline size_t fdt_strnlen(const char *string, size_t max_count) +{ + const char *p = memchr(string, 0, max_count); + return p ? p - string : max_count; +} + +#endif /* !defined(MAC_OS_X_VERSION_10_7) || (MAC_OS_X_VERSION_MAX_ALLOWED < + MAC_OS_X_VERSION_10_7) */ + +#endif /* __APPLE__ */ + +#endif /* LIBFDT_ENV_H */ diff --git a/src/libfdt/libfdt_internal.h b/src/libfdt/libfdt_internal.h new file mode 100755 index 0000000..7830e55 --- /dev/null +++ b/src/libfdt/libfdt_internal.h @@ -0,0 +1,51 @@ +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */ +#ifndef LIBFDT_INTERNAL_H +#define LIBFDT_INTERNAL_H +/* + * libfdt - Flat Device Tree manipulation + * Copyright (C) 2006 David Gibson, IBM Corporation. + */ +#include + +#define FDT_ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1)) +#define FDT_TAGALIGN(x) (FDT_ALIGN((x), FDT_TAGSIZE)) + +int fdt_ro_probe_(const void *fdt); +#define FDT_RO_PROBE(fdt) \ + { \ + int err_; \ + if ((err_ = fdt_ro_probe_(fdt)) != 0) \ + return err_; \ + } + +int fdt_check_node_offset_(const void *fdt, int offset); +int fdt_check_prop_offset_(const void *fdt, int offset); +const char *fdt_find_string_(const char *strtab, int tabsize, const char *s); +int fdt_node_end_offset_(void *fdt, int nodeoffset); + +static inline const void *fdt_offset_ptr_(const void *fdt, int offset) +{ + return (const char *)fdt + fdt_off_dt_struct(fdt) + offset; +} + +static inline void *fdt_offset_ptr_w_(void *fdt, int offset) +{ + return (void *)(uintptr_t)fdt_offset_ptr_(fdt, offset); +} + +static inline const struct fdt_reserve_entry *fdt_mem_rsv_(const void *fdt, int n) +{ + const struct fdt_reserve_entry *rsv_table = + (const struct fdt_reserve_entry *) + ((const char *)fdt + fdt_off_mem_rsvmap(fdt)); + + return rsv_table + n; +} +static inline struct fdt_reserve_entry *fdt_mem_rsv_w_(void *fdt, int n) +{ + return (void *)(uintptr_t)fdt_mem_rsv_(fdt, n); +} + +#define FDT_SW_MAGIC (~FDT_MAGIC) + +#endif /* LIBFDT_INTERNAL_H */ diff --git a/src/libfdt/libos/malloc.c b/src/libfdt/libos/malloc.c new file mode 100644 index 0000000..a94477a --- /dev/null +++ b/src/libfdt/libos/malloc.c @@ -0,0 +1,22 @@ +#include +#include + +void* malloc( size_t size ) +{ + return (void *)NX_MemAlloc(size); +} + +void *realloc( void *ptr, size_t new_size ) +{ + return (void *)NX_MemReAlloc(ptr, new_size); +} + +void* calloc( size_t num, size_t size ) +{ + return (void *)NX_MemAlloc(num * size); +} + +void free( void* ptr ) +{ + NX_MemFree(ptr); +} diff --git a/src/libfdt/libos/memchr.c b/src/libfdt/libos/memchr.c new file mode 100644 index 0000000..8b88e9e --- /dev/null +++ b/src/libfdt/libos/memchr.c @@ -0,0 +1,19 @@ +#include + +/* + * Finds the first occurrence of a byte in a buffer + */ +void * memchr(const void * s, int c, size_t n) +{ + const unsigned char *p = s; + + while (n-- != 0) + { + if ((unsigned char)c == *p++) + { + return (void *)(p - 1); + } + } + + return NULL; +} diff --git a/src/libfdt/libos/memcmp.c b/src/libfdt/libos/memcmp.c new file mode 100644 index 0000000..61d1487 --- /dev/null +++ b/src/libfdt/libos/memcmp.c @@ -0,0 +1,17 @@ +#include + +static int __memcmp(const void * s1, const void * s2, size_t n) +{ + const unsigned char *su1, *su2; + int res = 0; + + for (su1 = s1, su2 = s2; 0 < n; ++su1, ++su2, n--) + if ((res = *su1 - *su2) != 0) + break; + return res; +} + +/* + * Compares two buffers + */ +extern __typeof(__memcmp) memcmp __attribute__((weak, alias("__memcmp"))); diff --git a/src/libfdt/libos/memmove.c b/src/libfdt/libos/memmove.c new file mode 100644 index 0000000..dae5b66 --- /dev/null +++ b/src/libfdt/libos/memmove.c @@ -0,0 +1,30 @@ +#include + +static void * __memmove(void * dest, const void * src, size_t n) +{ + char * tmp; + const char * s; + + if (dest <= src) + { + tmp = dest; + s = src; + while (n--) + *tmp++ = *s++; + } + else + { + tmp = dest; + tmp += n; + s = src; + s += n; + while (n--) + *--tmp = *--s; + } + return dest; +} + +/* + * Copies one buffer to another, possibly overlapping, buffer + */ +extern __typeof(__memmove) memmove __attribute__((weak, alias("__memmove"))); diff --git a/src/libfdt/libos/strchr.c b/src/libfdt/libos/strchr.c new file mode 100644 index 0000000..3fc88de --- /dev/null +++ b/src/libfdt/libos/strchr.c @@ -0,0 +1,12 @@ +#include + +/* + * Finds the first occurrence of a byte in a string + */ +char * strchr(const char * s, int c) +{ + for (; *s != (char)c; ++s) + if (*s == '\0') + return NULL; + return (char *)s; +} \ No newline at end of file diff --git a/src/libfdt/libos/strlen.c b/src/libfdt/libos/strlen.c new file mode 100644 index 0000000..226edf9 --- /dev/null +++ b/src/libfdt/libos/strlen.c @@ -0,0 +1,12 @@ +#include + +/* + * Calculate the length of a string + */ +size_t strlen(const char * s) +{ + const char * sc; + + for (sc = s; *sc != '\0'; ++sc); + return sc - s; +} diff --git a/src/libfdt/libos/strnlen.c b/src/libfdt/libos/strnlen.c new file mode 100644 index 0000000..6442eb7 --- /dev/null +++ b/src/libfdt/libos/strnlen.c @@ -0,0 +1,7 @@ +#include + +size_t strnlen(const char *s, size_t n) +{ + const char *p = memchr(s, 0, n); + return p ? p-s : n; +} diff --git a/src/libfdt/libos/strrchr.c b/src/libfdt/libos/strrchr.c new file mode 100644 index 0000000..b80026a --- /dev/null +++ b/src/libfdt/libos/strrchr.c @@ -0,0 +1,16 @@ +#include + +/* + * Finds the last occurrence of a byte in a string + */ +char * strrchr(const char * s, int c) +{ + const char * p = s + strlen(s); + + do { + if (*p == (char)c) + return (char *)p; + } while (--p >= s); + + return NULL; +} \ No newline at end of file diff --git a/src/platform/f133/include/libos/libc/ctype.h b/src/platform/f133/include/libos/libc/ctype.h new file mode 100644 index 0000000..cff55a3 --- /dev/null +++ b/src/platform/f133/include/libos/libc/ctype.h @@ -0,0 +1,35 @@ +#ifndef _CTYPE_H +#define _CTYPE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +int isalnum(int); +int isalpha(int); +int isblank(int); +int iscntrl(int); +int isdigit(int); +int isgraph(int); +int islower(int); +int isprint(int); +int ispunct(int); +int isspace(int); +int isupper(int); +int isxdigit(int); +int tolower(int); +int toupper(int); + +int isascii(int); +int toascii(int); +#define _tolower(a) ((a)|0x20) +#define _toupper(a) ((a)&0x5f) +#define isascii(a) (0 ? isascii(a) : (unsigned)(a) < 128) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/platform/i386/NXOS_new.elf b/src/platform/i386/NXOS_new.elf new file mode 100755 index 0000000000000000000000000000000000000000..de3ae27a8b6c97f1a8668fbbb5c7e6d3a682a85d GIT binary patch literal 1306812 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">3n-@1s^ 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

27M*-tp&8>awskIrd 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

  • OrQOt7$B3WYP4tyao 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%0DxN;f9g_ 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
    o3kfhwIenGzcCZBhb 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 F{{r%f{jmT5 literal 0 HcmV?d00001 diff --git a/src/platform/i386/dts/stm32mp157c-100ask-512d-lcd-v1.dtb b/src/platform/i386/dts/stm32mp157c-100ask-512d-lcd-v1.dtb new file mode 100755 index 0000000000000000000000000000000000000000..e3fb555c77545aa1a4eb4355709023bd57a257c8 GIT binary patch literal 74946 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�u%o5ibp-mTH>l*_Z@ z>m_d7R3S=VaQ&qc)I3~7x8yT z1lLUrlvHrYr_=DIhLvie(`e0#s!`^2=8E#}BWom4=F9<>mH=j_~IDP(2peEhbLrhU@z ziylzMtHkw@>bT6vRGD)N)s-^pGH9LL%gbfF?X*xXc<1NfYZJ@4f2QsjwEm7~Q|eP6 z|EjUL$a=yDCQ)mHvfRsF+Hg}>)Dr`7!>4yVTW{2T{*V_t_jhu#k9va{+n){CjUh&} z^Wh`2$V6Z{=x+NxTn}j4)&|rq`{a!P;k{X?m#g`OLh(qovb5};VdQ!u^r2Xh;TC<- z7cquNAWeiFKfpi6ld>?+Xg`X$(3VeEV4Uu()UkFzZrB#}c08|j4DWx@GF*22uc+Rc zv=@0*{AXT_xF_qG9Aj8!<#ULWHq!`a-i3c!CVD9&ExfH(>a4)BU4Y#gV<>pV7!cKE z`mgjEbj6GDJ$xqJXciQ&>Eq)_3r$BObYRvOJGlJ3`u;*pEH_cG5O}nrmwEto3)&eoW^UR*FY- z@L-vZwe}#e)`zaozT-H`E&XzE&R3e6#^p>;*E`3M!N9r*JLm9E+llRI53vJj>*U08 zqdi|LwUD$npdHadTi7{DquPdOQ^$_>6sbgXILG+uUh4e zBZ0uS=*#f&sa0jm@bz3HpjnKMImHD%#rUAkIUXGc2<>XAp=K947+*kpVs&QT9rt_m zFI<~NJCzUmkJ88%`i4`@DRnVsg!0VuK?>AFFdT#E)^Pgz2z{i}>GqLr&yITdUk=W^ z|2a+L(xoHAEsImF7wW%MqAxQ+bOW z`ckXVT*fbVwX|4pU_8sc{Jz^}uH84zZ+l&T*Sn;t;otPj5WS^$ey%b}l9GnJJNewf zLx6`h?+WC7`qLEC1@ge;4fY4h+LssDYT>aEAWig&hK5_ zZWOOhKZv1@&PAQ)q>ep=5k3eqPC^J)=U>O_VD}##C%HN&{W^Q~L?lGx>io#B12pb| z9MltA6!FcuvP{d;2DaGwe8}4PbrTbNu|2QLR@LgSR$85vLUkVRW)$aP4SZ>hB+2(V zfZbu%m|xAxam{>}nEmM`0MBuV3u`S||Kbw-8Gz-?=apmICji1fXYYBg$vtLJ#=5e` zP=2f$vK=1MBOcZr1-t-YAPxE}ucYDA7MilYLji*E8t#F|uNm(wx_$-U6Py@t1&{Gh zx>Op|@a<^7DKEYv6G7|BGbncN9(;`OOzo3V`Ocpq{-~ytKALMbTH5u4T)AFqHuQy> zsQo4`xF3tsqT2$}l+%YZ_7pHv<4w_gv0SaTgFWrav9iW%jZ(Q96dSc>p;N&-nE{Tj zD#h}A=V-GWV4W2dtBvB3c6iCx3wYr)Xf(?$)UGe#lnh+8^Q)6VeHCYNiZhC9gFQu@ zrm=oVzt~*Kw^y3Y>d~ONT&UwsWT0&3!_zm3E+3Oitx{|?RvUP>N6OIzO2Gl$@*3Y- zEw@@L%}zUt<_n99m3pOf)XQq(L=SHw;pNCBaK5Lu&{$V43a#4M;!3@U&x{7lMzNHJ zGPai?Pq0U%*9Lp!vy_@>cMABrL{P(M(I^Fb96MU{Qx8yE7J^;Rbt} zjkR(sUux6}{3e2!x>{I(d11#|p&4L{hVN?P5E$KF&Np$;*$#Nx8Opo|A5GGB`t<{B zhb=bYVqs-bMjLn{n)EEr4*61{lGH;xUtaIPkFhi4S2$N-Zh67YVV!ibDbIXr43jax zSZfA&x;fu2R`ab&n>yr;oIHMu-m(`9p>AD%y_2uYMxh;Wg3Iq+)l|qkj6>B^j7F2) zA?UPV6UmUWkkNdz)PS}t^&?@d0STB8A6+YS;A1%5?v(Scvo7PK7Et$Eb#Y7&ma8qE zvooXASV3o_qJl*nL6-Bd1S}dXR63!{X?hRe13@3*o>V(eTe-)*3bb0!FSg3}uaxV> zqoFI*i@{<8jsrXM(0>sIhBZ3)yhgj)fF@RI@r<=f3HJ#0&XT?US7(VOH1W|h7U#ML8P%1 z9T)^h%4Ph%mROxku7CvAIboL%y>Kay&+#u-78@}9v2w7KuQzc|C6*IQmRj@TPT18? zO*!qL8x%PLpbPV#c0KO=>1_G-8ax2@SYG3}8<|Aj{Dcx9Q|DN*#V#G5!U_T}Nfk%q zW>k%?66I?jm@Sfe=p~Hyx)Yiz^FdxGS~;HN0XRR$HmH z=VA2mSZX4ck_n)l$9%0Gh#pRr;Uo@UxCkh)_exx_C(Mvp4%HS47>n6YgL=K}w818VQyZ5qSOP^u3|ZjnCdv_|iC)Te4$1jKu|u_sPOt)6 zSsyEM#tozTAU8f`QCV7o=U6&q(^BmJoiTiD3R6b4yc)VHz9H3Glqp5KS6D^!aQ?gk z!mcH519MeKLN!HJ!Q!e^s24FYX=WR%A$$_1j zO-|7K1im;QjukAyr)9zf4|}{geiX&!y9TJ^*T)ZdxH|hRZift(mV*RK=m|kQ=}1M! z<5C*0DduHtjI!C?^QJ*~QK#%wi#hK1q(So kkswb%j0d`h)hoWMAn!{~>U9bx!}_U%bu(5j(Q*9$1CsN9vH$=8 literal 0 HcmV?d00001 diff --git a/src/platform/i386/hal/init.c b/src/platform/i386/hal/init.c index 86ea5c7..74f7590 100644 --- a/src/platform/i386/hal/init.c +++ b/src/platform/i386/hal/init.c @@ -16,6 +16,7 @@ #include #include #include +#include #define NX_LOG_LEVEL NX_LOG_INFO #define NX_LOG_NAME "INIT" @@ -23,6 +24,7 @@ #include + NX_INTERFACE NX_Error NX_HalPlatformInit(NX_UArch coreId) { NX_HalClearBSS(); @@ -30,6 +32,7 @@ NX_INTERFACE NX_Error NX_HalPlatformInit(NX_UArch coreId) NX_HalDirectUartInit(); NX_Printf("hello, world!\na=%x b=%d c=%c e=%s\n", 0x1234abcd, 123456789, 'A', "hello"); + NX_LOG_I("Hello, PC32!"); @@ -49,3 +52,5 @@ NX_INTERFACE NX_Error NX_HalPlatformStage2(void) return NX_EOK; } + + diff --git a/src/platform/i386/i386.dtb b/src/platform/i386/i386.dtb new file mode 100644 index 0000000000000000000000000000000000000000..06a54289923c1b4f1a0d4ff536a348a76f58f6b8 GIT binary patch literal 109078 zcmc${37j0&c`w>6v>^ltAqfx&W)K)`tC{IpqycYZMywVf12&5>Lr-^)rcrNn_smH0 zCKhAB3m6-`VOwAu-|QsL=EQN7I9}p74zaU8C-Kd4v%D<$C2?NJz4811zjMA*r>d*E zYew=*{pL)a<=emSEOn~7>iLuZ>mM`OAKjA4WF|7%cdf_yVx-fMHXz~HzAlq}@b^qU z^gnA$C*Zu&=2@rZQ<2y50P<(&hlgK#)9VIqdu@Jv*VMqm$iU*_;w7jowD(_9Y}5cE zxI1tjYIurtx&1XG!EoE-64OL^m&ly$w=ahcCDDJ0hkRqtUTGx_hkmWa)$Dee~7-< zKbAvZZAsgbKK&!~XDhARVxeUs+S<`7L;0wOksWqIo`>3zd7rM1Q*4L)*+FwAnBX9e zvKMy_w4(ZtqMdw{F6Da&Dcfu{I*nqZI+-6s(Y4d3>~|JEdnxk19K>f?^b2V0M3v%T z&d6jqcPNc3k&n{24t1mHYG(EeaHY>+OkUWP zbFHLH@i^`>)}ZsL?B~p5&U1PA*5wfok|!?vu8zGdbu;Dl$hHeG69fUlzhhovQX`b^9IxF<2^$-*^Y({}VM)@kKj ztK7jdVX@rG8QPOFs3xL{PqSsj^@=M?<=Mh~wUcRA%ViT95PC!PZda~yq)i=JUnboxsE7<@bc0fp~K7Jf{$J57%JMr;G z(A6=Mb@VgW5g22{4=H>-3Q&Pvs;}w8{{~-=9%o-OaAJM^HLKrJ`|}5YcRYO!{^D!z zI#2w}{zLnx@bMVHmgQsW{@>tZj@uMjc#Ct8KZgE133MStUHmcoH&JFC8<*0bKM44& z87s$;U6yUR`bn~FWDes78`(HnnLh@5>;-zPJ-+Vo@a?eyF{tYu>@kGaE6`!Zwk51j zo}lc;c5W|YsbkM-D`(u?O4~*3xAQpL?=G;2wcl@9xt1DFPXh0UF=o(bHoj%dpq*Jx zF=pgtv1j3z>K|Uqq>Sxd$JsYcu#WZ3H>^xc_05NXw_M*O#ixz`yezb=TuZevuD!&@ zNjxHbVB$F2`7qeW+WEJwTuZg{hk^IQva>95tXxaAGq0Z*%PH-A=~C>>HFv5f^JdWW1QZjW9fi52jiMu=yDA}IWG3f z#K-)&VjJ#IbR;62J}cgYwyj8niL(joNtiLhB=#xHmv95j+oR_4EHD;vqPD1vv{4)I zHI{L@F{V@5X5bigM*nepq@FyY+s9B5@_+HT`~N6d#QLA(5gTYbe?9s@Q0M%w`2Q);N%ntWtY!NDD9HD<&A>70+%LvI-c!et3kd3XI#Rg5mnyUN zE+E^X%!-&ef8I28`}$rq5RcaZQ~Qh6{W$Yroj+C-P}W!(@a*ws&*zMRJH0Y#VBC-~ zpmiWu?6j(=F|_;H!e1Yh3F8a?6wUWO+x#9&vr5pDjKKI#FBb z69Or1@d8N1+TtABVD)zUh`bhv+JgG94o50m^g+b%BT<^rljw*GO! z*(%-^=h}v-Ex7iM+Jb!g*&@3CNO<($=)PyA;aKaF0)t_bdLmsw0G!|jZUU3v{yj~!z;vwto z9~YM#^W1(sfR#35k^a{5Hotu+Fd7%SGHLM*#ii?xYMcMebH3x)uBVLs0cE>>rEm^Nv!GKjyn zqQ;g(>yS8G(+&$3o`jSR_1bRBz{^b4!s`+?z0J1sI(p`_`0E99R@?jie{d5;jzOCIp)Sb40u#`>LMGqmbHewrjOp)|l3D1v) zd0?LCdRDSezn6adKR{FTDiw@g?oNP_oogGX7xvcxhKb)i;_Kk1tmU5e^MQk1R0~!ItgR+9(3BQE1+LZkLd8i*h&T-CGW?8pvo}@#W z`tkfR%TxGz*L->-fixI1zK^>10y11RfQd4uIi-*c?oYs+f?xW3!Z9zRazNdEP&ZuY0N#bZE^wZ))qh}wdClu=u7 zABuH2QrY755nJ4N9BlCuWR7I-V~ugjwOd3Yn<&Y4B+AONuK8FF#ZBBZdAkAR*~*U( zt_hT;e~-GK|9%p9{ymRyf9?HTT-+E3on*h@;y@nRFL!Zi;EFCZ3kF$>%1`;Zi)A#Z3pd9DpCTy;Ke2BP*O^h+NV9Zb% zLvyH%VKY=7jg-eCWn4!%c*=4Pc*i}L$)_GO-tXu7#oJQa1o`wU1ut*@<$z#48g&&Th1W zzsDaJlf+f~{50}npYHpVA!89IYKy-2DO1{J;23r8r{mA4jv51zYc6pfV2&XM_5wXN z25zt3VB~dtWtsNkL7L3Fu`cep zrQPA@&9KID>wz~QPkN-|kAV*cb#5-e{-nSSczq4{A|7R<9B=f>q?u+eh>kDBOB&nQ z28J>&=8)Gi_qi^yW$1UpH;^Af0_~99xc>SD)>VqN5lkr)-hGNqs2{AJ10w6MjE)Xd_{?o%=#Ov`iU(5s5UUf3^#FUJbnyKNTh&9)#`k zYoX%W#ONqRV?xWYfq6Hso4kt`qX65e8r(UpiZ1dyd7LVD%(k>~vJ%l7;QoJosyX7BF6#Qw~Ie11PFaM-rQdkd5S*LxXU17>(uxyTRK zeVH*^N118g&m(1H*N-qVfpL%q;6wM;PDh>VOF1|u*Pfrr6$q|8WuK3H&arj0o9g`u zzX1;UsJ~V3Ut*ni z-;(g!b}!p{+{ffRWZ_TvXSd{#wugW=XZgHadDpDkC7$&V+NGN z{va>)hd++dAC!sL!|DrUrOx-mt!e!bem+dz@u2k7&f8IukP^OniTbl1q-S-u>N=FFsF3Ir_!dZISrur_UEalm1H5>4({8(&}{k5_S3&tCQ%Z zF&I2{Dt0_hF?bZLqA|!i#^9HdVz6bAqA_?Q>RH#%XI}(NyuYC24>1OhSo!+J;5|$9 z*RO(Zats!Sf0!|tRwwvO{H*g}KOY^nI*DGT*>I9F z2FJALQRGnI>U0h8l&!B6-0-e4#khV z18v|^#E)||>E4B;@k3r359Fiy%e?$6ygXw;VRn0Y%B}TR+B|vD92!4YBX8?m{QR1& z1MafohxD!OH!wedr2fR*>bJ4kwXF-a4Y0|zu}?Xgf)%teX0$CDKlFpw7UIV~7_<$b z6wqX!bZs6#+G^l9#1DO`@sn#c=D7~yFr+_2ARmN%uzurnX0?L-B`st_8^yvnG=NiP z5{Y%{Gv>9-csgv$z*))tPsSBxP#ElYy6aie)%du^!l2H@$FB!?(idne(FF@NQ9^H= zTe!_Qht{Eha}Uf}7^}-LiW0Jvi{p{@3EDy$aK`nTk`t%tjwvpx(Usz@r zkgUVu-a!a@+3%o2VgzTF3j{zStn%~A)RhO@F*bEQUr0M8{bquF*3w;BM4obMnQPTo zdF4alve^06sLRsEv=R>DQvaxJwGHz3Tq{$*?;(+{mBZQF(spZR^xM!q4YY^W3~{yq z{gn@5N&Jwd4_R08nw$r1N}qDQpu9hd{MV3NEMZJVak+Yug`*v(r}`CgIXy83Em_Y^ z5xqDDMRcPbE~2k|U4Ij0(X~^qHIe7R_5@o>4168!#1TAP_0>#|!=}5KO7Pil!ff8(7a+ zf38?7O;=i6DhplIx&C;-)**H>Q-$WtbmUoA;@^xm^w~YnTUeY{e#OiGq0KXv|9H(s z?B0nsg5E*j!#ktvr54{U>7MSlwqG#<8m|fH%Dw1GulyA9ueD{IR{our|96{*JgY1{ zwdX31BbR&aXCXfol#vUME&f=7rd1cL9ZU!RnOp`+Km4C29m#D-fMsSstE4+DAU)P zvU7{Li(0QXiu)(WxVLECPJS3~0-xssKvb(dt9}M~(jq+c%1rFRKd(=-PJMqP@`Qtp zGE;Nyat&u5zHYqfLwZ^JK5h{zvgYOWN+=d9&0-OCJS;7FZ#SLIvXzT2XSgWLs-rC6 zAPnN$#TDmA;&N@zql`pE!mS3}bCLH-_&VNX;c#*>5sjCG7?E+8z8C#Vcu%z`?;hh3 z{_I0e_Z)#xfy2}DE)<=f>rv1#^?KW2VRcNr4%H4{eZ@+`iLWBRfrBC4JO+QQ%zW3_ zi||OHdvA#Ap1-B}ZQzK$tzvO9{2G1Xe+k;1zT8^`T&`U%&f{kg-s^c;oiVSZ1p*GM zV`gHn6zO}ZgJGiY8PBpGYOMJ7qVDQ<_65dlX0Bby6p^aPS8>KcUKb7nu!T`!3oo{;C(lWzpd-v>QKy<^&2jLNvWPL-Xv#NejdB ziA$w`^CO*-*Jqb z;Va|F-pmI21N7A%Lbrvo(zNtOhEd0ZGSe@iIED|kP3aC8HwnBShfe@d`5_y+uAq%b zpXqA2aHBcnzd2ARap}LF!>PR4Kc2n^WaUVr z7xA5Ly*M8O{aAfB01~mjdp{a9Mwa5c-=$3UCqcwNuD%-qK^)8R9c@Xxl(u#|M8rwi z4~796Ys<$i@1^#GZvpRk+cFYUq3iOLdQK+k`GIBX$#v!rMbCv+d3I)gRt8*7HQ>Xe z+ou-LG)uc3+xD`GdE&r-Skt`Z!XsY!MX&6SePb3TVa>j>j&_dQmafbdzlXB;htF(q zw02K>8#s>5ZoK02r^|Uxaqo&I$hbJ&fWm~S%dFhHqWuEOtfO51T7of5B-TSuy$0Cx zkgbdBSH5n)54i4UHms5~77h!4%+Cq>et6o_<+`lbb7@6ulU`%Iug@QVp7^TkSv#ZC z5A&Igv^tfRs1x_HsFN8Z%=cs@4&Br2#z*0C!u!AsaA_mjA2D?pCz`V>mN-s$vE>H5PBY zX&g*>c>Uu4kAP=nDzxV&$1(1@>0Ib-M7xt|cGvjM+#CQ=iNo3S=F9+!PAcsW&ifm>bW%LiiA+6YEKZ3(DeZjRfVOj3wi$At- z*;aj@sO@G}gUdCl(>n(slzEV@#L>-}VPu`o+PA42{b=EwZfx%-)1LrFe8GF`pr?LKKh^cY53FQ?VyW@;0eW1G;km=LWC* z6!J6#Wyi642LEh+<-glJLkr$@KqD&8#1?M4$B$;NYD4x zTTxEyt3`{?F>|W-y}I?kYhg+Lhv_TE*9e&0h;)hFU5 z>Z+G-d3o)Js9ODitykZ&zmgWqoJVg7%Bvp@m&MnAhC14?s^qAWbiT&LE{9Z@`35E6DflAG_j9xN?FJiSLr zNyjc387=@S&>OZmg5m&@@WULm`c{1S8PMRwT2l{s<^B-$;lX=El#zRmSK2&fz}&au zIUw^^H3&>E7WS9@`_>l$W-6dhq3~j+9Dc2&S&xH7p zesr6ML%DCaWyl%aH+Of-4gJ*!m2+GBY85JI;UVi9*z1J9^~#(V-V~H2Hol8;wuV=< z4dD}_g-HP0xCcKPyHzyd7vDM zK~%YWtV_{V<3Ee<_cp7AgP|oih7{dgCr|b*H>TvO9s3i3K;DaI0Q*2UN(Oq2I26R_OPTylx8VX=#&&r{`TL#`dvy z1aK~P2uNJ;TEq3tU0%6>JQLd!bQfL!3hf-%WJolwb~Kx4<6(Ko^UGd&&0A2I3EJ1t z@5P`j^f?x(ErkaMc^sDJ8uFn3d>&po6%YE5JcLiP+`?uu9OjnDLOT>^xl*Z>Yu4t0 z!-KqSoKYNxfz)llS>x<)kf&U$Z5!d`xloWoR%tljuw8XxO#L;I$YT zU_Ybl-B2{7CmZGkH?D5A4XOuarmT!PTPJc|XUnX^;l@`e92$G$;^lO}xMxz${2u#$ z`4R|Qy=9GE_R3EoKWoc4t@&WkCb9CrP|nU&=gS>@k$4UT9Ha$Z*L)i1tC2Wn^I*OB zbf#6T?U*Un#zx0RCvr0#X>~GSjgkAxQPjEkko^G|Unc^zS$UBQ$D)p>Y-is0k8U2Y zjlQ0^BRp65^ER(17*qCsl|Ja4XcBxn?`uT0-g;?$T z&RmR_J)hxW+)Lc@JN9VGWUR+=Ucp zL$155U7ZcR@dK^NJ_Wr{+*7WjfYP^TwjUn8@<-PR-iqBcczV{`Z3B#CH+p_+5Y`qUpdH)#oj2Ysy{FgYxZm#@&!$Qkz z5rZpkMZ3hAyo0yXD%9JxN=JUtFpMUFC4YQFyt<=Zsa!g2J^)~Oh+dNcoXC7P%DCop zGOK>Hktd(nfUu+$*B@l<)kY%@<;T3*g8J)NA+QN+CbuplG7d{i)=*q`DQ(UdT$fQs zKV^;H2PQ`^MT>zKo7_~n#@gh7SHEllw$&XA7AJ{cAeBIp{Q)O=#197-uJOB1x$uypE?Ek*7~M zCQ%mJ#;gTFgfAWm>fPMQF_^@9$i8+A?Ub7^fR+ASwPnZ@%!>hx===956E9m|sFiCn zdWQB`DX*JTWbB;5(~qdcL0(qhy~sL!C4-7+?D=Kd`u`?O6CW>{uFuzI%B|@}r#VSQ za5&n?lU@{;?IL%vP_4{BZj^cWcz2-e*+lgH2V0l5cx58t@bNURSx4TK^&gQ)OL*!$ z6WRAlInO)>GR{`;f8TkAy8uMcdFCNoR+%-nxbCoZZl3Y=M{~%IIvx-Q{lm@WFCic} z(zpJ>x%?ujSpHm2eUE|$$2aOUfJFW{-24?cz7dA-^u<3B7%AH+)No@K6F!#G!>GVP zxNS%ngKN!dIme$x*{9!ZO>MSBKpcd%@p}YWl9xK=a}UaRMs)@&yjHx z>c;g{}t-rchz)mZRGMaHG0igSxP8Zdw)IXg(Id4Ff+`H@$b` z{I(mAIF{=-GK%W<&!`LQ7Hm8n2fs~%e5`IfqT5}-kJasVOW(!hRj9Ca z%hByF;6`=hK3`b3U~zUFVzLSHvAXg8OUQ2=ux;IPbR(mvZbPUG>lR+`p!rz*b{P1v zy4`_>kZv5*Y+WziFpmo!^a#ywhf%L>WXSpLTBNXU!AtIrgWnzl`B>d_f5F8h1;Ig{ z{nno^046LmH%f_Z@Nqg8e;fgRtju~J#L4_RK;lRvGuK}tGamNM7p7|mazBi6H0#_2>qzsc4U?gHd_kdMbpc47mLhK}+a1#A*eu4hBEW&$d{ z+#@kGHW<0z2w87Ix)td*Uv59&SBIJDo;r;6;13;cLAn*`wvax!h8&CW!M+$;SaZ?` zXF}$)e7XJnB>=EC>Gp&0$^*i|NZ*@7Icj_51zFDu$&2?f;Ko;-*P=Xp`@aHZpN{hx zaYl0ZZMsp^$N7IEIBc^%+YY{WAiWvs&Mp~7a&jjKzd&T9S__8d`Ii{lRB;$wu%AY1%$NKWW7=w@gOTQk# zHQgCVtC0>O9YT5w(p!<%qsn99pJvBmc@L$Qawo{LYe1=xHcp;kHhe(i*V^SQ= z(FFNuq9j^x=C~ar->4lQeDnG8Wl1zaK8}?EO?i%~dz|4lhT!Ls!9m|#V0>T3x~zm$ zL#iX4k90ZG*+?sp29X3Fr=GFl^r9Bhdkx+>hR+3{!*n6i2Bg!FvPf%?Li8OSqf4kW z`7y<7i>OZ6pJ6nu-x(exPq-&6_MXDf$bk{z($=0)f!cVdvM!N`K z&$etw^-iD8Yf#~ANF6*2diKjQFZ6Kc!7}!ONpB2x7)N>q(kqc(jr1C%VWd3LRY+GO zU4wKj(oUobQot9#YZ>kygR_vgi>KA$J><`XBUPM^AdpFed~l7C<$N90QTcVt zn+J3lpL1ve{v+&@$0D!c7UswCA&Fm9-h7OGvDQh#fA4bboA(3A>a6x0MdjTYV_&Q#lj7ks z%eC*$9`@z^7_X_B<~_->v(wF4`4izkvw69m_b4Kf5gZ zVSg!R9U{L4j@r%c!`z8A)%3FVCWKeFjR#|NQeN=UG*YlG1&z3Q{rqGa9jqbem$mOB zyt?Jx-h&rposY^JH_lv;OyeZTx_-Ixj_11Ny|4!_$htlxFMpn>rYlMW1X;G5A@Irws{2UVWjJjT1aiA14z+59?sv_ zBVCE~HYD!(aF6FO68C-XL%I~HigY*9Wk}o;IsxfSqzR;myfblr$i5_5-uJ;a??HMm z(r1w#MS2YB{YZ}^eE{i$NKYU=iS!|)47z&=Lpp-=G}1FjPa%CA=@UqwMEVrc zr;$E`^eoac{V-#rG~|cuMLqO_ZQg^#Ym(0*J&N=g()*DfNBRKL2a%pY;=1ocNFPS} z2+~K9K8ADz>1m{Ake)*NIMOGOK8f@xq)#JpPIwk6@B{Yb3UwVJ!}4CN^5&7j;f=*_ z<8_gi+1GinjN?Sz8(?1dlVq&z-WPaS>G-g6-CUa%x#Y?@@;oT7n_miqgz=lP$#@QQ z#JieQLo2h~V{rNbmIvE#{lvNE8p!ZEr0Xe*>b1wqtBzP_ci+xonK;>%FXVn5 z68l+5{FFYm!GDsRlSliWK_koO|mcsX{~Ympdv<(ac2 zeo=X2u0`Y-wJ5%ww_goeU$b19b$uTvbKLch@`TLX;|j&am>p>-3w$qe-QybURmUoG z9z1yX{CZqNy(%hi%vwR-;Sja6jpMg0S6*G?$Jw~YH5Bh>gzP&Jvqs$kn5ev{I&mrE z!$glYeJ(67VlTJ&&mGQRUWv62pdWUSX|V*>P0(c6Ih4yuD2D<>0d(0xy(8F}VkE zbiKwBeUnBuq1D|_-=uV6^{~r)U#?v$7tTD`W@GJ5uGkC!BpcxX%@`hizlb z_LGU>5{lVNd(eVBK`cU+u^69UmW;ny?UUBd8Ux@Xp7V8%KC9#Dyg4i<-?@~}&Dceo zMJvPq-`HiXDMZOS=T?V>h~*djCt`hMN3_Q073+pz9of4CU2 z@lvFhA-x=F2hs?V7uU4)NNl{^2)L-7ZM>X|@%%ib(~&kI%|>J0-+u;<(@pPhCyXgm zpcV32QoJagz(%4&Y`okYqlb-`s2(BS|9|O_5HCG#>c>lhEfVA94QdaZd3f=1E@I<6 zq|=c$Ax$C8BE`i^UU7Av!t)!)Jzlgg9BaHNo$h!MHPr9&+`+42^f;DyQQpT(hhvQw zmB+V5X-w}pxc(>C%QvYl=xiK}6>E#N=&L89-(P|AXtdw<>pM~2ez5vu+Z(}8^d)l~ zK7YjJiAYx%X5OwU#hluHiB#%SiPsFB~BNsFOp*XtcrQC;DI(}{2L^8R(m zep~O)>(nREX*6~`B@NLfj|>j#V#m|Hu;0x{Z$R1wo4$Uj_DqPaMs!@JjO2?WG>>s2(;ZqIw7~wNt;CI9@sko$mR!r%ij0r(z2~L{%^8Bd=9^;LL;ewe#;@ z#O2LMZ$R3G)IfSYQV^@{W~nmU(#QIJy4hC)PISSU2kFw5I92&i{TS}gmR=qJ7RJVY z*2SM`3ek(mRPnEMZU49z_xLnFsk> zJ$cQFEIzaXgull7i3#NT8zrrPgl_wTSt*CC*MyQ_N^qoke&Ntd@efZ z6MR8Y%=L?VejpEE9F)!4c0K!m%IfE%J|bQZAD!gmhWeF}iSH${S0s+Vi~;Uhff(6T zw}klb$1~Ictj@wS?)e5Ax9h?4B;_mmQvUA!#_Vp`L*(j~dy8JX0i@?M4}EO9IZDUH zy^$%&rr9fc$fmj_*mQH^_-J@0+0=Z~i~W~M;h?>(O}Qr+zSf>^!>Bq^hTI;X8i5z4s_@oOyWm_IaP9{C#`p z4T|7E4w-we!#S#pwbAjm_qN_KX6IM#hM}x2e7f@txA%hPlt%?NNEQv+=F= zChxGlXFAjPjNWvk-o5{~m%6md?Q&+-T; zN7lgr{8Xf4q&wGW$IHyeoR&>n;&T>1DI6Vk1F&cR%m8SMPss#_>W%E}TE#w?A72uUP2%BjJ|JAk*70k@i=uR#O!5rMNDi+QEVS)S7hg6;LV|2t zqSufVEGi#m)pbrnAK0vPd|0u+Jcr_BlcC-|j-vLKvEubWjQYZk6)|%vd@vFFd*N){ zex&uoYyEN2kNN2O&)GHJ50gwk z$Jop2dB?^W8s1NJLw1kb=d)wbcF-ZMHzVB{PqX{yy1tBY`!ZJ7m7upOO4IwfZb-&k zl65^bjz%8vJbYPhML8N@)?QnpG`yd;hG@9o*a>wPKH1v(J!TZ%(GiSd5X6^g=(=4AHwYnI2<0M9=$KWr)Uf3=M1R zGH8^LYDjgY^N}t`IvZ&aX$8^+NEae)KspU6i?jwQ#M}EBVu<%$F}!hKlYSlpjd7$` zAiWal)kv>F8b-<^U4?Wt(ltoeB2|!fB8B*RKj91UEyVD(etl024SkG1L}MnI#%E$^ zxQ%7M&lZzuJR7CqJ*FO#qZC8KjzP5BbPS!iwL-R>Os4}H^D%UEdnF{#Y%-mbKx2J3 zop!7|`(o(Wbu0VxSx6^FY59+C`*xm-q17~TwhuHOL3$YJcBB?k8;RqLjxPhqb9}i0 z=?Wx{EpJ2Oc*Ak!FcQa_`;ab0sv_NubQu!IqZ5!gCQTrP;#1^}d3K?aEbse3gE9JE zq|YKfiu4%L`;i_;`T)`gk)A+$66r%oA4d8J(npa#hI9n!X{2Y6oG~L2vGG%lp=J9x z{SlSNT~Paa)sksk6hlL|RYN+}V`y00=$ICjMIYG=(Q#{B(Bom{AQm>9*BdV(8d=To;4ROOalN^m3#Tq#Z~hpW+24 zd@QL{X&Gnwc6)0KZR>{{L5JhbSxCEMX$Ft3g!Fz}3{5NVxuA0%(&kYtbXr~(%}|?D(L(4oiQ}*Jh&e;HpbD>MYB)m!DKqT9=NKDj(2;) zr}M5DIyT0}L1PSQCsJ38$?XoiTJY&TluU0c=*%IVgT%FF$nKV&bTFUZ!|CX4>!vr; z=X>t#VbCvfV=iDLr z7;gBzxsXSWEdHxKxB;tW^x5dUoDcC)W__D8anNtfyPR*%Orj_xS&zei7jx!&s5l!* zalT{Acj5elpg#7!&LFz>^ME07mGh&>%X-he?-+`Obwl&9yjv0IfiAGKdoRB}--7$r z=3UORyX)jSkzf8UK9z0J2&(qLO zIzmf2Up|&jN$HrWPvo((KfX4TeM0R4u#oK0y;igvUXi_4OY8lh^?@j@sC>Ma=7a=2 zU*EXvZTJss;4FR{n#FHJv-oXj_K7&X!&VH_joT0COSd*QjmIDYgGOYHTZfrBE{ki} zEUsa*kNaar7W=~pFP%<&y|eED?S$CE^>3Efzk#1YhjQs4=Gia%-WWQbOpu3i1+*k? ziiP^*82WbEy*gE7172ourqM3W?U1_yC`vu-mYLX{`7TZ?GrO}aGEAfmv{&D1pljuJ zyRff3-74_H)3$TG`?i$KyZhN^cx*<}{)2lHE1s*=JHr|L^Wv3^u$L!eCr)yM?Bh67 zf8NiSn!|-krpSMCuzmos^L|rw|54`-jZMNb$Zo=S01Go!`;=iQhO+MiOvqldOS0Ds zKv#QROaaJqDfXg~)m~d{-s*n5?Ir#M3pobtnJ3>~abqv~e%$v>R*V3b*Zh>1I$+Gr zK8iEG{ZY@!=X;9f%0jt?Dup@mNM_ILCQ(+Nc*b*na-8py4%?k`!Qet=p-}IXckC;o zWN2_4n&3?UGu#VZ#mt9+r1z!pw_QQ|id)3&yS3drwq9%FH^PS6zm0H6ttKetm|0&-t%b zEzAj~!4f(iahBFKI%JvJ zc=r3p+0ME3V7pVU;qi!eW4=`^Q(U1d{%JK^4ZJC_g-u%Rb>!JA-iWV!$%}M&WIL5w zxi!hfD-Wq7E%t-KfKRDRBjI2hb(xsNKcl9r)BdFWoqVP+O%br4eAN8|fTMjqncSBJ zQ_95XB-<{TzGCZ^D$@sn7m-OnM&uks!`(8ukCLR6>8>Q1IPR0iQe*rh zz=_1T`gMq#d801BuwN;Qo{{@H#_eD9q#Q@ZPRZM4*&53dz%JPUD>M z3FWQ&2cNh|tN&4uh}HiAG*IS#GJFy+$@&KZrPTi@$T@lX@jlX%xBD!8T3bBt^X5FS zbNao=Q+}+eGE@8AWn?P*JPjNZqvckmP?f0A%juLh`7TH}n=li%w&Ge#*EqiHoG;V( z@fpBH<JnmW#&oLAGx`DwsK z?3vdET{?Tp{z+eZo|hme=h`%Ken#cQ1{8xc?^bxJ?KuDvedXjnPMkd-MtvGNp9P%Q zQ{{B4zSMFKr;&3@f}D?}l=HJuIo(PywVab6(bt}504UC$??!zZd;Sl=h3x58hpFY< zn?}yF66AbuN;!W-<-|j!5}$6xm|D)eK%%cbuKf$Q;#N+8p&`Dp%XhQF&c(l4goA^)SGk zT+GDHQ3I$~8~d_zy_?25`EX^PeGYJw-PT!yRSsBo8yY5%QCo8U$eW>YD zdA2ZLmE9yGGl;=CsKX`IE+-Pa=_!Bg6I66BoR{nq0@qrByM1nibNr|iz` z_4)aBdM6sv`08^iLlEa~#z?92T}d)LZ)KoCmeTir7Vwe2=SKdNGBuNA`rT#9^mE-Z z>5!jxJUE;r)3=r>)6c6+8b3O?TY4$RsK=6IdeGA77sJ2cWGI-v9(=|#tzC|QgmfDE z){kLcud{9q(i9$4oG$K1E?r#zBH$#3fG1mT+v!|8y z1%P(l=l)^H`YS4HsaBXA76UkC&Osu)FUK{uuAeQA0#0m! zA3=%$y2!Kmz2e-;Fbq&<3ym4#U5mu?Ge|1m)XaQ4174^~Wv5>QoX95+E{lY2h1btU zlm#}L#A#*b>g4qcH?>KtpRIl!Fd_?ol8GlAC&#*r=|`Rh5B1 zZWS5aGF##)g$#Ek$#9*O0oO#CsoK)^GQI{Jv5i^(!!RRmHTORjit)Od$%^6(iea75+Py@h^r);EDGvXnb>hYK0=GW^m#+lXIN|F55bgK});S%;0&U;_N=Q6WicljI+*p739gElO4}< z_DsjHJc>ja`{~JjF6!y0Y^_{tv<^=4vWEwng%*9f!?dx=*>>V63Ij+u#AbZYOKYKA z$_2obMLIjqStKo=>Xn%l{917y57Lf=9%i#Rbn9SyuFwK?EQNE;Mx%QO~YF+~%HHjp4!>P-LT>E*xnq*Jqp*Vf@5y;+t;?|(>XqEBQ zY;AJXyX>L8`|_BeG>o=nJ=$m!9(>-m)cstl^y5DPkPY4>KR1<5quD8!Cx;J|ct_kC z#PSzfe`Wz~9Zpf(W}mkpB3ER}-4@YFWIgX}((MG+LA53bZ+!x~80a2`$@jpJ>&$7w|jCcFB7?t-*tN zR{ce0=9OrrTvnSSq#-0XT;8WPKOUC;xFO};Sl;h;$oWP@>T(Cdn zDwU>jy{7QXk*k;ONLXaNyMZTTD|Xk=$hHn`gZv#;|77ugr*+pTHSCQTM^9iPQG7fI=S4|(`ZmOj5Zz?Ci~)C8Nbq;DHpu^CXnj{wqK1zIy@}=x~F5{ zA>X=RXw1$MPUOI3syJxNzUY;eHf=>a@gQx)?z*Szjk+%%>O%K>NL%Q$FM5L*@i!t3 zVkoiIIrC^dDsiwKeAj#l=WA^_GL~hgP%pHbg?hP~n<*6cS1bGG#45yRoR}C2H7RYe z7uQf2E94*!j&)zgKjx#lu#SFZzker^@RnChVSMh)*Rh5`t-+;zpSLhd_s?w`PV4?9 zfIEr)qO6wwN!yV3bUle<3EQ-N3VHHo8OKRC;h$|2*@`HOYzvh-0ob+yX)s}|gskZ6 z0W8aZVSkHa>0%r=zfEBo$4LeJvu(nY`wYU<@h|~Q81aLv&$*ZMS^Sgc0YiK(-xn!A z8Yw>&DgOw{Z%0ym-UIUK{Tj;e@Y;Ee;kW;Br2N+?`}Ek4J^1zXjbG+k`!JH_zkZu7 zV|*&^w}S`UbWGI;{4G3ez3~PQAGY4~k*1}GlW*(wJ5a%cxH#5N;h&`=et_?cAIRHI zLTp#w)1^`iMa2Q{fEWFKEWBxBi2?E+C6|B?=Mul%Yn=c%r!(^F%K@Ff`t#bz$uNcj z4(gA-j2ItXuwr@oC$Cq47LvoWbx01{oMQrGMtE0C4eNH{BWsa`{KCYvyN%-UKYMW! zc-Duoe^5rX<8OInzvc0;?iE~&Ax6JxKEMMY97;2-t(C{OfvbA>_A)Wl>2$}?nx_Xm zelKQDy5~7t#>we`d^BFOzlTcYC5u>#XZ%$vah%~1=(1ySz$?F)3CgHm_vWBYeDW%k zmHtlTd61T|SAJn6)?U&67?gqP^ig~LJ}QOBLaRKh#<6^G?G3+l*ZXvk@3PAuD9xD$ z-aU!}4$3V)n8Djfaoa=dH2w~wLgc`;!gPC4LXbE{2HZTDwj1N9v-YHovVR!Hldy8U z7Kqp8Wu@Y*ZzIn!(5LZ7D3iDF$M2i!B@}QF<}{>1^W4V1R-rkEFVePbv$SLU%)WTb zbrYBF9OgShUwhN*i0SB`@O{Hh`K^CnWrQL~8TMGu=Uwhay3f{Kgt|}cx#s%4Z@4+1 zx$c^&%QH827e-7AP=pTRt!v$qEmSLocJMo`GeGy*p?0G<6u%)vT{i>fIf2oKfAH*S z*5JEm9;R}MdYJ?{vPriT3Ck9g6lK+Av!8?SXg<6=YFru zaruFuyq^93owgjceYV+X*^tj<%k@&TVSjKI;Ge*S>w`gA`ua4=lvh)B8b7(K%`~d* zX*Q|O>;G)1*qm?kpSkR%%&^7!zYOYK-@&?R{ok^FIM--4a~=LxT4`Zjv;Nu&?L=>yNAC zdsPJ1NEOh!F4~^J7q&n7mH<|ERaB<)(Dvpb#6`K)ns0XeAE;mhCwy<@Y{1S8aSyjv zsOApgf<>I4vo$0sdY%rr`cSY?m7&-CL|fXoqkUnhS(`33;E4JV*Ks-QOJM_YvE0g; z+R4BNy8wS*e|SSDM8nMNv^`{6d4(AV7-uq+_;H5o*^?jXZXd$F=rs35{aD)s*bfM- zeTaKa*iY&j(>%IpqYy*F6*+eGdj<)*8Lp=xOzOxrqJFAx<$v zF>?#X<5Mo}rmSQu6%Td}K*I}o;rUzV@K`_q{@5c0aGMLzSIR(Qw)*fmn?O8^5 z+VSpCyY{T0y%B2Ho)xrrq`mtG3CjO~w0A$`&-OFH|E*o^Lj-m@5a!-^7;z)%Fs>dH z7;pWgoz%t*Vcrvk(T-|iFczKixWEJt%%X$&ef^Y=M%pzrRgPyuJi6CtwE2%1n63w? zNdtZOl%JIL?(qQBoP!8UT4rq2heX5vp+08K80Zrj`%d|_h(3|A@071c+SRPe|Jxy5 z0)w(0Yk*V!sH=UbQml;(?;M`cX-4Kr>hk9Xw(DV2(qbR@tFHE;SR-LF9|MZeMIfE> z_e;Q&K1gI7wd`A_JvdT#I$3nTII8db{ZGi(Qi(@sRyiCEt>cw?Cm{ZM~n*{-9iu8(Fp8Z z4_Gl6;8iy>PlR<>-7v?>L0I~2!O*o2gX#!tXtDh*p>`c%P5W7BKdkL>4|0Ns@_9($ zx*xP;JLZ*B&3xdu53%6Jdt8s5`u;8&0t2B$CEaKw}=^{UTqZj%j0Q*$whwh{yCv*uN4I- zY|K38S#9+9W?$`+GDRLX@Jlg zn&aGm^oJiRALz&}FVzR@maLr@@nlbs1I2u%0GW26E5Y#8lo?;fu~ zm5-gt@S}KU?d{V|!VAW0%KRFmv$@6>nRRvJVs^unz~HMA(jI<}3w>h4Ri>Q}0*}Kc zYF3T;4cAFKAJS#BS~Z|=*7bZipU&pMhhH zn6clCKct`@A}_X^@jhtx*Mjt)8RPk|FR{aGJ&b`H%(Z}dP%T$DP@%-LmEitnn!QlQ zff={E_DhFqc&o^;+egje375&85MA^~zu)j)(H~uXF4veVnkNBuRX`mH^PvEytT5V9 z2{QGA!(PrI8v-^D_w zI9F;Q(72hUBLsC~tbaxIhSlIdfasNgkz)Wb-;9MB;$%Zx3tQ47?00&@x-px5#H_!Y zp<)CH8#01zO^P*)RlRSuL#>&2UZV*xLumEZf)@zbe5{BSY& zeXu7U))V=Hdj&IjT>>1lzmp`R!HIjvGWq>{Uw$)P{C*<^P8>g6E1YK6%JF@UdxG{Y z%hZkVc1_$1-i_-VpT6HyHe5>ObCtTx&}PhgDTeaZeR2G+`Wd_t;F+;B$?oJel9P#Q zvBg)z>#Oj^*V}<_uA7qZv43grbkP=+b5~C}2`^R;-5(>LtNY@K2}LgQG1vLMQM_h#X#{ZduzrpQdFR?)WW{uOIzyEbW z%m4I~Q}Wj@C41@%f5g=3<{B=EzyCEsV|R?%r@yKvUxVX2obql5p4qcX;uU;7knrdy zrKE31J<6}Fq^7)yb z_6DAPzzfe!TYC2`fsf^5_LY*>0>BH;8C!byF@cZe z^TwWj6+G7$Xt&;d&Ew<69O7V0ryn1$kCIRCJ_kPWbHnTCEv8VOQ(>GkRZpVXthY5ZXUMyqs}=Pk9ZF?VgU$lYMdA)Z=hIl>#Tq=jT)4 z`1>c+$KLZ!SZ`6EnVj61_U!ft{rI>q-Uhb*%M>`iKDeen!dS>r+o8Wq1#0_Mf>MyI{MPp5*H>+eW4ulrtS!zO z>Mdil;>{oM^;wtohxgSHeaNTxJb-5g!fUd#df!VE_*g!7_meNYRyu2;KYSM-jH_oo z)DzGDBC&}h+U|)IIQ;IWPD=C<)+1+qHU*w9B=IQYFZIO>uYD-vS5x4`$@s@9@S-x} z8tklp=#A%nN!i$u_INQ3jwdATf$?o??>%byFl%V{j(Cu9>tKI=_R7V{xV3k`vR`11 zk@500ygWmyjBiYXX9s-Zz>Zsc-^1}`48{!FaWM@qBcq!qFo$k^cTc>T4!$zCZyN8$ zuwv?1xV88EVt-cQ&DV(itWL%Q_9OhUXQ6EuxfU1er>(!y z8<*Gk4p&TLSF7ZW`E09s#x7~Rr@Rx7i1Rx z#P@F#3O;T7t$zHy+kBLne(ya;z)r#KI^jdx_MRhvgRSXd&$hrh=fr-p1>4!m=bYa6 zX$&8`W$bV+>c=P8Hg-5WQ{dR8n!_>AL?w+WkPUov1z=j`&)*OE*RAAznX%N zT_QVuzL^Rqn7b)k@4YP}TQny6_CML`lWiZ74gLHa^V`lIu}52b*A`fhZ0mi^1KGk` zXu^wl=k~LM+tvzXBwjuhp4-wAei(zd_1-UroLyT}CaCCZ*k;?C`tkL)rW9v?8XVhI z6z47JaAeC!aeA-Opc`b;&hYgfwJw-4BD6>pnE;svsv+jp%cxWU!~WyQ7FxtsgS8rlXBe(2-p z_MKmX%Wa3#cYXnmKQ2(OzVl1FgY{e<&yj}W|J>X9>E&HM(-!D6=T_3-c=u*8Pn>(O zFHY$4QfxuIM^fSG2=3O@=l1Of_L9oKzM&m|yg$Dgyai`^t{vDBo%YF{#1?Odse zx6W!OqD}ET-*f*Y20wR5ekc-p))?`B?qBtWwNEJn&0z+1iMuc9@!^x8Bi<#7_yPO1 z=l(|@o`M&-z@cs!+s`|t53aZ(A8;ieW{306ONYlRcZW<|`1HK-bhr_T-I#XXo<8{e z9DB182u;3-*Yob|i^r9ot{$9U&a3suBR>rr@ykZ=d#m7ee<+3Wu>Jl}d+-tlZ8!ak zFRmTuv)lUEx1;|)!7sJ(TMIs;9cn)v^dBFpRSR=7L$$H)cZ=Xz$n!qd-458UPubgF zqcLE4KzJOKku;uNGL7(WLP+DMmrNu0F@nnRg(cH)KQC~)e09k*f=;Y*d~3-x+|Lf2 z9DllG8tx|uj>g|DnTGp0f}`i2^mlPn}m6(lr%CjvcJ(Wj)(4g{Mm=Zr$9wlbwp?QB;$!PC^od#G(}(X#i66wH`xLB< zA*Aud(rLJXh;m?_8u&y?8o^s!TsXS%@JE(R!-b>MZ(okDypjulFu1JgTy{QJSP+ttLTOz(rk;;GL67h9PBR+gNxHTny_$?;XAkblZ zN*dACx$2O1PE~xJycB;|O8(K${VD!ymWZ#T1o2-18(x(jKlbe`D#wi}>F|Xt{7#<^ zG{mPbZ%c_UTRY*;*hxI%g&~8*lr(r#Ec*F5%7Oc8gUysQVm=k;`o+PNG@_q+Q(NAf z5oH&M0y&S*O}NO@>`G1`us+1h?G`0pQzeC)&G zo`$wXy!4{$V;#1A1KQuEuPE_8s6oD~(Dvkz{YZs{r>-A`&FnXf+Cwwp?=7(XnP_`N zmmiI`d%6(+C!_6HeDR=6)aP@4d*r?UZ2w}U-LiN1UyHO`_OAW;NIS-7Ih6nJN7^x; zy7tZB|L1;t%zNmmJ-kQ-mHB_lhWL(@}@Mw8tk(`mscQXy?d z&|I_BfVC_2{U+Cd1}sR7;+;~6F?`jrQ_i`!A|@Mon^Z+D6;PQCUo#qj#HT=G#jdveGb?csTQ9>A(FRCX#!;PNVY{9J*D2Jf0 zH0RJsiv^e*ogbf}YB$RWBv$YfS3wOvm<54rjRpCX02tQG`*P*dzH)|+H>&ajdn!`! zfvn7a{+7acokGro1-`Rky1a?PeYqB_U72mb@rTNpeYrZmSrD!X6-#($BEt!nMWdt6 zI_L&?-5Ulze0hya3`3ijP7JnOdl3-;f6Og%+zniUuLsCT1)VyFiY<0&^L0TX;1y}& zVB8GA7%D-%?Sp(rR6ApMi61Jhdl({kX;x-?cmT4ZFeE@~X1;|lr+~VZf2P&gU&cGD zN|`#$WB*qg3`sl{f#HrhI757~aF6GLcD>o&fqAci@5)tcos5)QrEnR2rLH3#j3+QP zuETOh5UFU+fD5TX5ICZW{vmy7pUhRJ$$Q(LfOgsq@q##tCNhyl$Jm)krp9^&Tp6+W zGEA;rE;8H;`33wM)=Xojh@TOf;&$Sj-o%`(g#}o$A2Z{#1K`odLpbdsyVu-&r_@-~ zk;;q$LEkokX#7Pd1-aR3VIO9P#(Z(EU2K)1JoP|-@vCIUKhRxuFhk9!+Z`Et+U#t2 zEzkkX8IZP$7img+uFesqYVxxfsj!g2_ySDywqj$U+%j}>c&Fj$NO69qjBv&0XlgaY zk$}zD+S73QaHy0Im1F{F=P+N}2t*I3$?)a50y;1i_TGt>*={QAWV~ahfU%f;DN{G5 zk!CyXV~*jcw`cIhnH*jpD1$?(g()|OZs4Sf!?yfLPp96kS1cJ+E~okEJr6QA`(^_^8J;WM!Pt-qXrA*@D*ar$Om#5`Gq?M zhfZbRd;{YZOi_^N#4TnGA{mm+Vg@wrSB&Qx)sna*sOlWj{(`R@x7x*AhrPpL6dUjm z+(mtZ+GYu#M#R96j}ybO`xx}-&RjY$aE)Do)9PUQHcJ;Qfr251B5-vR)QHixUJBl14O}12?EzDOtxlXIHZyzE@%SKEsvHy2=;29H48P)QF2~|8g z(wdbi#da?PV(aj|#d$DxnE3oLSA}F$v&1S`T$Kv-A|@tV*~Y9|EzSizz!DRHT||LC zOjB)xal7bg9IWx=f=S)R0)De$h6fh#exaa%r@%~s7dc+uVW8e2An(KDC%z7Mr{?uy zM9XsFp#^)D5iUAbf%CYOuHd6CGByU)?Cv?WAfl*)k3Lw_Vr8%&fx|^+0B>E6euu?E z3q6_Z5xYb|76F8gf`uHv%q?F6AI_K?Cwk7?@(5gobrU`bQ^1NP`0OMy8JK@~ZyqDR`J$dxLy`0TknM>JwiqZxT{P5zH_-JH+xat~TG>ij0Hd4_Ac z+(bnQ)#d{o)13p;Zf$F;T3!|Ckb9Agi{lyGjD)8p<(UC*3>>@U|AeYz&l5(jos>II zxkVQ>MqaIvS99cd5ptaWaJibnz8(_A}E18oRTfM87`rndP}H+{QOL1YN-%e+g(b{v4M2!C38S5iM<^t3pBOss*hasq#0Vs%)CU0O05@}F(r$R9DMy9c#30J_Z z3=yqFzwOE@Mb|dN?rp$K8-fJRF3#l@*Az!w5pf*Kdx{iHhvAS4XFDkNEUk-ymS6sa zflXBc>}WUasBg|fF#k-;Z+jHpO-p{YVN%GT2Phn~A>RDujy48)#SCg@*tsmEX_Xph zO0?R%hihwmNDtT99k@2{;o2I(4Yf**GZb)b-ov#uKBULjMI&%+-ov#uf*Wd;nsLuo zHt*ru8XwZ*>tY;yZQjGRHG&&zm6~137rn{ZJjg2@)HtgKd9T&UkJgC%GMGt6E|^hH z@`@X@&UCfTWY7oj+9j3ImJF(;$X}>vyX2#-PHwc0gkuyn&fk)c;yRC_6_2L!jT0U( z=h0~E4CbMlvxwxQxDy_oi7v_*sXX<%rOx}rQ3z4zoHRYN-&y7V>+1@V+lFDFo|M>b zo8NHkankmXX=*u|sbAmS1qgt&+mnDL2vQ^k!b>R${gG8Pk63a3j1GObW~{po%Onb;WLz>C%Z;uaF>50W3b%MofFU-@Vgf_c=LQXTv>WN zwusfEMZsyKI63&41ByQfaaS4(6LqI`skFN{ZHivd_cdb3&>Ep|Xv$n;ZbRRSL?fmR zbqpGtAr^taKL2QUm8SjD&D8mmC0zSbDWKBQX*peyw6=Beui>MgXg`9uf?R(r8{S>u zfrW#`*|8UKTs)c}l`^f^0Ym6w_EWPVhlYeGuqh`39{J9Z&O$?cKC~(I38deGY)S$| zgPPs=^anhoHUk<{1oUBEqTZFH1a{aGBMmV%2U?}^1fn$eJ$cHFuB)*aWxUo~%zaG8 zscMj>eGJb~*|y*eYIO#+-YnF3>de?x`9^8&7u48X%s6)w=&>8*xJT%ppc3~{@llWm zJj8j|Bd(9SdJFrE+boX|oUJ^REm`A_TE+g8Y)`5-h zUuy7%yfUVbiMa~TmXJkp^c z_6DR)i2D=|DSk=uYl`1e1UVEgzz?M?C&3Z{=dQ+baYd%fUW}1+BaI;1^wHR+NfM{L z3+fi`ADn>3!5xDJGF|0}msAlbdo}f2p_+&dfn1pQB0H`W-75!_h^Qf4p_h>XL6knq z*nlQ7Tb1LnlMg*V$O5XP9r`mqn-!1ohm=MINcuiMjh0jK&@k?OZMKG(VESU0Z7@99avv~FFZJ1&rR9H@q&}e%mkG^Y+s8^15{FVi>LMdTnlXq{Yr*95M?(tyl3y XJm$wg{rRr*e!Niwf(Hlaq<;PaMV$r7 literal 0 HcmV?d00001 diff --git a/src/platform/i386/nxos.ld b/src/platform/i386/nxos.ld index 6763417..dd4f174 100644 --- a/src/platform/i386/nxos.ld +++ b/src/platform/i386/nxos.ld @@ -84,7 +84,23 @@ SECTIONS { *(.rodata) *(.rodata.*) } - + + + .dtb ALIGN(8): + { + PROVIDE(__dtb_start = .); + KEEP(*(.dtb)) + PROVIDE(__dtb_end = .); + } + + .init.arch.info ALIGN(8): + { + PROVIDE(__arch_info_begin = .); + KEEP(*(.arch.info.init)) + PROVIDE(__arch_info_end = .); + } + + .romdisk ALIGN(8) : { PROVIDE(__NX_RomdiskStart = .); @@ -109,4 +125,5 @@ SECTIONS { . = ALIGN(4); __NX_BssEnd = .; + } diff --git a/src/utils/compatible.c b/src/utils/compatible.c index cf4bc6a..716bd26 100644 --- a/src/utils/compatible.c +++ b/src/utils/compatible.c @@ -36,4 +36,4 @@ void *memcpy(void *dst, const void *src, NX_Size sz) *dstPtr++ = *srcPtr++; } return dst; -} +} \ No newline at end of file -- Gitee From 001ae6b6b41806356aa01a57637e61f930e5f3cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8D=E6=A0=91=E7=9A=84=E6=97=B6=E8=8A=82?= <1477383589@qq.com> Date: Sat, 29 Jul 2023 23:19:10 +0800 Subject: [PATCH 2/8] add setup.c fdt.c --- src/platform/f133/include/libos/libc/ctype.h | 35 -------------------- 1 file changed, 35 deletions(-) delete mode 100644 src/platform/f133/include/libos/libc/ctype.h diff --git a/src/platform/f133/include/libos/libc/ctype.h b/src/platform/f133/include/libos/libc/ctype.h deleted file mode 100644 index cff55a3..0000000 --- a/src/platform/f133/include/libos/libc/ctype.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef _CTYPE_H -#define _CTYPE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -int isalnum(int); -int isalpha(int); -int isblank(int); -int iscntrl(int); -int isdigit(int); -int isgraph(int); -int islower(int); -int isprint(int); -int ispunct(int); -int isspace(int); -int isupper(int); -int isxdigit(int); -int tolower(int); -int toupper(int); - -int isascii(int); -int toascii(int); -#define _tolower(a) ((a)|0x20) -#define _toupper(a) ((a)&0x5f) -#define isascii(a) (0 ? isascii(a) : (unsigned)(a) < 128) - -#ifdef __cplusplus -} -#endif - -#endif -- Gitee From e242f4bfa6a44e22a847d13f6783e3fd15be811e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8D=E6=A0=91=E7=9A=84=E6=97=B6=E8=8A=82?= <1477383589@qq.com> Date: Sat, 12 Aug 2023 10:24:53 +0800 Subject: [PATCH 3/8] Add feature: parse chosen node, memory node and {size,address}-cells --- src/arch/x86/kernel/i386.S | 2 +- src/arch/x86/kernel/memory.c | 35 +- src/arch/x86/kernel/setup.c | 13 +- src/drivers/of/fdt.c | 305 +++++++++++++----- src/include/base/of.h | 9 +- src/init/main.c | 6 +- src/platform/i386/NXOS_new.elf | Bin 1306812 -> 0 bytes src/platform/i386/dts/i386.dtb | Bin 0 -> 319 bytes src/platform/i386/dts/i386.dts | 18 ++ .../dts/stm32mp157c-100ask-512d-lcd-v1.dtb | Bin 74946 -> 0 bytes src/platform/i386/hal/init.c | 2 +- src/platform/i386/i386.dtb | Bin 109078 -> 0 bytes src/platform/i386/include/platform.h | 8 - 13 files changed, 269 insertions(+), 129 deletions(-) delete mode 100755 src/platform/i386/NXOS_new.elf create mode 100644 src/platform/i386/dts/i386.dtb create mode 100644 src/platform/i386/dts/i386.dts delete mode 100755 src/platform/i386/dts/stm32mp157c-100ask-512d-lcd-v1.dtb delete mode 100644 src/platform/i386/i386.dtb diff --git a/src/arch/x86/kernel/i386.S b/src/arch/x86/kernel/i386.S index f3bae7e..13b935c 100644 --- a/src/arch/x86/kernel/i386.S +++ b/src/arch/x86/kernel/i386.S @@ -13,7 +13,7 @@ .section .dtb, "a" -.incbin "/home/xiaoxiao/bookos/BookOS/kernel/src/platform/i386/dts/stm32mp157c-100ask-512d-lcd-v1.dtb" /* path from current dir */ +.incbin "/home/xiaoxiao/bookos/BookOS/kernel/src/platform/i386/dts/i386.dtb" /* path from current dir */ .code32 .text diff --git a/src/arch/x86/kernel/memory.c b/src/arch/x86/kernel/memory.c index 109e0e7..54fffe3 100644 --- a/src/arch/x86/kernel/memory.c +++ b/src/arch/x86/kernel/memory.c @@ -22,8 +22,12 @@ #include #include - -#define GRUB2_READ_MEMORY_BYTES_ADDR (0x000001000) +extern unsigned int MEM_DMA_BASE; +extern unsigned int MEM_DMA_SIZE; +extern unsigned int MEM_NORMAL_BASE; +extern unsigned int normalSize; +extern unsigned int userBase; +extern unsigned int userSize; NX_PRIVATE NX_U32 kernelTable[NX_PAGE_SIZE / sizeof(NX_U32)] NX_CALIGN(NX_PAGE_SIZE); @@ -37,32 +41,7 @@ NX_PRIVATE void NX_HalEarlyMap(NX_Mmu *mmu, NX_Addr virStart, NX_Size size) * Init physic memory and map kernel on virtual memory. */ void NX_HalPageZoneInit(void) -{ - NX_Size memSize = *(NX_Size *)GRUB2_READ_MEMORY_BYTES_ADDR; - - NX_LOG_I("Memory NX_Size: %x Bytes %d MB", memSize, memSize / NX_MB); - - if (memSize == 0) - { - NX_PANIC("Get Memory NX_Size Failed!"); - } - if (memSize < MEM_MIN_SIZE) - { - NX_LOG_E("Must has %d MB memory!", MEM_MIN_SIZE / NX_MB); - NX_PANIC("Memory too small"); - } - - /* calc normal base & size */ - NX_Size normalSize = memSize - MEM_DMA_SIZE - MEM_KERNEL_SZ; - normalSize /= 2; - if (normalSize > MEM_KERNEL_SPACE_SZ) - { - normalSize = MEM_KERNEL_SPACE_SZ; - } - - /* calc user base & size */ - NX_Addr userBase = MEM_NORMAL_BASE + normalSize; - NX_Size userSize = memSize - normalSize; +{ NX_LOG_I("DMA memory base: %x NX_Size:%d MB", MEM_DMA_BASE, MEM_DMA_SIZE / NX_MB); NX_LOG_I("Normal memory base: %x NX_Size:%d MB", MEM_NORMAL_BASE, normalSize / NX_MB); diff --git a/src/arch/x86/kernel/setup.c b/src/arch/x86/kernel/setup.c index bbab583..fa54f67 100644 --- a/src/arch/x86/kernel/setup.c +++ b/src/arch/x86/kernel/setup.c @@ -78,22 +78,21 @@ static const void * arch_get_next_mach(const char *const **match){ const struct machine_desc * setup_machine_fdt(NX_U8* dt_phys) { const struct machine_desc *mdesc, *mdesc_best = 0; - if(!dt_phys||!early_init_dt_verify(dt_phys)) return false; NX_LOG_I("Magic is true"); - const dtb_header* header = (const dtb_header*)dt_phys; - unsigned int off_dt_struct = ((header->off_dt_struct & 0xFF000000) >> 24) | ((header->off_dt_struct & 0x00FF0000) >> 8) | - ((header->off_dt_struct & 0x0000FF00) << 8) | ((header->off_dt_struct & 0x000000FF) << 24); - unsigned int off_dt_strings = ((header->off_dt_strings & 0xFF000000) >> 24) | ((header->off_dt_strings & 0x00FF0000) >> 8) | - ((header->off_dt_strings & 0x0000FF00) << 8) | ((header->off_dt_strings & 0x000000FF) << 24); - mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach,off_dt_struct,off_dt_strings); + mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach); + + /*获取运行时的配置信息*/ + early_init_dt_scan_nodes(); return false; } void setup_arch(){ + // NX_LOG_I("UESTC\n"); + NX_Printf("UESTC\n"); const struct machine_desc *mdesc; const struct machine_desc*hdmdesc = (const struct machine_desc*)__arch_info_begin; initial_boot_params = (void *)__dtb_start; diff --git a/src/drivers/of/fdt.c b/src/drivers/of/fdt.c index 5088373..1742b19 100644 --- a/src/drivers/of/fdt.c +++ b/src/drivers/of/fdt.c @@ -4,76 +4,39 @@ #include #include #include -extern void * initial_boot_params; +extern void *initial_boot_params; NX_IMPORT NX_U8 __dtb_end[]; - -const void * of_find_compatible(unsigned int off_dt_struct,unsigned int off_dt_strings,unsigned int* cplen){ - const char * dt_struct = initial_boot_params+off_dt_struct; - unsigned int temp = fdt32_ld(dt_struct); - // NX_LOG_I("dt_struct:%p\n",dt_struct); - // NX_LOG_I("initial_boot_params:%p\n",initial_boot_params); - const char *name = NULL; - const char* compatible = "compatible"; - int com_len = strlen(compatible); - int next_len,last_len = 0; - int dt_compt_i = 0; - while(name!="compatible"){ - - if(temp == 0x00000003){ - // NX_LOG_I("temp:0x%x\n",temp); - const struct fdt_property* dt_block = (const struct fdt_property*)dt_struct; - unsigned int nameoff = ((dt_block->nameoff & 0xFF000000) >> 24) | ((dt_block->nameoff & 0x00FF0000) >> 8) | - ( (dt_block->nameoff & 0x0000FF00) << 8) | ((dt_block->nameoff & 0x000000FF) << 24); - cplen = ((dt_block->len & 0xFF000000) >> 24) | ((dt_block->len & 0x00FF0000) >> 8) | - ( (dt_block->len & 0x0000FF00) << 8) | ((dt_block->len & 0x000000FF) << 24); - const char*pointer = initial_boot_params+off_dt_strings+nameoff; - if(pointer[0]=='c'){ - int result = memcmp(pointer,compatible,com_len); - NX_LOG_I("compatibles属性值:%c\n",pointer[0]); - NX_LOG_I("compatibles属性值:%c\n",pointer[1]); - - if(result == 0) - { - return dt_block; - } - } - dt_struct+=4; - temp = fdt32_ld(dt_struct); - } - else{ - - dt_struct+=4; - temp = fdt32_ld(dt_struct); - if(dt_struct>__dtb_end) - return 0; - continue; - } - } +unsigned int dt_root_addr_cells; +unsigned int dt_root_size_cells; +unsigned int MEM_DMA_BASE; +unsigned int MEM_DMA_SIZE; +unsigned int MEM_NORMAL_BASE; +unsigned int normalSize; +unsigned int userBase; +unsigned int userSize; +static unsigned int swab32(unsigned int x) +{ + return ((x & 0xFF000000) >> 24) | ((x & 0x00FF0000) >> 8) | + ((x & 0x0000FF00) << 8) | ((x & 0x000000FF) << 24); } static int of_fdt_is_compatible( - const char *compat,unsigned int off_dt_struct,unsigned int off_dt_strings) + const void *blob, unsigned long node, const char *compat) { const char *cp; - unsigned cplen=0; - unsigned int* ptr = NULL; - ptr = &cplen; - + int cplen; unsigned long l, score = 0; - - const struct fdt_property* dt_block = of_find_compatible(off_dt_struct,off_dt_strings,ptr); - - cplen = ((dt_block->len & 0xFF000000) >> 24) | ((dt_block->len & 0x00FF0000) >> 8) | - ( (dt_block->len & 0x0000FF00) << 8) | ((dt_block->len & 0x000000FF) << 24); - cp = dt_block->data; + cp = fdt_getprop(blob, node, "compatible", &cplen); + NX_LOG_I("#compatible-test:%s\n", (char *)cp); if (cp == NULL) return 0; - while (cplen > 0) { + while (cplen > 0) + { score++; - if( (NX_StrCmpN(cp, compat,strlen(cp))) == 0) + if ((NX_StrCmpN(cp, compat, strlen(cp))) == 0) return score; l = strlen(cp) + 1; cp += l; @@ -83,15 +46,16 @@ static int of_fdt_is_compatible( return 0; } -static int of_flat_dt_match(const char *const *compat,unsigned int off_dt_struct,unsigned int off_dt_strings) +static int of_flat_dt_match(unsigned long node, const char *const *compat) { unsigned int tmp, score = 0; if (!compat) return 0; - while (*compat) { - tmp = of_fdt_is_compatible(*compat,off_dt_struct,off_dt_strings); + while (*compat) + { + tmp = of_fdt_is_compatible(initial_boot_params, node, *compat); if (tmp && (score == 0 || (tmp < score))) score = tmp; compat++; @@ -100,30 +64,209 @@ static int of_flat_dt_match(const char *const *compat,unsigned int off_dt_struc return score; } -const void * of_flat_dt_match_machine(const void *default_match, - const void * (*get_next_compat)(const char * const**), unsigned int off_dt_struct,unsigned int off_dt_strings) +const void *of_flat_dt_match_machine(const void *default_match, + const void *(*get_next_compat)(const char *const **)) { - const struct machine_desc *data = 0; - - const struct machine_desc* best_data = (const struct machine_desc*)default_match; - - const char *const *compat; - unsigned long dt_root; - unsigned int best_score = ~1,score = 0; - const struct fdt_property* prop; - const char* compatible; - int cplen,poffset; - while ((data = get_next_compat(&compat))) { - - score = of_flat_dt_match(compat,off_dt_struct,off_dt_strings); - - /* 记录得分最低(最匹配)的machine_desc */ - if (score > 0 && score < best_score) { + const struct machine_desc *data = 0; + + const struct machine_desc *best_data = (const struct machine_desc *)default_match; + + const char *const *compat; + unsigned long dt_root = 0; + unsigned int best_score = ~1, score = 0; + + while ((data = get_next_compat(&compat))) + { + + score = of_flat_dt_match(dt_root, compat); + + /* 记录得分最低(最匹配)的machine_desc */ + if (score > 0 && score < best_score) + { best_data = data; best_score = score; } - - } - return best_data; + NX_LOG_I(" score: %d\n", score); + } + return best_data; +} + +const void *of_get_flat_dt_prop(unsigned long node, const char *name, + int *size) +{ + return fdt_getprop(initial_boot_params, node, name, size); +} + +int early_init_dt_scan_chosen(unsigned long node, const char *uname, + int depth, void *data) +{ + int l; + const char *p; + + const char *test; + const void *rng_seed; + + NX_LOG_I("search \"chosen\", depth: %d, uname: %s\n", depth, uname); + /* 如果遍历到的不是作为根节点的子节点的chosen节点,则指示of_scan_flat_dt继续遍历下一个节点 */ + + if (depth != 1 || !data || + (NX_StrCmp(uname, "chosen") != 0 && NX_StrCmp(uname, "chosen@0") != 0)) + return 0; + /* 当前节点是/chosen节点 */ + + /* Retrieve command line */ + /* 获取/chosen节点的bootargs属性的属性值 */ + p = of_get_flat_dt_prop(node, "bootargs", &l); + /* 如果属性存在,则p指向bootargs属性值——一个字符串,l记录了字符串的长度(含'\0') */ + if (p != NULL && l > 0) + /* 将启动参数拷贝到boot_command_line */ + NX_StrCopyN(data, p, (l < COMMAND_LINE_SIZE) ? l : COMMAND_LINE_SIZE); + + NX_LOG_I("Command line is: %s\n", (char *)data); + NX_LOG_I(" 字符串长度: %d\n", l); + NX_LOG_I(" 字符串长度: %s\n", (char *)p); + + /* break now */ + /* 返回非0值,指示of_scan_flat_dt停止遍历 */ + return 1; +} +int early_init_dt_scan_root(unsigned long node, const char *uname, + int depth, void *data) +{ + const unsigned int *prop; + unsigned int cplen; + /* 验证当前节点是否是根节点 */ + if (depth != 0) + return 0; + /* 设置默认值 */ + dt_root_size_cells = OF_ROOT_NODE_SIZE_CELLS_DEFAULT; + dt_root_addr_cells = OF_ROOT_NODE_ADDR_CELLS_DEFAULT; + /* 如果有#size-cells属性则获取其值,并重新设置dt_root_size_cells */ + prop = of_get_flat_dt_prop(node, "#size-cells", NULL); + if (prop[0]) + /* 注意大小端的转换 */ + dt_root_size_cells = swab32(prop[0]); + NX_LOG_I("dt_root_size_cells = %x\n", dt_root_size_cells); + /* 如果存在#address-cells属性,则重新设置dt_root_addr_cells */ + prop = of_get_flat_dt_prop(node, "#address-cells", NULL); + if (prop[0]) + dt_root_addr_cells = swab32(prop[0]); + NX_LOG_I("dt_root_addr_cells = %x\n", dt_root_addr_cells); + + /* break now */ + /* 停止遍历 */ + return 1; +} + +int early_init_dt_scan_memory(unsigned long node, const char *uname, + int depth, void *data) +{ + /* 获取/memory节点的device_type属性 */ + const char *type = of_get_flat_dt_prop(node, "device_type", NULL); + const unsigned int *reg, *endp; + int l; + bool hotpluggable; + unsigned int swapreg; + unsigned int reglength; + + /* We are scanning "memory" nodes only */ + /* /memory节点的device_type属性值必须是memory */ + if (type == NULL || NX_StrCmp(type, "memory") != 0) + return 0; + + /* 获取/memory节点的linux,usable-memory或reg属性值(存放了内存的起始地址和长度信息) */ + reg = of_get_flat_dt_prop(node, "linux,usable-memory", &l); + if (reg == NULL) + reg = of_get_flat_dt_prop(node, "reg", &l); + if (reg == NULL) + return 0; + reglength = l / sizeof(unsigned int); + endp = reg +reglength; + /* 获取hotpluggable属性值(指示是否可以热插拔) */ + hotpluggable = of_get_flat_dt_prop(node, "hotpluggable", NULL); + NX_LOG_I("memory scan node %s, reg size %d,\n", uname, l); + /* 遍历reg属性记录的一块或多块内存 */ + unsigned int *memreg ; + while ((endp - reg) >= (dt_root_addr_cells + dt_root_size_cells)) { + + swapreg = swab32(reg[0]); + *memreg = swapreg; + memreg++; + NX_LOG_I("dt_root_size_cells = %p\n", swapreg); + swapreg = swab32(reg[1]); + *memreg = swapreg; + memreg++; + NX_LOG_I("dt_root_size_cells = %p\n", swapreg); + reg+=2; + } + memreg = memreg - reglength ; + MEM_DMA_BASE = memreg[0]; + MEM_DMA_SIZE= memreg[1]; + MEM_NORMAL_BASE = memreg[2]; + normalSize = memreg[3]; + userBase = memreg[4]; + userSize = memreg[5]; + + NX_LOG_I("MEM_DMA_BASE = %p\n", MEM_DMA_BASE); + NX_LOG_I("MEM_DMA_SIZE = %p\n", MEM_DMA_SIZE); + NX_LOG_I("MEM_NORMAL_BASE = %p\n", MEM_NORMAL_BASE); + NX_LOG_I("normalSize = %p\n", normalSize); + NX_LOG_I("userBase = %p\n", userBase); + NX_LOG_I("userSize = %p\n", userSize); + return 0; +} + +int of_scan_flat_dt(int (*it)(unsigned long node, + const char *uname, int depth, + void *data), + void *data) +{ + /* blob指向DTB在内存中的起始地址 */ + const void *blob = initial_boot_params; + const char *pathp; + int offset, rc = 0, depth = -1; + /* 若设备树不存在则返回 */ + if (!blob) + return 0; + /* 从根节点开始遍历 */ + for (offset = fdt_next_node(blob, -1, &depth); + /* 如果找到了有效的节点并且回调函数it返回0,则执行循环体 */ + offset >= 0 && depth >= 0 && !rc; + /* 继续遍历下一个节点 */ + offset = fdt_next_node(blob, offset, &depth)) + { + /* 获取节点名 */ + pathp = fdt_get_name(blob, offset, NULL); + /* + 调用回调函数it + offset: 节点起始位置在DTB的structure block中的偏移 + pathp : 指向节点名 + depth : 节点的深度(层次) + data : 参数data,取决于调用者 + */ + NX_LOG_I("offset = %d\n", offset); + NX_LOG_I("pathp = %s\n", (char *)pathp); + NX_LOG_I("depth = %d\n", depth); + rc = it(offset, pathp, depth, data); + } + return rc; } + +void early_init_dt_scan_nodes(void) +{ + int rc = 0; + + /* Retrieve various information from the /chosen node */ + /* 获取/chosen节点的信息 */ + rc = of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line); + if (!rc) + NX_LOG_I("No chosen node found, continuing without\n"); + + /* Initialize {size,address}-cells info */ + /* 获取根节点的{size,address}-cells属性值,之后才方便解析根节点的子节点的reg属性 */ + of_scan_flat_dt(early_init_dt_scan_root, NULL); + + /* 解析/memory节点,设置内存信息 */ + of_scan_flat_dt(early_init_dt_scan_memory, NULL); +} \ No newline at end of file diff --git a/src/include/base/of.h b/src/include/base/of.h index c975f06..ce364d3 100644 --- a/src/include/base/of.h +++ b/src/include/base/of.h @@ -1,7 +1,14 @@ #ifndef _NXOS_OF_FDT_H #define _NXOS_OF_FDT_H + +#define COMMAND_LINE_SIZE 256 +#define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1 +#define OF_ROOT_NODE_ADDR_CELLS_DEFAULT 1 + const void * of_flat_dt_match_machine(const void *default_match, - const void * (*get_next_compat)(const char * const**), unsigned int off_dt_struct,unsigned int off_dt_strings); + const void * (*get_next_compat)(const char * const**)); +void early_init_dt_scan_nodes(void); +char boot_command_line[COMMAND_LINE_SIZE]; #endif \ No newline at end of file diff --git a/src/init/main.c b/src/init/main.c index 812464f..871d8c5 100644 --- a/src/init/main.c +++ b/src/init/main.c @@ -67,6 +67,8 @@ int NX_Main(NX_UArch coreId) if (NX_AtomicGet(&gActivedCoreCount) == 0) { NX_AtomicInc(&gActivedCoreCount); + + /* init multi core before enter platform */ NX_SMP_Preload(coreId); @@ -75,7 +77,7 @@ int NX_Main(NX_UArch coreId) { NX_PANIC("Platfrom init failed!"); } - + // setup_arch(); NX_STARTUP_HOOK(); NX_CORE_STARTUP_HOOK(coreId); @@ -88,7 +90,7 @@ int NX_Main(NX_UArch coreId) /* init page cache */ NX_PageCacheInit(); - setup_arch(); + // setup_arch(); /* init heap cache for NX_MemAlloc & NX_MemFree */ NX_HeapCacheInit(); diff --git a/src/platform/i386/NXOS_new.elf b/src/platform/i386/NXOS_new.elf deleted file mode 100755 index de3ae27a8b6c97f1a8668fbbb5c7e6d3a682a85d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1306812 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

    27M*-tp&8>awskIrd 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

  • OrQOt7$B3WYP4tyao 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%0DxN;f9g_ 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
    o3kfhwIenGzcCZBhb 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 F{{r%f{jmT5 diff --git a/src/platform/i386/dts/i386.dtb b/src/platform/i386/dts/i386.dtb new file mode 100644 index 0000000000000000000000000000000000000000..c83845eb119cc66e60d80620965c070b9c4c5094 GIT binary patch literal 319 zcmY+8O$x$5424sF5D`%qg18mLg<@5df{5P114x|)Ewqkw2BEGzo=Y#{6~vdeE)0D0 z^72BMSM&2Ga<)X|K_N5(9ncnolI)pv|4+7zQ5jSv3K!l=6eY6?XaL#!`F`OYb=HP2 zaCz2+4wb$b9r4E6bnlL5v*p}%vkjsW)QLIPNxJh~sXUOoH89PyY$&rHSknV9kPo!( zC2AMI$~~d3bbR$~c#N0^eh?&V%tUb%85)@I&P9LJ+WN`KP{6lP@xi87ri4%Q1%L7{ AmH+?% literal 0 HcmV?d00001 diff --git a/src/platform/i386/dts/i386.dts b/src/platform/i386/dts/i386.dts new file mode 100644 index 0000000..d12c273 --- /dev/null +++ b/src/platform/i386/dts/i386.dts @@ -0,0 +1,18 @@ +/dts-v1/; +/ { + compatible = "i386"; + #address-cells = <1>; + #size-cells = <1>; + + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + memory@800000 { + device_type = "memory"; + reg = <0x00800000 0x00800000 0x01000000 0x0F7A0200 0x107A0200 0x107A0200>; + }; + +}; + diff --git a/src/platform/i386/dts/stm32mp157c-100ask-512d-lcd-v1.dtb b/src/platform/i386/dts/stm32mp157c-100ask-512d-lcd-v1.dtb deleted file mode 100755 index e3fb555c77545aa1a4eb4355709023bd57a257c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74946 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�u%o5ibp-mTH>l*_Z@ z>m_d7R3S=VaQ&qc)I3~7x8yT z1lLUrlvHrYr_=DIhLvie(`e0#s!`^2=8E#}BWom4=F9<>mH=j_~IDP(2peEhbLrhU@z ziylzMtHkw@>bT6vRGD)N)s-^pGH9LL%gbfF?X*xXc<1NfYZJ@4f2QsjwEm7~Q|eP6 z|EjUL$a=yDCQ)mHvfRsF+Hg}>)Dr`7!>4yVTW{2T{*V_t_jhu#k9va{+n){CjUh&} z^Wh`2$V6Z{=x+NxTn}j4)&|rq`{a!P;k{X?m#g`OLh(qovb5};VdQ!u^r2Xh;TC<- z7cquNAWeiFKfpi6ld>?+Xg`X$(3VeEV4Uu()UkFzZrB#}c08|j4DWx@GF*22uc+Rc zv=@0*{AXT_xF_qG9Aj8!<#ULWHq!`a-i3c!CVD9&ExfH(>a4)BU4Y#gV<>pV7!cKE z`mgjEbj6GDJ$xqJXciQ&>Eq)_3r$BObYRvOJGlJ3`u;*pEH_cG5O}nrmwEto3)&eoW^UR*FY- z@L-vZwe}#e)`zaozT-H`E&XzE&R3e6#^p>;*E`3M!N9r*JLm9E+llRI53vJj>*U08 zqdi|LwUD$npdHadTi7{DquPdOQ^$_>6sbgXILG+uUh4e zBZ0uS=*#f&sa0jm@bz3HpjnKMImHD%#rUAkIUXGc2<>XAp=K947+*kpVs&QT9rt_m zFI<~NJCzUmkJ88%`i4`@DRnVsg!0VuK?>AFFdT#E)^Pgz2z{i}>GqLr&yITdUk=W^ z|2a+L(xoHAEsImF7wW%MqAxQ+bOW z`ckXVT*fbVwX|4pU_8sc{Jz^}uH84zZ+l&T*Sn;t;otPj5WS^$ey%b}l9GnJJNewf zLx6`h?+WC7`qLEC1@ge;4fY4h+LssDYT>aEAWig&hK5_ zZWOOhKZv1@&PAQ)q>ep=5k3eqPC^J)=U>O_VD}##C%HN&{W^Q~L?lGx>io#B12pb| z9MltA6!FcuvP{d;2DaGwe8}4PbrTbNu|2QLR@LgSR$85vLUkVRW)$aP4SZ>hB+2(V zfZbu%m|xAxam{>}nEmM`0MBuV3u`S||Kbw-8Gz-?=apmICji1fXYYBg$vtLJ#=5e` zP=2f$vK=1MBOcZr1-t-YAPxE}ucYDA7MilYLji*E8t#F|uNm(wx_$-U6Py@t1&{Gh zx>Op|@a<^7DKEYv6G7|BGbncN9(;`OOzo3V`Ocpq{-~ytKALMbTH5u4T)AFqHuQy> zsQo4`xF3tsqT2$}l+%YZ_7pHv<4w_gv0SaTgFWrav9iW%jZ(Q96dSc>p;N&-nE{Tj zD#h}A=V-GWV4W2dtBvB3c6iCx3wYr)Xf(?$)UGe#lnh+8^Q)6VeHCYNiZhC9gFQu@ zrm=oVzt~*Kw^y3Y>d~ONT&UwsWT0&3!_zm3E+3Oitx{|?RvUP>N6OIzO2Gl$@*3Y- zEw@@L%}zUt<_n99m3pOf)XQq(L=SHw;pNCBaK5Lu&{$V43a#4M;!3@U&x{7lMzNHJ zGPai?Pq0U%*9Lp!vy_@>cMABrL{P(M(I^Fb96MU{Qx8yE7J^;Rbt} zjkR(sUux6}{3e2!x>{I(d11#|p&4L{hVN?P5E$KF&Np$;*$#Nx8Opo|A5GGB`t<{B zhb=bYVqs-bMjLn{n)EEr4*61{lGH;xUtaIPkFhi4S2$N-Zh67YVV!ibDbIXr43jax zSZfA&x;fu2R`ab&n>yr;oIHMu-m(`9p>AD%y_2uYMxh;Wg3Iq+)l|qkj6>B^j7F2) zA?UPV6UmUWkkNdz)PS}t^&?@d0STB8A6+YS;A1%5?v(Scvo7PK7Et$Eb#Y7&ma8qE zvooXASV3o_qJl*nL6-Bd1S}dXR63!{X?hRe13@3*o>V(eTe-)*3bb0!FSg3}uaxV> zqoFI*i@{<8jsrXM(0>sIhBZ3)yhgj)fF@RI@r<=f3HJ#0&XT?US7(VOH1W|h7U#ML8P%1 z9T)^h%4Ph%mROxku7CvAIboL%y>Kay&+#u-78@}9v2w7KuQzc|C6*IQmRj@TPT18? zO*!qL8x%PLpbPV#c0KO=>1_G-8ax2@SYG3}8<|Aj{Dcx9Q|DN*#V#G5!U_T}Nfk%q zW>k%?66I?jm@Sfe=p~Hyx)Yiz^FdxGS~;HN0XRR$HmH z=VA2mSZX4ck_n)l$9%0Gh#pRr;Uo@UxCkh)_exx_C(Mvp4%HS47>n6YgL=K}w818VQyZ5qSOP^u3|ZjnCdv_|iC)Te4$1jKu|u_sPOt)6 zSsyEM#tozTAU8f`QCV7o=U6&q(^BmJoiTiD3R6b4yc)VHz9H3Glqp5KS6D^!aQ?gk z!mcH519MeKLN!HJ!Q!e^s24FYX=WR%A$$_1j zO-|7K1im;QjukAyr)9zf4|}{geiX&!y9TJ^*T)ZdxH|hRZift(mV*RK=m|kQ=}1M! z<5C*0DduHtjI!C?^QJ*~QK#%wi#hK1q(So kkswb%j0d`h)hoWMAn!{~>U9bx!}_U%bu(5j(Q*9$1CsN9vH$=8 diff --git a/src/platform/i386/hal/init.c b/src/platform/i386/hal/init.c index 74f7590..709ba0c 100644 --- a/src/platform/i386/hal/init.c +++ b/src/platform/i386/hal/init.c @@ -40,7 +40,7 @@ NX_INTERFACE NX_Error NX_HalPlatformInit(NX_UArch coreId) CPU_InitSegment(); CPU_InitTSS(); CPU_InitInterrupt(); - + setup_arch(); NX_HalPageZoneInit(); return NX_EOK; diff --git a/src/platform/i386/i386.dtb b/src/platform/i386/i386.dtb deleted file mode 100644 index 06a54289923c1b4f1a0d4ff536a348a76f58f6b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109078 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 XJm$wg{rRr*e!Niwf(Hlaq<;PaMV$r7 diff --git a/src/platform/i386/include/platform.h b/src/platform/i386/include/platform.h index 5d337be..1d88323 100644 --- a/src/platform/i386/include/platform.h +++ b/src/platform/i386/include/platform.h @@ -15,14 +15,6 @@ #include #define MEM_KERNEL_BASE 0x00000000 -#define MEM_KERNEL_SZ (8 * NX_MB) - -#define MEM_DMA_BASE (MEM_KERNEL_BASE + MEM_KERNEL_SZ) -#define MEM_DMA_SIZE (8 * NX_MB) - -#define MEM_NORMAL_BASE (MEM_DMA_BASE + MEM_DMA_SIZE) - -#define MEM_MIN_SIZE (510 * NX_MB) #define MEM_KERNEL_SPACE_SZ (512 * NX_MB) -- Gitee From 7f2621aa2d10a059f9efe12e7da4f2d44016190d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8D=E6=A0=91=E7=9A=84=E6=97=B6=E8=8A=82?= <1477383589@qq.com> Date: Sun, 13 Aug 2023 15:36:52 +0800 Subject: [PATCH 4/8] Add feature:unflatten_device_node --- src/arch/x86/kernel/setup.c | 2 + src/drivers/of/fdt.c | 394 +++++++++++++++++++++++++++++++++++- src/include/base/defines.h | 2 +- src/include/base/of.h | 23 ++- src/init/main.c | 4 + 5 files changed, 417 insertions(+), 8 deletions(-) diff --git a/src/arch/x86/kernel/setup.c b/src/arch/x86/kernel/setup.c index fa54f67..b1f2afc 100644 --- a/src/arch/x86/kernel/setup.c +++ b/src/arch/x86/kernel/setup.c @@ -108,6 +108,8 @@ void setup_arch(){ NX_LOG_I("_mach_desc_i386: %s\n",_mach_desc_i386); NX_LOG_I("_mach_desc_arm: %s\n",_mach_desc_arm); + /*根据DTB创建device_node树*/ + // unflatten_device_tree(); diff --git a/src/drivers/of/fdt.c b/src/drivers/of/fdt.c index 1742b19..1491443 100644 --- a/src/drivers/of/fdt.c +++ b/src/drivers/of/fdt.c @@ -4,6 +4,7 @@ #include #include #include +#include extern void *initial_boot_params; NX_IMPORT NX_U8 __dtb_end[]; unsigned int dt_root_addr_cells; @@ -14,13 +15,18 @@ unsigned int MEM_NORMAL_BASE; unsigned int normalSize; unsigned int userBase; unsigned int userSize; - -static unsigned int swab32(unsigned int x) +#define DEV_SIZE_CLASS_VALUE 16 +static unsigned int be32_to_cpup(unsigned int x) { return ((x & 0xFF000000) >> 24) | ((x & 0x00FF0000) >> 8) | ((x & 0x0000FF00) << 8) | ((x & 0x000000FF) << 24); } +static unsigned int cpu_to_be32(unsigned int value) { + return ((value & 0x000000FF) << 24) | ((value & 0x0000FF00) << 8) | + ((value & 0x00FF0000) >> 8) | ((value & 0xFF000000) >> 24); +} + static int of_fdt_is_compatible( const void *blob, unsigned long node, const char *compat) { @@ -146,12 +152,12 @@ int early_init_dt_scan_root(unsigned long node, const char *uname, prop = of_get_flat_dt_prop(node, "#size-cells", NULL); if (prop[0]) /* 注意大小端的转换 */ - dt_root_size_cells = swab32(prop[0]); + dt_root_size_cells = be32_to_cpup(prop[0]); NX_LOG_I("dt_root_size_cells = %x\n", dt_root_size_cells); /* 如果存在#address-cells属性,则重新设置dt_root_addr_cells */ prop = of_get_flat_dt_prop(node, "#address-cells", NULL); if (prop[0]) - dt_root_addr_cells = swab32(prop[0]); + dt_root_addr_cells = be32_to_cpup(prop[0]); NX_LOG_I("dt_root_addr_cells = %x\n", dt_root_addr_cells); /* break now */ @@ -190,11 +196,11 @@ int early_init_dt_scan_memory(unsigned long node, const char *uname, unsigned int *memreg ; while ((endp - reg) >= (dt_root_addr_cells + dt_root_size_cells)) { - swapreg = swab32(reg[0]); + swapreg = be32_to_cpup(reg[0]); *memreg = swapreg; memreg++; NX_LOG_I("dt_root_size_cells = %p\n", swapreg); - swapreg = swab32(reg[1]); + swapreg = be32_to_cpup(reg[1]); *memreg = swapreg; memreg++; NX_LOG_I("dt_root_size_cells = %p\n", swapreg); @@ -269,4 +275,380 @@ void early_init_dt_scan_nodes(void) /* 解析/memory节点,设置内存信息 */ of_scan_flat_dt(early_init_dt_scan_memory, NULL); +} + + + + +static void *unflatten_dt_alloc(void **mem, unsigned long size, + unsigned long align) +{ + void *res; + + *mem = PTR_ALIGN(*mem, align); + res = *mem; + *mem += size; + + return res; +} + +static void populate_properties(const void *blob, + int offset, + void **mem, + struct device_node *np, + const char *nodename, + bool dryrun) +{ + struct property *pp, **pprev = NULL; + int cur; + bool has_name = false; + + pprev = &np->properties; + for (cur = fdt_first_property_offset(blob, offset); + cur >= 0; + cur = fdt_next_property_offset(blob, cur)) { + const NX_U32 *val; + const char *pname; + NX_U32 sz; + + val = fdt_getprop_by_offset(blob, cur, &pname, &sz); + if (!val) { + NX_LOG_I("Cannot locate property at 0x%x\n", cur); + continue; + } + + if (!pname) { + NX_LOG_I("Cannot find property name at 0x%x\n", cur); + continue; + } + + if (!NX_StrCmp(pname, "name")) + has_name = true; + + pp = unflatten_dt_alloc(mem, sizeof(struct property), + DEV_SIZE_CLASS_VALUE); + if (dryrun) + continue; + + /* We accept flattened tree phandles either in + * ePAPR-style "phandle" properties, or the + * legacy "linux,phandle" properties. If both + * appear and have different values, things + * will get weird. Don't do that. + */ + if (!NX_StrCmp(pname, "phandle") || + !NX_StrCmp(pname, "linux,phandle")) { + if (!np->phandle) + np->phandle = be32_to_cpup(val); + } + /* And we process the "ibm,phandle" property + * used in pSeries dynamic device tree + * stuff + */ + if (!NX_StrCmp(pname, "ibm,phandle")) + np->phandle = be32_to_cpup(val); + + pp->name = (char *)pname; + pp->length = sz; + pp->value = (NX_U32 *)val; + *pprev = pp; + pprev = &pp->next; + } + + /* With version 0x10 we may not have the name property, + * recreate it here from the unit name if absent + */ + if (!has_name) { + /* 为没有name属性的节点创建name属性 */ + const char *p = nodename, *ps = p, *pa = NULL; + int len; + + while (*p) { + if ((*p) == '@') + pa = p; + else if ((*p) == '/') + ps = p + 1; + p++; + } + + if (pa < ps) + pa = p; + len = (pa - ps) + 1; + pp = unflatten_dt_alloc(mem, sizeof(struct property) + len, + DEV_SIZE_CLASS_VALUE); + if (!dryrun) { + pp->name = "name"; + pp->length = len; + pp->value = pp + 1; + *pprev = pp; + pprev = &pp->next; + memcpy(pp->value, ps, len - 1); + ((char *)pp->value)[len - 1] = 0; + NX_LOG_I("fixed up name for %s -> %s\n", + nodename, (char *)pp->value); + } + } + if (!dryrun) + *pprev = NULL; + +} + +static struct property * of_find_property(const struct device_node *np, + const char *name, int *lenp) +{ + struct property *pp; + + if (!np) + return NULL; + + for (pp = np->properties; pp; pp = pp->next) { + if (NX_StrCmp(pp->name, name) == 0) { + if (lenp) + *lenp = pp->length; + break; + } + } + + return pp->value; +} + +static bool populate_node(const void *blob, + int offset, + void **mem, + struct device_node *dad, + struct device_node **pnp, + bool dryrun) +{ + struct device_node *np; + const char *pathp; + unsigned int l, allocl; + + pathp = fdt_get_name(blob, offset, &l); + if (!pathp) { + *pnp = NULL; + return false; + } + + allocl = ++l; + + np = unflatten_dt_alloc(mem, sizeof(struct device_node) + allocl, + DEV_SIZE_CLASS_VALUE); + + if (!dryrun) { + char *fn; + np->full_name = fn = ((char *)np) + sizeof(*np); + + memcpy(fn, pathp, l); + + if (dad != NULL) { + np->parent = dad; + np->sibling = dad->child; + dad->child = np; + } + + } + + populate_properties(blob, offset, mem, np, pathp, dryrun); + + if (!dryrun) { + np->name = of_find_property(np, "name", NULL); + if (!np->name) + /* 没有name属性,则name成员置为"" */ + np->name = ""; + } + + *pnp = np; + return true; +} + +static void reverse_nodes(struct device_node *parent) +{ + struct device_node *child, *next; + + /* In-depth first */ + child = parent->child; + while (child) { + reverse_nodes(child); + + child = child->sibling; + } + + /* Reverse the nodes in the child list */ + child = parent->child; + parent->child = NULL; + while (child) { + next = child->sibling; + + child->sibling = parent->child; + parent->child = child; + child = next; + } +} + +static int unflatten_dt_nodes(const void *blob, + void *mem, + struct device_node *dad, + struct device_node **nodepp) +{ + struct device_node *root; + int offset = 0, depth = 0, initial_depth = 0; +#define FDT_MAX_DEPTH 64 + struct device_node *nps[FDT_MAX_DEPTH]; + void *base = mem; + bool dryrun = !base; + + if (nodepp) + *nodepp = NULL; + + /* + * We're unflattening device sub-tree if @dad is valid. There are + * possibly multiple nodes in the first level of depth. We need + * set @depth to 1 to make fdt_next_node() happy as it bails + * immediately when negative @depth is found. Otherwise, the device + * nodes except the first one won't be unflattened successfully. + */ + if (dad) + depth = initial_depth = 1; + + root = dad; + nps[depth] = dad; + + for (offset = 0; + offset >= 0 && depth >= initial_depth; + offset = fdt_next_node(blob, offset, &depth)) { + if (depth >= FDT_MAX_DEPTH) + { + NX_LOG_I("depth is false\n"); + return 0; + } + + + if (!populate_node(blob, offset, &mem, nps[depth], + &nps[depth+1], dryrun)) + return mem - base; + + if (!dryrun && nodepp && !*nodepp) + *nodepp = nps[depth+1]; + if (!dryrun && !root) + root = nps[depth+1]; + } + + if (offset < 0 && offset != -FDT_ERR_NOTFOUND) { + NX_LOG_I("Error %d processing FDT\n", offset); + return 0; + } + + /* + * Reverse the child list. Some drivers assumes node order matches .dts + * node order + */ + if (!dryrun) + reverse_nodes(root); + + return mem - base; +} + + + +void *__unflatten_device_tree(const void *blob, + struct device_node *dad, + struct device_node **mynodes, + void *(*dt_alloc)(NX_Size size), + bool detached) +{ + int size; + void *mem; + /* 打印一些信息并校验DTB文件 */ + NX_LOG_I(" -> unflatten_device_tree()\n"); + + if (!blob) { + NX_LOG_I("No device tree pointer\n"); + return NULL; + } + + NX_LOG_I("Unflattening device tree:\n"); + NX_LOG_I("magic: %08x\n", fdt_magic(blob)); + NX_LOG_I("size: %08x\n", fdt_totalsize(blob)); + NX_LOG_I("version: %08x\n", fdt_version(blob)); + + if (fdt_check_header(blob)) { + NX_LOG_I("Invalid device tree blob header\n"); + return NULL; + } + + /* First pass, scan for size */ + /* 第一次调用unflatten_dt_nodes,计算整个device_node树包括属性所需的全部内存 */ + size = unflatten_dt_nodes(blob, NULL, dad, NULL); + if (size < 0) + return NULL; + + size = NX_ALIGN_UP(size, 4); + NX_LOG_I(" size is %d, allocating...\n", size); + + /* Allocate memory for the expanded device tree */ + /* 为整个device_node树申请内存 */ + mem = dt_alloc(size + 4); + if (!mem) + return NULL; + /* 将这段内存清0 */ + memset(mem, 0, size); + /* 在这段内存的末尾填充0xdeadbeef(大端模式) */ + *(NX_U32 *)(mem + size) = cpu_to_be32(0xdeadbeef); + + NX_LOG_I(" unflattening %p...\n", mem); + + NX_LOG_I("mem+size: %08x\n", + be32_to_cpup(*(NX_U32 *)(mem + size))); + + /* Second pass, do actual unflattening */ + /* 真正创建device_node树 */ + unflatten_dt_nodes(blob, mem, dad, mynodes); + /* 根据之前在mem内存末尾填充的内容检查有没有踩内存 */ + if ( be32_to_cpup(*(NX_U32 *)(mem + size)) != 0xdeadbeef) + NX_LOG_I("End of tree marker overwritten: %08x\n", + be32_to_cpup(*(NX_U32 *)(mem + size))); + + NX_LOG_I(" unflattening %p...\n", mem); + NX_LOG_I(" <- unflatten_device_tree()\n"); + + + struct device_node *node = (struct device_node *)mem; + NX_LOG_I(" test device_node :%s\n",node->properties->value); + NX_LOG_I(" test device_node :%d\n",node->properties->length); + NX_LOG_I(" test device_node :%s\n",node->child->sibling->name); + + + return mem; +} + + + +void unflatten_device_tree(void) +{ + + /* 根据DTB构建device_node树 */ + __unflatten_device_tree(initial_boot_params, NULL, &of_root, + NX_HeapAlloc, false); + + /* Get pointer to "/chosen" and "/aliases" nodes for use everywhere */ + /* + 设置of_aliases指向/aliases节点对应的device_node + 设置of_chosen指向/chosen节点对应的device_node + + 对于of_chosen: + 从其属性中找到属性名为stdout-path或linux,stdout-path的属性的属性值, + 并根据该属性值获得标准输出设备对应的device_node,将其赋给of_stdout + + 对于of_aliases: + 遍历其属性,跳过name、phandle、linux,phandle,对于其他的属性,如果 + 该属性的属性值指示了一个device_node,那么为这个device_node创建一个 + struct alias_prop,并添加到aliases_lookup链表。 + + 举一个例子来说,假设一个别名属性为i2c1 = "xxx",并且"xxx"指示了一个 + device_node,那么为其创建的alias_prop的np成员指向相应的device_node; + id成员为1,零长数组stem指向字符串"i2c"(数字部分作为id去掉了)。 + */ + //of_alias_scan(early_init_dt_alloc_memory_arch); + /* 看名字是用作测试的,具体不清楚 */ + //unittest_unflatten_overlay_base(); } \ No newline at end of file diff --git a/src/include/base/defines.h b/src/include/base/defines.h index c87b247..14b2b5c 100644 --- a/src/include/base/defines.h +++ b/src/include/base/defines.h @@ -64,7 +64,7 @@ */ #define NX_ALIGN_UP(x, y) (((x) + ((y) - 1)) & (~((y) - 1))) #define NX_ALIGN_DOWN(x, y) ((x) & ~((y) - 1)) - +#define PTR_ALIGN(p, a) ((typeof(p))NX_ALIGN_UP((unsigned long)(p), (a))) /** * Offset of struct */ diff --git a/src/include/base/of.h b/src/include/base/of.h index ce364d3..ee1484b 100644 --- a/src/include/base/of.h +++ b/src/include/base/of.h @@ -5,10 +5,31 @@ #define COMMAND_LINE_SIZE 256 #define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1 #define OF_ROOT_NODE_ADDR_CELLS_DEFAULT 1 - +typedef unsigned int phandle; const void * of_flat_dt_match_machine(const void *default_match, const void * (*get_next_compat)(const char * const**)); void early_init_dt_scan_nodes(void); char boot_command_line[COMMAND_LINE_SIZE]; +void unflatten_device_tree(void); + +struct property { + char *name; + int length; + void *value; + struct property *next; +}; + +struct device_node { + const char *name; //来自节点的name属性,如果没有该属性,则设为"NULL" + phandle phandle; + const char *full_name; //节点的名字,node-name{@unit-address} + struct property *properties; //节点的属性 + struct property *deadprops; /* removed properties */ + struct device_node *parent; //节点的父亲 + struct device_node *child; //节点的孩子(子节点) + struct device_node *sibling; //节点的兄弟(同级节点) +}; + +struct device_node *of_root; #endif \ No newline at end of file diff --git a/src/init/main.c b/src/init/main.c index 871d8c5..1bd0a8e 100644 --- a/src/init/main.c +++ b/src/init/main.c @@ -23,6 +23,7 @@ #include #include #include +#include /** * see http://asciiarts.net @@ -104,6 +105,9 @@ int NX_Main(NX_UArch coreId) /* init multi core */ NX_SMP_Init(coreId); + /*根据DTB创建device_node树*/ + unflatten_device_tree(); + /* init thread */ NX_ThreadsInit(); -- Gitee From d1847310b86ba3e82cc80fdd67a7e828ade75269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8D=E6=A0=91=E7=9A=84=E6=97=B6=E8=8A=82?= <1477383589@qq.com> Date: Mon, 28 Aug 2023 17:37:29 +0800 Subject: [PATCH 5/8] add platform.c --- src/arch/x86/kernel/setup.c | 2 +- src/arch/x86/utils/string.c | 15 +++ src/drivers/of/fdt.c | 13 ++- src/drivers/of/platform.c | 203 +++++++++++++++++++++++++++++++++ src/include/base/of.h | 45 ++++++++ src/include/base/string.h | 4 + src/init/main.c | 3 + src/platform/i386/dts/i386.dtb | Bin 319 -> 399 bytes src/platform/i386/dts/i386.dts | 9 ++ 9 files changed, 288 insertions(+), 6 deletions(-) create mode 100644 src/drivers/of/platform.c diff --git a/src/arch/x86/kernel/setup.c b/src/arch/x86/kernel/setup.c index b1f2afc..2ead3af 100644 --- a/src/arch/x86/kernel/setup.c +++ b/src/arch/x86/kernel/setup.c @@ -111,7 +111,7 @@ void setup_arch(){ /*根据DTB创建device_node树*/ // unflatten_device_tree(); - + print_dtb_magic(__dtb_start); diff --git a/src/arch/x86/utils/string.c b/src/arch/x86/utils/string.c index 836b7f9..88cbf0a 100644 --- a/src/arch/x86/utils/string.c +++ b/src/arch/x86/utils/string.c @@ -150,3 +150,18 @@ char *NX_StrCat(char *strDest , const char *strSrc) return strDest; } + +char *NX_StrChrNul(const char *s, int c) +{ + c = (unsigned char)c; + if (!c) return (char *)s + NX_StrLen(s); + + for (; *s && *(unsigned char *)s != c; s++); + return (char *)s; +} + +char *NX_Kbasename(const char *path) +{ + const char *tail = NX_StrChr(path, '/'); + return tail ? tail + 1 : path; +} \ No newline at end of file diff --git a/src/drivers/of/fdt.c b/src/drivers/of/fdt.c index 1491443..557c17a 100644 --- a/src/drivers/of/fdt.c +++ b/src/drivers/of/fdt.c @@ -6,6 +6,7 @@ #include #include extern void *initial_boot_params; +extern struct device_node *of_root; NX_IMPORT NX_U8 __dtb_end[]; unsigned int dt_root_addr_cells; unsigned int dt_root_size_cells; @@ -393,7 +394,7 @@ static void populate_properties(const void *blob, } -static struct property * of_find_property(const struct device_node *np, +struct property * of_find_property(const struct device_node *np, const char *name, int *lenp) { struct property *pp; @@ -405,11 +406,11 @@ static struct property * of_find_property(const struct device_node *np, if (NX_StrCmp(pp->name, name) == 0) { if (lenp) *lenp = pp->length; - break; + return pp->value; } } - return pp->value; + return NULL; } static bool populate_node(const void *blob, @@ -617,7 +618,7 @@ void *__unflatten_device_tree(const void *blob, NX_LOG_I(" test device_node :%d\n",node->properties->length); NX_LOG_I(" test device_node :%s\n",node->child->sibling->name); - + of_root = node; return mem; } @@ -651,4 +652,6 @@ void unflatten_device_tree(void) //of_alias_scan(early_init_dt_alloc_memory_arch); /* 看名字是用作测试的,具体不清楚 */ //unittest_unflatten_overlay_base(); -} \ No newline at end of file +} + + diff --git a/src/drivers/of/platform.c b/src/drivers/of/platform.c new file mode 100644 index 0000000..86a6ee5 --- /dev/null +++ b/src/drivers/of/platform.c @@ -0,0 +1,203 @@ +#include +#include +#include +#include +#include +#include +#include + + + + +static int platform_match(struct device *dev, struct device_driver *drv) +{ + return NULL; +} + +struct bus_type { + const char *name; + const char *dev_name; + struct device *dev_root; + + int (*match)(struct device *dev, struct device_driver *drv); + int (*probe)(struct device *dev); + int (*remove)(struct device *dev); + struct list_head* list_devices; + struct list_head* list_drivers; +} *platform_bus_type; + +static struct device_node *__of_get_next_child(const struct device_node *node, + struct device_node *prev) +{ + struct device_node *next; + + if (!node) + return NULL; + + next = prev ? prev->sibling : node->child; + + return next; +} + +#define __for_each_child_of_node(parent, child) \ + for (child = __of_get_next_child(parent, NULL); child != NULL; \ + child = __of_get_next_child(parent, child)) + +struct device_node *__of_find_node_by_path(struct device_node *parent, + const char *path) +{ + struct device_node *child; + int len; + const char *sfir; + const char *ssec; + sfir = NX_StrChrNul(path, "/"); + ssec = NX_StrChrNul(path, ":"); + len = (ssec - sfir) ? (ssec -path ):(sfir-path); + if (!len) + return NULL; + + __for_each_child_of_node(parent, child) { + const char *name = NX_Kbasename(child->full_name); + if (NX_StrCmpN(path, name, len) == 0 && (NX_StrLen(name) == len)) + return child; + } + return NULL; +} + +struct device_node * of_find_node_by_full_path(struct device_node *node, + const char *path) +{ + const char *separator = NX_StrChr(path, ':'); + + if (NX_StrCmp(path, "/") == 0) + return of_root; + + while (node && *path == '/') { + struct device_node *tmp = node; + + path++; /* Increment past '/' delimiter */ + node = __of_find_node_by_path(node, path); + path = NX_StrChrNul(path, '/'); + if (separator && separator < path) + break; + } + return node; +} + + + +void INIT_LIST_HEAD(struct list_head *list) { + list->next = list; + list->prev = list; +} + +void list_add(struct list_head *new, struct list_head *prev, struct list_head *next) { + next->prev = new; + new->next = next; + new->prev = prev; + prev->next = new; +} + +void insertAtHead(struct list_head *head, struct platform_device *newNode) { + list_add(newNode->list, head, head->next); + NX_LOG_I("添加了一次:\n"); + NX_LOG_I("head:%p:\n,",head); + NX_LOG_I("newNode:%p:\n,",newNode); + NX_LOG_I("newNode->list:%p:\n,",newNode->list); + NX_LOG_I("newNode->platform_addr:%p:\n,",newNode->list->platform_addr); +} + +void display(struct list_head *head) { + struct list_head *pos; + struct platform_device *node; + for (pos = head->next; pos != head; pos = pos->next) { + node = (struct platform_device *)(pos->platform_addr); + NX_LOG_I("display platform_device:%s ", node->of_node->name); + NX_LOG_I("pos->platform_addr:%p\n",pos->platform_addr); + } + NX_LOG_I("end display platform_device:\n"); +} + + + +static struct platform_device *of_platform_device_create_pdata( + struct device_node *np, + struct list_head * head) +{ + struct platform_device *dev; + + dev = NX_HeapAlloc(sizeof(*dev)+1); + dev->of_node = np; + dev->list = NX_HeapAlloc(sizeof(struct list_head)); + dev->list->platform_addr = dev; + insertAtHead(head, dev); + + return dev; + +} + + +const void *of_get_property(const struct device_node *np, const char *name, + int *lenp) +{ + struct property *pp = of_find_property(np, name, lenp); + + return pp ? pp->value : NULL; +} +/* + bus : 该节点可能需要创建platform_device + matches : 如果bus节点的compatible属性能和matches匹配上,说明其孩子节点也要创建platform_device(比如compatible的值为"simple-bus") + strict : bus节点是否一定要具备compatibile属性 +*/ +static int of_platform_bus_create(struct device_node *bus, + struct list_head * head,bool strict) +{ + + struct platform_device *dev; + NX_LOG_I(" uestc\n"); + NX_LOG_I(" device_node: %s\n", bus->name); + /* 如果要求必须有compatible属性,那么对于没有该属性的节点直接返回 */ + if (strict && (!of_get_property(bus, "compatible", NULL))) { + NX_LOG_I(" no compatible"); + return 0; + } + + /* 为bus节点创建platform_device */ + dev = of_platform_device_create_pdata(bus, head); + +} + + + +/* + root = NULL + matches = of_default_bus_match_table + lookup = NULL + parent = NULL +*/ +int of_platform_populate(struct device_node *root, + struct list_head * head) +{ + struct device_node *child; + int rc = 0; + /* 传入的root为NULL,因此这里执行of_find_node_by_path("/")获得根节点 */ + root = root ? of_root : of_find_node_by_full_path(of_root,"/"); + NX_LOG_I(" starting at: %pOF\n", root); + + __for_each_child_of_node(root,child){ + /* 为根节点的孩子节点创建platform_device(不是所有孩子节点,需要符合一定的条件) */ + rc = of_platform_bus_create(child, head, true); + } + + return rc; +} + + +int of_platform_default_populate(){ + struct list_head * head ; + head = NX_HeapAlloc(sizeof(*head)+1); + platform_bus_type->list_devices = head; + INIT_LIST_HEAD(head); + of_platform_populate(of_root,head); + display(platform_bus_type->list_devices); +} diff --git a/src/include/base/of.h b/src/include/base/of.h index ee1484b..9bb2ff5 100644 --- a/src/include/base/of.h +++ b/src/include/base/of.h @@ -5,12 +5,16 @@ #define COMMAND_LINE_SIZE 256 #define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1 #define OF_ROOT_NODE_ADDR_CELLS_DEFAULT 1 +#include + +/*platform链表注册实现,目前就用name+device_node结构体实现*/ typedef unsigned int phandle; const void * of_flat_dt_match_machine(const void *default_match, const void * (*get_next_compat)(const char * const**)); void early_init_dt_scan_nodes(void); char boot_command_line[COMMAND_LINE_SIZE]; void unflatten_device_tree(void); +int of_platform_default_populate(); struct property { char *name; @@ -29,7 +33,48 @@ struct device_node { struct device_node *child; //节点的孩子(子节点) struct device_node *sibling; //节点的兄弟(同级节点) }; +struct property * of_find_property(const struct device_node *np, + const char *name, int *lenp); struct device_node *of_root; +struct list_head { + struct list_head *next, *prev; + unsigned int *platform_addr; +}; + + + + +struct device_driver { + const char *name; + struct bus_type *bus; + + const char *mod_name; /* used for built-in modules */ +}; + + +struct platform_device { + const char *name; + int id; + struct device_node *of_node; + unsigned int num_resources; + struct list_head *list; + +}; + +static inline struct device_node *of_node_get(struct device_node *node) +{ + return node; +} + +static inline struct device_node *of_find_node_by_path(const char *path) +{ + return of_find_node_opts_by_path(path, NULL); +} + + + +#define for_each_property_of_node(dn, pp) \ + for (pp = dn->properties; pp != NULL; pp = pp->next) #endif \ No newline at end of file diff --git a/src/include/base/string.h b/src/include/base/string.h index 6367a19..ac54573 100644 --- a/src/include/base/string.h +++ b/src/include/base/string.h @@ -32,7 +32,11 @@ unsigned long NX_StrToUL(const char * nptr, char ** endptr, int base); char * NX_StrCat(char * strDest , const char * strSrc); char * NX_StrDup(const char *s); +char *NX_StrChrNul(const char *s, int c); NX_Size NX_StrCatN(char * dest, const char * src, NX_Size n); +char *NX_Kbasename(const char *path); + + #endif /* __UTILS_STRING__ */ \ No newline at end of file diff --git a/src/init/main.c b/src/init/main.c index 1bd0a8e..15d1d74 100644 --- a/src/init/main.c +++ b/src/init/main.c @@ -108,6 +108,9 @@ int NX_Main(NX_UArch coreId) /*根据DTB创建device_node树*/ unflatten_device_tree(); + /*构建platform总线*/ + of_platform_default_populate(); + /* init thread */ NX_ThreadsInit(); diff --git a/src/platform/i386/dts/i386.dtb b/src/platform/i386/dts/i386.dtb index c83845eb119cc66e60d80620965c070b9c4c5094..38030e08a962f858f39ad7f68656626fb5450d93 100644 GIT binary patch delta 106 zcmdnb)Xyw%f%o5A1_s7{1_lNTARRDKK#Yk|Vxq=n4@UO@Pk*2=2rvUND~N$4#suUt ZX6BWo78R8ilz=25>bO7*B=L!#eE=kl6bt|W delta 34 ocmeBY-p?d(f%o5A1_nlZ1_lNTAk8pQK#Ymu#6*qDlf4;T0G_o7)c^nh diff --git a/src/platform/i386/dts/i386.dts b/src/platform/i386/dts/i386.dts index d12c273..26f9951 100644 --- a/src/platform/i386/dts/i386.dts +++ b/src/platform/i386/dts/i386.dts @@ -14,5 +14,14 @@ reg = <0x00800000 0x00800000 0x01000000 0x0F7A0200 0x107A0200 0x107A0200>; }; + GPIO{ + compatible = "GPIO"; + }; + + interrupt{ + compatible = "interrupt"; + }; + + }; -- Gitee From eb958c6a569d76e7cad53a270fecb86a913d900c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8D=E6=A0=91=E7=9A=84=E6=97=B6=E8=8A=82?= <1477383589@qq.com> Date: Wed, 6 Sep 2023 22:29:22 +0800 Subject: [PATCH 6/8] feat:add rtc platform_driver_register --- src/arch/x86/kernel/pic.c | 24 ++--- src/arch/x86/kernel/setup.c | 21 ++-- src/drivers/block/romdisk.c | 5 - src/drivers/of/fdt.c | 108 +++++++++++--------- src/drivers/of/platform.c | 171 +++++++++++++++++++++++++++++--- src/include/base/driver.h | 10 +- src/include/base/of.h | 21 ++-- src/io/driver.c | 28 ++++++ src/platform/i386/drivers/rtc.c | 52 +++++++++- src/platform/i386/dts/i386.dtb | Bin 399 -> 452 bytes src/platform/i386/dts/i386.dts | 8 +- 11 files changed, 345 insertions(+), 103 deletions(-) diff --git a/src/arch/x86/kernel/pic.c b/src/arch/x86/kernel/pic.c index c174301..aa1bf72 100644 --- a/src/arch/x86/kernel/pic.c +++ b/src/arch/x86/kernel/pic.c @@ -17,22 +17,22 @@ void PIC_Init(void) { /* mask all interrupts */ - IO_Out8(PIC_MASTER_CTLMASK, 0xff); - IO_Out8(PIC_SLAVE_CTLMASK, 0xff); + IO_Out8(PIC_MASTER_CTLMASK, 0xff);//禁用所有中断 + IO_Out8(PIC_SLAVE_CTLMASK, 0xff);//禁用所有中断 - IO_Out8(PIC_MASTER_CTL, 0x11); - IO_Out8(PIC_MASTER_CTLMASK, 0x20); - IO_Out8(PIC_MASTER_CTLMASK, 1 << 2); - IO_Out8(PIC_MASTER_CTLMASK, 0x01); + IO_Out8(PIC_MASTER_CTL, 0x11);//设置边沿触发模式 + IO_Out8(PIC_MASTER_CTLMASK, 0x20);//IRQ0-7 由INT 20-27接受 + IO_Out8(PIC_MASTER_CTLMASK, 1 << 2);//PIC0 由IRQ2连接 + IO_Out8(PIC_MASTER_CTLMASK, 0x01);//无缓冲区模式 - IO_Out8(PIC_SLAVE_CTL, 0x11); - IO_Out8(PIC_SLAVE_CTLMASK, 0x28); - IO_Out8(PIC_SLAVE_CTLMASK, 2); - IO_Out8(PIC_SLAVE_CTLMASK, 0x01); + IO_Out8(PIC_SLAVE_CTL, 0x11);//设置边沿出发模式 + IO_Out8(PIC_SLAVE_CTLMASK, 0x28);//IRQ8-15 由INT 28-2f接收 + IO_Out8(PIC_SLAVE_CTLMASK, 2);//PIC0 由IRQ2连接 + IO_Out8(PIC_SLAVE_CTLMASK, 0x01);//无缓冲区模式 /* mask all interrupts */ - IO_Out8(PIC_MASTER_CTLMASK, 0xff); - IO_Out8(PIC_SLAVE_CTLMASK, 0xff); + IO_Out8(PIC_MASTER_CTLMASK, 0xff);//PIC1以外全部禁止 + IO_Out8(PIC_SLAVE_CTLMASK, 0xff);//禁用所有中断 } void PIC_Enable(NX_U32 irq) diff --git a/src/arch/x86/kernel/setup.c b/src/arch/x86/kernel/setup.c index 2ead3af..da53d64 100644 --- a/src/arch/x86/kernel/setup.c +++ b/src/arch/x86/kernel/setup.c @@ -19,6 +19,12 @@ typedef struct { } dtb_header; +#define MODEL_TAG "setup" +#define key_loge(fmt,arg...)\ + NX_LOG_E("E/%s <%s %4d>"fmt,MODEL_TAG, __FUNCTION__, __LINE__, ##arg) + +#define key_logi(fmt,arg...)\ + NX_LOG_I("I/%s <%s %4d>"fmt,MODEL_TAG, __FUNCTION__, __LINE__, ##arg) static const char * const arm_dt_compat[] = { "st,stm32mp157", NULL, @@ -49,9 +55,9 @@ void print_dtb_magic(const void* dtb_address) { // 将magic值转换为16进制并打印 - NX_LOG_I("dtb_address: %p\n", dtb_address); - NX_LOG_I("Magic: 0x%x\n", magic); - NX_LOG_I("off_dt_struct: 0x%x\n", header->off_dt_struct); + key_logi("dtb_address: %p\n", dtb_address); + key_logi("Magic: 0x%x\n", magic); + key_logi("off_dt_struct: 0x%x\n", header->off_dt_struct); } _Bool early_init_dt_verify(NX_U8* dtb_address){ @@ -80,7 +86,7 @@ const struct machine_desc * setup_machine_fdt(NX_U8* dt_phys) const struct machine_desc *mdesc, *mdesc_best = 0; if(!dt_phys||!early_init_dt_verify(dt_phys)) return false; - NX_LOG_I("Magic is true"); + key_logi("Magic is true"); mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach); /*获取运行时的配置信息*/ @@ -91,8 +97,7 @@ const struct machine_desc * setup_machine_fdt(NX_U8* dt_phys) void setup_arch(){ - // NX_LOG_I("UESTC\n"); - NX_Printf("UESTC\n"); + const struct machine_desc *mdesc; const struct machine_desc*hdmdesc = (const struct machine_desc*)__arch_info_begin; initial_boot_params = (void *)__dtb_start; @@ -105,8 +110,8 @@ void setup_arch(){ /*这两个打印函数必须存在,否则会出现bug*/ - NX_LOG_I("_mach_desc_i386: %s\n",_mach_desc_i386); - NX_LOG_I("_mach_desc_arm: %s\n",_mach_desc_arm); + key_logi("_mach_desc_i386: %s\n",_mach_desc_i386); + key_logi("_mach_desc_arm: %s\n",_mach_desc_arm); /*根据DTB创建device_node树*/ // unflatten_device_tree(); diff --git a/src/drivers/block/romdisk.c b/src/drivers/block/romdisk.c index 9809ee3..f437803 100644 --- a/src/drivers/block/romdisk.c +++ b/src/drivers/block/romdisk.c @@ -24,8 +24,6 @@ NX_IMPORT NX_U8 __NX_RomdiskStart[]; NX_IMPORT NX_U8 __NX_RomdiskEnd[]; -NX_IMPORT NX_U8 __dtb_start[]; -NX_IMPORT NX_U8 __dtb_end[]; NX_PRIVATE NX_Size romdiskSize = 0; NX_PRIVATE NX_Size dtbSize = 0; @@ -91,9 +89,6 @@ NX_PRIVATE void RomdiskDriverInit(void) } romdiskSize = (NX_Size)(__NX_RomdiskEnd - __NX_RomdiskStart); - dtbSize = (NX_Size)(__dtb_end - __dtb_start); - //NX_Printf("__dtb_start %p", __dtb_start); - NX_Printf("__dtb_start %p", __dtb_start); NX_LOG_I("romdisk size %x", romdiskSize); //NX_Printf("dtb Size %x", dtbSize); NX_LOG_I("init %s driver success!", DRV_NAME); diff --git a/src/drivers/of/fdt.c b/src/drivers/of/fdt.c index 557c17a..0179e63 100644 --- a/src/drivers/of/fdt.c +++ b/src/drivers/of/fdt.c @@ -17,7 +17,16 @@ unsigned int normalSize; unsigned int userBase; unsigned int userSize; #define DEV_SIZE_CLASS_VALUE 16 -static unsigned int be32_to_cpup(unsigned int x) + +#define MODEL_TAG "fdt" +#define key_loge(fmt,arg...)\ + NX_LOG_E("E/%s <%s %4d>"fmt,MODEL_TAG, __FUNCTION__, __LINE__, ##arg) + +#define key_logi(fmt,arg...)\ + NX_LOG_I("I/%s <%s %4d>"fmt,MODEL_TAG, __FUNCTION__, __LINE__, ##arg) + + +unsigned int be32_to_cpup(unsigned int x) { return ((x & 0xFF000000) >> 24) | ((x & 0x00FF0000) >> 8) | ((x & 0x0000FF00) << 8) | ((x & 0x000000FF) << 24); @@ -36,7 +45,7 @@ static int of_fdt_is_compatible( unsigned long l, score = 0; cp = fdt_getprop(blob, node, "compatible", &cplen); - NX_LOG_I("#compatible-test:%s\n", (char *)cp); + key_logi("#compatible-test:%s\n", (char *)cp); if (cp == NULL) return 0; @@ -93,7 +102,7 @@ const void *of_flat_dt_match_machine(const void *default_match, best_data = data; best_score = score; } - NX_LOG_I(" score: %d\n", score); + key_logi(" score: %d\n", score); } return best_data; } @@ -113,7 +122,7 @@ int early_init_dt_scan_chosen(unsigned long node, const char *uname, const char *test; const void *rng_seed; - NX_LOG_I("search \"chosen\", depth: %d, uname: %s\n", depth, uname); + key_logi("search \"chosen\", depth: %d, uname: %s\n", depth, uname); /* 如果遍历到的不是作为根节点的子节点的chosen节点,则指示of_scan_flat_dt继续遍历下一个节点 */ if (depth != 1 || !data || @@ -129,9 +138,9 @@ int early_init_dt_scan_chosen(unsigned long node, const char *uname, /* 将启动参数拷贝到boot_command_line */ NX_StrCopyN(data, p, (l < COMMAND_LINE_SIZE) ? l : COMMAND_LINE_SIZE); - NX_LOG_I("Command line is: %s\n", (char *)data); - NX_LOG_I(" 字符串长度: %d\n", l); - NX_LOG_I(" 字符串长度: %s\n", (char *)p); + key_logi("Command line is: %s\n", (char *)data); + key_logi(" 字符串长度: %d\n", l); + key_logi(" 字符串长度: %s\n", (char *)p); /* break now */ /* 返回非0值,指示of_scan_flat_dt停止遍历 */ @@ -154,12 +163,12 @@ int early_init_dt_scan_root(unsigned long node, const char *uname, if (prop[0]) /* 注意大小端的转换 */ dt_root_size_cells = be32_to_cpup(prop[0]); - NX_LOG_I("dt_root_size_cells = %x\n", dt_root_size_cells); + key_logi("dt_root_size_cells = %x\n", dt_root_size_cells); /* 如果存在#address-cells属性,则重新设置dt_root_addr_cells */ prop = of_get_flat_dt_prop(node, "#address-cells", NULL); if (prop[0]) dt_root_addr_cells = be32_to_cpup(prop[0]); - NX_LOG_I("dt_root_addr_cells = %x\n", dt_root_addr_cells); + key_logi("dt_root_addr_cells = %x\n", dt_root_addr_cells); /* break now */ /* 停止遍历 */ @@ -192,7 +201,7 @@ int early_init_dt_scan_memory(unsigned long node, const char *uname, endp = reg +reglength; /* 获取hotpluggable属性值(指示是否可以热插拔) */ hotpluggable = of_get_flat_dt_prop(node, "hotpluggable", NULL); - NX_LOG_I("memory scan node %s, reg size %d,\n", uname, l); + key_logi("memory scan node %s, reg size %d,\n", uname, l); /* 遍历reg属性记录的一块或多块内存 */ unsigned int *memreg ; while ((endp - reg) >= (dt_root_addr_cells + dt_root_size_cells)) { @@ -200,11 +209,11 @@ int early_init_dt_scan_memory(unsigned long node, const char *uname, swapreg = be32_to_cpup(reg[0]); *memreg = swapreg; memreg++; - NX_LOG_I("dt_root_size_cells = %p\n", swapreg); + key_logi("dt_root_size_cells = %p\n", swapreg); swapreg = be32_to_cpup(reg[1]); *memreg = swapreg; memreg++; - NX_LOG_I("dt_root_size_cells = %p\n", swapreg); + key_logi("dt_root_size_cells = %p\n", swapreg); reg+=2; } memreg = memreg - reglength ; @@ -215,12 +224,12 @@ int early_init_dt_scan_memory(unsigned long node, const char *uname, userBase = memreg[4]; userSize = memreg[5]; - NX_LOG_I("MEM_DMA_BASE = %p\n", MEM_DMA_BASE); - NX_LOG_I("MEM_DMA_SIZE = %p\n", MEM_DMA_SIZE); - NX_LOG_I("MEM_NORMAL_BASE = %p\n", MEM_NORMAL_BASE); - NX_LOG_I("normalSize = %p\n", normalSize); - NX_LOG_I("userBase = %p\n", userBase); - NX_LOG_I("userSize = %p\n", userSize); + key_logi("MEM_DMA_BASE = %p\n", MEM_DMA_BASE); + key_logi("MEM_DMA_SIZE = %p\n", MEM_DMA_SIZE); + key_logi("MEM_NORMAL_BASE = %p\n", MEM_NORMAL_BASE); + key_logi("normalSize = %p\n", normalSize); + key_logi("userBase = %p\n", userBase); + key_logi("userSize = %p\n", userSize); return 0; } @@ -252,9 +261,9 @@ int of_scan_flat_dt(int (*it)(unsigned long node, depth : 节点的深度(层次) data : 参数data,取决于调用者 */ - NX_LOG_I("offset = %d\n", offset); - NX_LOG_I("pathp = %s\n", (char *)pathp); - NX_LOG_I("depth = %d\n", depth); + key_logi("offset = %d\n", offset); + key_logi("pathp = %s\n", (char *)pathp); + key_logi("depth = %d\n", depth); rc = it(offset, pathp, depth, data); } return rc; @@ -268,7 +277,7 @@ void early_init_dt_scan_nodes(void) /* 获取/chosen节点的信息 */ rc = of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line); if (!rc) - NX_LOG_I("No chosen node found, continuing without\n"); + key_logi("No chosen node found, continuing without\n"); /* Initialize {size,address}-cells info */ /* 获取根节点的{size,address}-cells属性值,之后才方便解析根节点的子节点的reg属性 */ @@ -314,12 +323,12 @@ static void populate_properties(const void *blob, val = fdt_getprop_by_offset(blob, cur, &pname, &sz); if (!val) { - NX_LOG_I("Cannot locate property at 0x%x\n", cur); + key_logi("Cannot locate property at 0x%x\n", cur); continue; } if (!pname) { - NX_LOG_I("Cannot find property name at 0x%x\n", cur); + key_logi("Cannot find property name at 0x%x\n", cur); continue; } @@ -385,7 +394,7 @@ static void populate_properties(const void *blob, pprev = &pp->next; memcpy(pp->value, ps, len - 1); ((char *)pp->value)[len - 1] = 0; - NX_LOG_I("fixed up name for %s -> %s\n", + key_logi("fixed up name for %s -> %s\n", nodename, (char *)pp->value); } } @@ -406,7 +415,7 @@ struct property * of_find_property(const struct device_node *np, if (NX_StrCmp(pp->name, name) == 0) { if (lenp) *lenp = pp->length; - return pp->value; + return pp; } } @@ -422,7 +431,7 @@ static bool populate_node(const void *blob, { struct device_node *np; const char *pathp; - unsigned int l, allocl; + unsigned int l, allocl,ret; pathp = fdt_get_name(blob, offset, &l); if (!pathp) { @@ -452,12 +461,11 @@ static bool populate_node(const void *blob, populate_properties(blob, offset, mem, np, pathp, dryrun); if (!dryrun) { - np->name = of_find_property(np, "name", NULL); + np->name = of_get_property(np, "name", NULL); if (!np->name) /* 没有name属性,则name成员置为"" */ np->name = ""; } - *pnp = np; return true; } @@ -519,7 +527,7 @@ static int unflatten_dt_nodes(const void *blob, offset = fdt_next_node(blob, offset, &depth)) { if (depth >= FDT_MAX_DEPTH) { - NX_LOG_I("depth is false\n"); + key_logi("depth is false\n"); return 0; } @@ -535,7 +543,7 @@ static int unflatten_dt_nodes(const void *blob, } if (offset < 0 && offset != -FDT_ERR_NOTFOUND) { - NX_LOG_I("Error %d processing FDT\n", offset); + key_logi("Error %d processing FDT\n", offset); return 0; } @@ -560,20 +568,20 @@ void *__unflatten_device_tree(const void *blob, int size; void *mem; /* 打印一些信息并校验DTB文件 */ - NX_LOG_I(" -> unflatten_device_tree()\n"); + key_logi(" -> unflatten_device_tree()\n"); if (!blob) { - NX_LOG_I("No device tree pointer\n"); + key_logi("No device tree pointer\n"); return NULL; } - NX_LOG_I("Unflattening device tree:\n"); - NX_LOG_I("magic: %08x\n", fdt_magic(blob)); - NX_LOG_I("size: %08x\n", fdt_totalsize(blob)); - NX_LOG_I("version: %08x\n", fdt_version(blob)); + key_logi("Unflattening device tree:\n"); + key_logi("magic: %08x\n", fdt_magic(blob)); + key_logi("size: %08x\n", fdt_totalsize(blob)); + key_logi("version: %08x\n", fdt_version(blob)); if (fdt_check_header(blob)) { - NX_LOG_I("Invalid device tree blob header\n"); + key_logi("Invalid device tree blob header\n"); return NULL; } @@ -584,7 +592,7 @@ void *__unflatten_device_tree(const void *blob, return NULL; size = NX_ALIGN_UP(size, 4); - NX_LOG_I(" size is %d, allocating...\n", size); + key_logi(" size is %d, allocating...\n", size); /* Allocate memory for the expanded device tree */ /* 为整个device_node树申请内存 */ @@ -596,9 +604,9 @@ void *__unflatten_device_tree(const void *blob, /* 在这段内存的末尾填充0xdeadbeef(大端模式) */ *(NX_U32 *)(mem + size) = cpu_to_be32(0xdeadbeef); - NX_LOG_I(" unflattening %p...\n", mem); + key_logi(" unflattening %p...\n", mem); - NX_LOG_I("mem+size: %08x\n", + key_logi("mem+size: %08x\n", be32_to_cpup(*(NX_U32 *)(mem + size))); /* Second pass, do actual unflattening */ @@ -606,17 +614,21 @@ void *__unflatten_device_tree(const void *blob, unflatten_dt_nodes(blob, mem, dad, mynodes); /* 根据之前在mem内存末尾填充的内容检查有没有踩内存 */ if ( be32_to_cpup(*(NX_U32 *)(mem + size)) != 0xdeadbeef) - NX_LOG_I("End of tree marker overwritten: %08x\n", + key_logi("End of tree marker overwritten: %08x\n", be32_to_cpup(*(NX_U32 *)(mem + size))); - NX_LOG_I(" unflattening %p...\n", mem); - NX_LOG_I(" <- unflatten_device_tree()\n"); - + key_logi(" unflattening %p...\n", mem); + key_logi(" <- unflatten_device_tree()\n"); + unsigned int out_values; struct device_node *node = (struct device_node *)mem; - NX_LOG_I(" test device_node :%s\n",node->properties->value); - NX_LOG_I(" test device_node :%d\n",node->properties->length); - NX_LOG_I(" test device_node :%s\n",node->child->sibling->name); + key_logi(" test device_node :%s\n",node->properties->value); + out_values = node->properties->next->value; + of_property_read_u32(node,"#address-cells",&out_values); + key_logi(" test device_node :%p\n",out_values); + key_logi(" test device_node :%d\n",(node->properties->next->length)); + key_logi(" test device_node :%d\n",node->properties->length); + key_logi(" test device_node :%s\n",node->child->sibling->name); of_root = node; return mem; diff --git a/src/drivers/of/platform.c b/src/drivers/of/platform.c index 86a6ee5..a8dbd34 100644 --- a/src/drivers/of/platform.c +++ b/src/drivers/of/platform.c @@ -5,13 +5,153 @@ #include #include #include +#include +#define MODEL_TAG "platform" +#define key_loge(fmt,arg...)\ + NX_LOG_E("E/%s <%s %4d>"fmt,MODEL_TAG, __FUNCTION__, __LINE__, ##arg) +#define key_logi(fmt,arg...)\ + NX_LOG_I("I/%s <%s %4d>"fmt,MODEL_TAG, __FUNCTION__, __LINE__, ##arg) -static int platform_match(struct device *dev, struct device_driver *drv) +static void *of_find_property_value_of_size(const struct device_node *np, + const char *propname, NX_U32 min, NX_U32 max, NX_U32 *len) { - return NULL; + struct property *prop = of_find_property(np, propname, NULL); + + if (!prop) + return NULL; + if (!prop->value) + return NULL; + if (prop->length < min) + return NULL; + if (max && prop->length > max) + return NULL; + + if (len) + *len = prop->length; + + return prop->value; +} + +int of_property_read_variable_u32_array(const struct device_node *np, + const char *propname, NX_U32 *out_values, + NX_U32 sz_min, NX_U32 sz_max) +{ + NX_U32 sz, count; + const NX_U32 *val = of_find_property_value_of_size(np, propname, + (sz_min * sizeof(*out_values)), + (sz_max * sizeof(*out_values)), + &sz); + + if (!val) + return NULL; + + if (!sz_max) + sz = sz_min; + else + sz /= sizeof(*out_values); + + count = sz; + while (count--) + *out_values++ = be32_to_cpup(*(val++)); + + return sz; +} + +static inline int of_property_read_u32_array(const struct device_node *np, + const char *propname, + NX_U32 *out_values, NX_U32 sz) +{ + int ret = of_property_read_variable_u32_array(np, propname, out_values, + sz, 0); + + return ret; +} + + +int of_property_read_u32(const struct device_node *np, + const char *propname, + NX_U32 *out_value) +{ + return of_property_read_u32_array(np, propname, out_value, 1); +} +const char *of_prop_next_string(struct property *prop, const char *cur) +{ + const void *curv = cur; + + if (!prop) + return NULL; + + if (!cur) + return prop->value; + + // 将curv指针移动到下一个字符串属性值的起始位置 + curv += strlen(cur) + 1; + + // 如果移动后的curv指针超出了属性值的范围,则返回NULL + if (curv >= prop->value + prop->length) + return NULL; + + return curv; +} + +static int __of_device_is_compatible(const struct device_node *device, + const char *compat) +{ + struct property *prop; + const char *cp; + int index = 0, score = 0; + + /* Compatible match has highest priority */ + //判断兼容性匹配是否具有最高优先级 + if (compat && compat[0]) { + //查找属性结构体 + prop = of_find_property(device, "compatible", NULL); + //遍历所有字符串类型的属性值 + key_logi("device:%s\n",prop->value); + for (cp = of_prop_next_string(prop, NULL); cp; + cp = of_prop_next_string(prop, cp), index++) { + //比较属性值和给定的兼容性 + if (NX_StrCmpN(cp, compat, NX_StrLen(compat)) == 0) { + //计算得分 + score = INT_MAX/2 - (index << 2); + key_logi("score:%d\n",score); + key_logi("cp:%s\n",cp); + break; + } + } + if (!score) + return 0; + } + + return score; +} +int platform_match(struct platform_device *pdev, const struct of_device_id *matches) +{ + const struct of_device_id *best_match = NULL; + int score, best_score = 0; + + if ((!matches) || (!pdev->of_node)) + return NULL; + key_logi("UESTC\n"); + + score = __of_device_is_compatible(pdev->of_node, matches->compatible); + key_logi("UESTC_score\n"); + if (score > best_score) { + best_match = matches; + best_score = score; + } + + if (score == 0) + return NULL; + + key_logi("best_match:%s\n",best_match->compatible); + + return score; + + } struct bus_type { @@ -100,11 +240,11 @@ void list_add(struct list_head *new, struct list_head *prev, struct list_head *n void insertAtHead(struct list_head *head, struct platform_device *newNode) { list_add(newNode->list, head, head->next); - NX_LOG_I("添加了一次:\n"); - NX_LOG_I("head:%p:\n,",head); - NX_LOG_I("newNode:%p:\n,",newNode); - NX_LOG_I("newNode->list:%p:\n,",newNode->list); - NX_LOG_I("newNode->platform_addr:%p:\n,",newNode->list->platform_addr); + key_logi("添加了一次:\n"); + key_logi("head:%p:\n,",head); + key_logi("newNode:%p:\n,",newNode); + key_logi("newNode->list:%p:\n,",newNode->list); + key_logi("newNode->platform_addr:%p:\n,",newNode->list->platform_addr); } void display(struct list_head *head) { @@ -112,10 +252,10 @@ void display(struct list_head *head) { struct platform_device *node; for (pos = head->next; pos != head; pos = pos->next) { node = (struct platform_device *)(pos->platform_addr); - NX_LOG_I("display platform_device:%s ", node->of_node->name); - NX_LOG_I("pos->platform_addr:%p\n",pos->platform_addr); + key_logi("display platform_device:%s ", node->of_node->name); + key_logi("pos->platform_addr:%p\n",pos->platform_addr); } - NX_LOG_I("end display platform_device:\n"); + key_logi("end display platform_device:\n"); } @@ -137,7 +277,7 @@ static struct platform_device *of_platform_device_create_pdata( } -const void *of_get_property(const struct device_node *np, const char *name, +void *of_get_property(const struct device_node *np, const char *name, int *lenp) { struct property *pp = of_find_property(np, name, lenp); @@ -154,11 +294,11 @@ static int of_platform_bus_create(struct device_node *bus, { struct platform_device *dev; - NX_LOG_I(" uestc\n"); - NX_LOG_I(" device_node: %s\n", bus->name); + key_logi(" uestc\n"); + key_logi(" device_node: %s\n", bus->name); /* 如果要求必须有compatible属性,那么对于没有该属性的节点直接返回 */ if (strict && (!of_get_property(bus, "compatible", NULL))) { - NX_LOG_I(" no compatible"); + key_logi(" no compatible"); return 0; } @@ -182,7 +322,7 @@ int of_platform_populate(struct device_node *root, int rc = 0; /* 传入的root为NULL,因此这里执行of_find_node_by_path("/")获得根节点 */ root = root ? of_root : of_find_node_by_full_path(of_root,"/"); - NX_LOG_I(" starting at: %pOF\n", root); + key_logi(" starting at: %pOF\n", root); __for_each_child_of_node(root,child){ /* 为根节点的孩子节点创建platform_device(不是所有孩子节点,需要符合一定的条件) */ @@ -194,7 +334,6 @@ int of_platform_populate(struct device_node *root, int of_platform_default_populate(){ - struct list_head * head ; head = NX_HeapAlloc(sizeof(*head)+1); platform_bus_type->list_devices = head; INIT_LIST_HEAD(head); diff --git a/src/include/base/driver.h b/src/include/base/driver.h index a728109..955a42b 100644 --- a/src/include/base/driver.h +++ b/src/include/base/driver.h @@ -70,6 +70,14 @@ struct NX_Driver }; typedef struct NX_Driver NX_Driver; + +struct platform_driver { + const char * name; + int (*probe)(struct platform_device *); + const struct of_device_id *of_match_table; + struct NX_Driver driver; +}; + struct NX_Device { NX_List list; /* device list */ @@ -122,5 +130,5 @@ NX_Device *NX_DeviceSearch(const char *name); NX_Device *NX_DeviceEnum(NX_Offset offset); NX_Error NX_UserDriverRegister(NX_UserDriver * drv, NX_Solt * outSolt); - +NX_Error platform_driver_register(struct platform_driver *pdrv); #endif /* __XBOOK_IO_DRIVER__ */ diff --git a/src/include/base/of.h b/src/include/base/of.h index 9bb2ff5..799e32c 100644 --- a/src/include/base/of.h +++ b/src/include/base/of.h @@ -6,7 +6,7 @@ #define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1 #define OF_ROOT_NODE_ADDR_CELLS_DEFAULT 1 #include - +#include /*platform链表注册实现,目前就用name+device_node结构体实现*/ typedef unsigned int phandle; const void * of_flat_dt_match_machine(const void *default_match, @@ -15,6 +15,15 @@ void early_init_dt_scan_nodes(void); char boot_command_line[COMMAND_LINE_SIZE]; void unflatten_device_tree(void); int of_platform_default_populate(); +unsigned int be32_to_cpup(unsigned int x); +struct list_head * head ; +struct of_device_id { + char name[32]; + char type[32]; + char compatible[128]; + const void *data; +}; + struct property { char *name; @@ -43,9 +52,6 @@ struct list_head { unsigned int *platform_addr; }; - - - struct device_driver { const char *name; struct bus_type *bus; @@ -73,8 +79,11 @@ static inline struct device_node *of_find_node_by_path(const char *path) return of_find_node_opts_by_path(path, NULL); } - - +int platform_match(struct platform_device *pdev, const struct of_device_id *matches); +void *of_get_property(const struct device_node *np, const char *name, int *lenp); +int of_property_read_u32(const struct device_node *np, + const char *propname, + NX_U32 *out_value); #define for_each_property_of_node(dn, pp) \ for (pp = dn->properties; pp != NULL; pp = pp->next) #endif \ No newline at end of file diff --git a/src/io/driver.c b/src/io/driver.c index d43aa40..958479c 100644 --- a/src/io/driver.c +++ b/src/io/driver.c @@ -17,10 +17,38 @@ #include #define NX_LOG_NAME "driver" #include +#include NX_PRIVATE NX_LIST_HEAD(driverListHead); NX_PRIVATE NX_SPIN_DEFINE_UNLOCKED(driverLock); +NX_Error platform_driver_register(struct platform_driver *pdrv){ + struct list_head * pos; + struct platform_device *node; + struct platform_device *probenode; + unsigned int best_flag=0; + unsigned int ret = 0; + NX_LOG_I(" start search rtc device: \n"); + for (pos = head->next; pos != head; pos = pos->next) + { + node = (struct platform_device *)(pos->platform_addr); + ret = platform_match(node,pdrv->of_match_table); + if(ret > 0) + { + best_flag = ret; + probenode = node; + } + } + if (!best_flag) + { + NX_LOG_I(" driver %s platform init error: \n",pdrv->name); + return NX_ERROR; + } + pdrv->probe(probenode); + NX_LOG_I(" best_node at: %s\n", probenode->of_node->name); + return NX_EOK; +} + NX_Driver *NX_DriverCreate(const char *name, NX_DeviceType type, NX_U32 flags, NX_DriverOps *ops) { if (name == NX_NULL || !ops) diff --git a/src/platform/i386/drivers/rtc.c b/src/platform/i386/drivers/rtc.c index 4f06703..7532bdb 100644 --- a/src/platform/i386/drivers/rtc.c +++ b/src/platform/i386/drivers/rtc.c @@ -15,15 +15,23 @@ #include #include #include +#include #include #define DRV_NAME "rtc device" #define DEV_NAME "rtc" + +#define MODEL_TAG "rtc driver" +#define key_loge(fmt,arg...)\ + NX_LOG_E("E/%s <%s %4d>"fmt,MODEL_TAG, __FUNCTION__, __LINE__, ##arg) + +#define key_logi(fmt,arg...)\ + NX_LOG_I("I/%s <%s %4d>"fmt,MODEL_TAG, __FUNCTION__, __LINE__, ##arg) /* CMOS port */ -#define CMOS_INDEX 0x70 -#define CMOS_DATA 0x71 +unsigned int CMOS_INDEX; +unsigned int CMOS_DATA; /* CMOS offset */ #define CMOS_CUR_SEC 0x0 @@ -123,10 +131,31 @@ NX_PRIVATE NX_DriverOps RTC_DriverOps = { .read = RTC_Read, }; -NX_PRIVATE void RTC_DriverInit(void) +NX_PRIVATE void RTC_DriverInit(struct platform_device *pdev) { NX_Device *device; NX_Driver *driver = NX_DriverCreate(DRV_NAME, NX_DEVICE_TYPE_VIRT, 0, &RTC_DriverOps); + struct property *prop; + unsigned int ret; + + ret = of_property_read_u32(pdev->of_node,"cmos_index",&CMOS_INDEX); + if(!ret) + { + CMOS_INDEX = 0x70; + NX_LOG_E("error search cmos_index:\n"); + } + NX_LOG_I("cmos_index: %p\n",CMOS_INDEX); + + ret = of_property_read_u32(pdev->of_node,"cmos_data",&CMOS_DATA); + if(!ret) + { + CMOS_DATA = 0x71; + NX_LOG_E("error search cmos_data:\n"); + } + key_logi("cmos_data: %p\n",CMOS_DATA); + + + if (driver == NX_NULL) { NX_LOG_E("create driver failed!"); @@ -156,5 +185,20 @@ NX_PRIVATE void RTC_DriverExit(void) NX_DriverCleanup(DRV_NAME); } -NX_DRV_INIT(RTC_DriverInit); + +static const struct of_device_id dts_device_rtc[ ]={ + { .compatible = "NXOS,rtc-cmos" }, +}; + +static struct platform_driver snvs_rtc_driver = { + .name = "rtc", + .probe = RTC_DriverInit, + .of_match_table = dts_device_rtc, +}; + +void rtc_platform_init(void){ + platform_driver_register(&snvs_rtc_driver); +} + +NX_DRV_INIT(rtc_platform_init); NX_DRV_EXIT(RTC_DriverExit); diff --git a/src/platform/i386/dts/i386.dtb b/src/platform/i386/dts/i386.dtb index 38030e08a962f858f39ad7f68656626fb5450d93..72c22ef946578fd292bed68731384a2e452226fe 100644 GIT binary patch delta 164 zcmeBYKEkYVf%o5A1_s6>3=9kwK)L`(YXGqz5DNe?2!sH|EhcI_j^qUK{385=bux; + cmos_data = <0x71>; }; -- Gitee From 10d11b6ee7f00ea4d86b69b81b5e8b6a91d99fcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8D=E6=A0=91=E7=9A=84=E6=97=B6=E8=8A=82?= <1477383589@qq.com> Date: Fri, 15 Sep 2023 23:23:16 +0800 Subject: [PATCH 7/8] add pci platform_driver_register --- src/arch/x86/include/pci.h | 3 +- src/arch/x86/kernel/pci.c | 55 ++++++++++++++++++++++++++++++-- src/drivers/of/platform.c | 3 +- src/platform/i386/drivers/rtc.c | 1 - src/platform/i386/dts/i386.dtb | Bin 452 -> 552 bytes src/platform/i386/dts/i386.dts | 6 ++++ 6 files changed, 60 insertions(+), 8 deletions(-) diff --git a/src/arch/x86/include/pci.h b/src/arch/x86/include/pci.h index 20b0b39..ae5cda1 100644 --- a/src/arch/x86/include/pci.h +++ b/src/arch/x86/include/pci.h @@ -15,8 +15,7 @@ #include #include -#define PCI_CONFIG_ADDR 0xCF8 /* PCI configuration space address port */ -#define PCI_CONFIG_DATA 0xCFC /* PCI configuration space data port */ + #define PCI_DEVICE_VENDER 0x00 #define PCI_STATUS_COMMAND 0x04 diff --git a/src/arch/x86/kernel/pci.c b/src/arch/x86/kernel/pci.c index 78ac27d..0a1579e 100644 --- a/src/arch/x86/kernel/pci.c +++ b/src/arch/x86/kernel/pci.c @@ -16,9 +16,24 @@ #include #include #include - +#include +#include +unsigned int PCI_CONFIG_ADDR ; /* PCI configuration space address port */ +unsigned int PCI_CONFIG_DATA ; /* PCI configuration space data port */ NX_PRIVATE NX_List pciDeviceListHead; +#define DRV_NAME "pci device" +#define DEV_NAME "pci" + + +#define MODEL_TAG "pci driver" +#define key_loge(fmt,arg...)\ + NX_LOG_E("E/%s <%s %4d>"fmt,MODEL_TAG, __FUNCTION__, __LINE__, ##arg) + +#define key_logi(fmt,arg...)\ + NX_LOG_I("I/%s <%s %4d>"fmt,MODEL_TAG, __FUNCTION__, __LINE__, ##arg) + + NX_PRIVATE void PciDeviceBarInit(NX_PciDeviceBar *bar, NX_U32 addr_reg_val, NX_U32 len_reg_val) { if (addr_reg_val == 0xffffffff) @@ -351,11 +366,45 @@ void NX_PciDeviceList(void) } } -NX_PRIVATE void NX_PCI_Init(void) +NX_PRIVATE void NX_PCI_Init(struct platform_device *pdev) { NX_ListInit(&pciDeviceListHead); + + unsigned int ret; + + ret = of_property_read_u32(pdev->of_node,"PCI_CONFIG_ADDR",&PCI_CONFIG_ADDR); + if(!ret) + { + PCI_CONFIG_ADDR = 0xCF8; + NX_LOG_E("error search PCI_CONFIG_ADDR:\n"); + } + key_logi("PCI_CONFIG_ADDR: %p\n",PCI_CONFIG_ADDR); + + ret = of_property_read_u32(pdev->of_node,"PCI_CONFIG_DATA",&PCI_CONFIG_DATA); + if(!ret) + { + PCI_CONFIG_DATA = 0xCFC; + NX_LOG_E("error search PCI_CONFIG_DATA:\n"); + } + key_logi("PCI_CONFIG_DATA: %p\n",PCI_CONFIG_DATA); + NX_PciScanAllBuses(); NX_LOG_I("PCI device: device found %d.", PicGetConnectedCounts()); } -NX_MODS_INIT(NX_PCI_Init); +static const struct of_device_id dts_device_pci[ ]={ + { .compatible = "NXOS,pci" }, +}; + +static struct platform_driver snvs_pci_driver = { + .name = "pci", + .probe = NX_PCI_Init, + .of_match_table = dts_device_pci, +}; + +void pci_platform_init(void){ + platform_driver_register(&snvs_pci_driver); +} + + +NX_MODS_INIT(pci_platform_init); diff --git a/src/drivers/of/platform.c b/src/drivers/of/platform.c index a8dbd34..f6e027c 100644 --- a/src/drivers/of/platform.c +++ b/src/drivers/of/platform.c @@ -135,10 +135,9 @@ int platform_match(struct platform_device *pdev, const struct of_device_id *matc if ((!matches) || (!pdev->of_node)) return NULL; - key_logi("UESTC\n"); score = __of_device_is_compatible(pdev->of_node, matches->compatible); - key_logi("UESTC_score\n"); + if (score > best_score) { best_match = matches; best_score = score; diff --git a/src/platform/i386/drivers/rtc.c b/src/platform/i386/drivers/rtc.c index 7532bdb..09337dd 100644 --- a/src/platform/i386/drivers/rtc.c +++ b/src/platform/i386/drivers/rtc.c @@ -135,7 +135,6 @@ NX_PRIVATE void RTC_DriverInit(struct platform_device *pdev) { NX_Device *device; NX_Driver *driver = NX_DriverCreate(DRV_NAME, NX_DEVICE_TYPE_VIRT, 0, &RTC_DriverOps); - struct property *prop; unsigned int ret; ret = of_property_read_u32(pdev->of_node,"cmos_index",&CMOS_INDEX); diff --git a/src/platform/i386/dts/i386.dtb b/src/platform/i386/dts/i386.dtb index 72c22ef946578fd292bed68731384a2e452226fe..5576945b87c42080ab78a0bd56f77b7f17122988 100644 GIT binary patch delta 148 zcmX@Yyn;pJ0`I@K3=B*f3=9kw3=E80fHa6L2*d(F3<4!U@tTbq&WyH<1<9Ep5oRFf z1Tp*~{DXC%f>3c5ARWTM!1Du%p919nnViCypb+5f8Sm`x=jQ1i@95$Z#DK(iaSU-} F006CK87BY$ delta 53 ycmZ3%a)epq0`I@K3=E7%7#J8VfOG+n)&OEbAQk{(5C{Q^TWr*DW}Lj9F%keIzzJah diff --git a/src/platform/i386/dts/i386.dts b/src/platform/i386/dts/i386.dts index e36e8ae..72f110c 100644 --- a/src/platform/i386/dts/i386.dts +++ b/src/platform/i386/dts/i386.dts @@ -23,6 +23,12 @@ cmos_index = <0x70>; cmos_data = <0x71>; }; + + pci{ + compatible = "NXOS,pci"; + PCI_CONFIG_ADDR = <0xCF8>; + PCI_CONFIG_DATA = <0xCFC>; + }; }; -- Gitee From 9c8cc651a6c2494d5939eeab883736e4c0e8724b Mon Sep 17 00:00:00 2001 From: wangzhiming <1250853412@qq.com> Date: Sat, 28 Oct 2023 21:09:09 +0800 Subject: [PATCH 8/8] fdt: Fix compile script --- src/arch/x86/kernel/i386.S | 4 ++-- src/platform/i386/nxos.mk | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/arch/x86/kernel/i386.S b/src/arch/x86/kernel/i386.S index 7c522ba..9e5b99e 100644 --- a/src/arch/x86/kernel/i386.S +++ b/src/arch/x86/kernel/i386.S @@ -13,7 +13,7 @@ .section .dtb, "a" -.incbin "/home/xiaoxiao/bookos/BookOS/kernel/src/platform/i386/dts/i386.dtb" /* path from current dir */ +.incbin __NXOS_DTB_PATH__ .code32 .text @@ -28,7 +28,7 @@ NX_FUNC(CPU_LoadGDT) movl 4(%esp), %eax movw %ax, 6(%esp) lgdt 6(%esp) - + # flush segment registers movw $KERNEL_DATA_SEL, %ax movw %ax, %ds diff --git a/src/platform/i386/nxos.mk b/src/platform/i386/nxos.mk index f5c2ac3..6c359db 100644 --- a/src/platform/i386/nxos.mk +++ b/src/platform/i386/nxos.mk @@ -1,9 +1,9 @@ ## # Copyright (c) 2018-2022, NXOS Development Team # SPDX-License-Identifier: Apache-2.0 -# +# # Contains: Makefile for PC32 Platform -# +# # Change Logs: # Date Author Notes # 2021-9-20 JasonHu Init @@ -12,9 +12,12 @@ # # Override default variables. # -CFLAGS += -fno-builtin -fno-stack-protector +dtb_dir := $(srctree)/platform/$(PLATFORM)/dts/i386.dtb + MCFLAGS += -march=i386 -LDFLAGS += -no-pie -n +LDFLAGS += -no-pie -n +CFLAGS += -fno-builtin -fno-stack-protector \ + -D__NXOS_DTB_PATH__=\"${dtb_dir}\" ifeq ($(LLVM),) CC := $(CROSS_COMPILE)gcc -m32 -- Gitee
  • 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">3n-@1s^ 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