1.3.3 fdt_create 在versal_virt_init函数中的众多调用接口中以fdt_create为例来做简单介绍: qemu_fdt_alloc_phandle用于依次去获取对应的device的配置信息,其起始地址为machine->phandle_start qemu_fdt_setprop_cell用于解析对应的device node的属性信息 qemu_fdt_setprop_string用于解析设备树的信息,作为对当前machi...
static void fdt_add_uart_node(LoongArchVirtMachineState *lvms, uint32_t *pch_pic_phandle) { char *nodename; hwaddr base = VIRT_UART_BASE; // 串口来自ls7a桥片 hwaddr size = VIRT_UART_SIZE; MachineState *ms = MACHINE(lvms); nodename = g_strdup_printf("/serial@%" PRIx64, base);...
int qemu_fdt_setprop_string(void *fdt, const char *node_path, const char *property, const char *string) { int r; @@ -183,8 +183,8 @@ int qemu_devtree_setprop_string(void *fdt, const char *node_path, return r; } const void *qemu_devtree_getprop(void *fdt, const char *node...
qemu_fdt_setprop_string(fdt, name,"compatible","ns16550a"); qemu_fdt_setprop_cells(fdt, name,"reg",0x0, memmap[VIRT_UART1].base,0x0, memmap[VIRT_UART1].size);
error_report("%s Couldn't create dt: %s", __func__, fdt_strerror(ret)); exit(1); } void *load_device_tree(const char *filename_path, int *sizep) { int dt_size; int dt_file_load_size; int ret; void *fdt = NULL; *...
device_tree: qemu_fdt_setprop: Rename val_array arg 9 years ago disas.c disas: Implement disassembly output for A64 9 years ago dma-helpers.c aio / timers: Untangle include files 9 years ago dump.c dump-guest-memory: Check for the correct return value ...
Watch 1Star1Fork0 marshalzxy/qemu 代码Issues0Pull Requests0Wiki统计流水线 服务 Gitee Pages JavaDoc PHPDoc 质量分析 Jenkins for Gitee 腾讯云托管 腾讯云 Serverless 悬镜安全 阿里云 SAE Codeblitz 我知道了,不再自动展开 加入Gitee 与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :) ...
ENU-Boot 的全称是 Universal Boot Loader,其作用就是引导系统。对于我们熟悉的 PC,上电后,通过 ...
+ */ + qemu_fdt_add_subnode(ms->fdt, "/test_rom"); + qemu_fdt_setprop_string(ms->fdt, "/test_rom", "compatible", "test_rom"); + + qemu_fdt_setprop_sized_cells(ms->fdt, "/test_rom", "reg", + 2, base, 2, size); + +} + #define SECURE_GPIO_POWEROFF 0 #define SEC...
GIC_FDT_IRQ_FLAGS_LEVEL_HI); qemu_fdt_setprop(ms->fdt, nodename, "interrupt-names", irq_names, sizeof(irq_names)); qemu_fdt_setprop_cell(ms->fdt, nodename, "clocks", vms->clock_phandle); qemu_fdt_setprop_string(ms->fdt, nodename, "clock-names", "apb_pclk"); g_free(nodename...