fw_cfg设备使用 ACPI ID 定义。由于我们希望 ACPI 表通过fw_cfg设备本身传递到来宾中,因此来宾端固件无法使用 ACPI 查找fw_cfg。但是,固件完成 ACPI 表的设置并将控制权移交给来宾内核后,后者可以使用 fw_cfg ACPI 节点来更准确地列出正在使用的 IOport 或 MMIO 区域。 固件配置项 签名(密钥0x0000,) 通过使用...
… #include "hw/nvram/fw_cfg.h" #include "pci.h" #include "trace.h" // ascend-patch begin #define PCI_VENDOR_ID_HUAWEI 0x19e5 #define PCI_DEVICE_ID_ASCEND910 0xd801 #define PCI_DEVICE_ID_ASCEND910_A2 0xd802 #define PCI_DEVICE_ID_ASCEND310P 0xd500 #define PCI_DEVICE_ID_ASCEND310...
… #include "hw/nvram/fw_cfg.h" #include "pci.h" #include "trace.h" // ascend-patch begin #define PCI_VENDOR_ID_HUAWEI 0x19e5 #define PCI_DEVICE_ID_ASCEND910 0xd801 #define PCI_DEVICE_ID_ASCEND910_A2 0xd802 #define PCI_DEVICE_ID_ASCEND310P 0xd500 #define PCI_DEVICE_ID_ASCEND310...
简单的来说fw_cfg当中定义了一系列的key和value,然后bios通过port io来进行相关的访问。下面我们来看一下相关实现,具体函数为fw_cfg_arch_create,在其实现当中主要做了下面几个事情: 调用fw_cfg_init_io_dma创建TYPE_FW_CFG_IO设备和绑定相关port io。其中iobase 为0x511, dma_iobase 为0x515 FWCfgState ...
修改QEMU源码。 执行如下命令,修改“pci-quirks.c”文件。 vi ./hw/vfio/pci-quirks.c 增加如下加粗字体标注的代码并保存: … #include "hw/nvram/fw_cfg.h" #include "pci.h" #include "trace.h" // ascend-patch begin #define PCI_VENDOR_ID_HUAWEI 0x19e5 #define PCI_DEVICE_ID_ASCEND910 0xd80...
fw_cfg条目由 QEMU 传递给来宾。 例: -fw_cfgname=opt/com.mycompany/blob,file=./my_blob.bin 创建一个名为 opt/com.mycompany/blob 的fw_cfg条目,其中包含来自 ./my_blob.bin 的内容。 -serialdev 重定向虚拟串口至主机字符设备开发。默认设备处于图形模式和非图形模式。vcstdio ...
[4]根据qemu的入参,定制用户所需的设备,比如virtio、vfio、fw_cfg等(根据用户的需求,定制汽车的座椅、敞篷、车灯、内饰等)。 qemu_init qemu_add_opts //qemu中定义了大量的QemuOptsList来表示所支持的参数,通过定义可看到描述,类似meson option qemu_init_subsystems //初始化各个子系统 ...
FWCfgState*fw_cfg; MachineState*machine =MACHINE(pcms); PCMachineClass*pcmc =PC_MACHINE_GET_CLASS(pcms); assert(machine->ram_size == pcms->below_4g_mem_size +pcms->above_4g_mem_size); linux_boot= (machine->kernel_filename !=NULL);/*Allocate RAM. We allocate it as a single memory...
config CMD_QEMU_FW_CFG config CMD_QFW bool "qfw" depends on X86 select QFW 2 changes: 1 addition & 1 deletion 2 cmd/Makefile Original file line numberDiff line numberDiff line change @@ -105,7 +105,7 @@ endif obj-y += pcmcia.o obj-$(CONFIG_CMD_PORTIO) += portio.o obj-$(...
when I install the latest version of the VirtIO drivers (0.1.229) the device manager of the guest VM (Windows Server 2019) shows an error for the QEMU FwCfg Device: This device cannot start. (Code 10). Bad data. It happens with all VirtIO versions back to 0.1.225...with version 0....