Home
last modified time | relevance | path

Searched refs:fw_cfg (Results 1 – 25 of 74) sorted by relevance

123

/qemu/tests/qtest/libqos/
H A Dfw_cfg.c23 fw_cfg->select(fw_cfg, key); in qfw_cfg_select()
28 fw_cfg->read(fw_cfg, data, len); in qfw_cfg_read_data()
60 qtest_writew(fw_cfg->qts, fw_cfg->base, key); in mm_fw_cfg_select()
113 ptr[i] = qtest_readb(fw_cfg->qts, fw_cfg->base + 2); in mm_fw_cfg_read()
119 QFWCFG *fw_cfg = g_malloc0(sizeof(*fw_cfg)); in mm_fw_cfg_init() local
126 return fw_cfg; in mm_fw_cfg_init()
131 g_free(fw_cfg); in mm_fw_cfg_uninit()
136 qtest_outw(fw_cfg->qts, fw_cfg->base, key); in io_fw_cfg_select()
145 ptr[i] = qtest_inb(fw_cfg->qts, fw_cfg->base + 1); in io_fw_cfg_read()
151 QFWCFG *fw_cfg = g_malloc0(sizeof(*fw_cfg)); in io_fw_cfg_init() local
[all …]
H A Dfw_cfg.h24 void (*select)(QFWCFG *fw_cfg, uint16_t key);
25 void (*read)(QFWCFG *fw_cfg, void *data, size_t len);
28 void qfw_cfg_select(QFWCFG *fw_cfg, uint16_t key);
31 uint16_t qfw_cfg_get_u16(QFWCFG *fw_cfg, uint16_t key);
32 uint32_t qfw_cfg_get_u32(QFWCFG *fw_cfg, uint16_t key);
33 uint64_t qfw_cfg_get_u64(QFWCFG *fw_cfg, uint16_t key);
34 size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *filename,
38 void mm_fw_cfg_uninit(QFWCFG *fw_cfg);
40 void io_fw_cfg_uninit(QFWCFG *fw_cfg);
47 static inline void pc_fw_cfg_uninit(QFWCFG *fw_cfg) in pc_fw_cfg_uninit() argument
[all …]
H A Dmalloc-pc.c24 QFWCFG *fw_cfg = pc_fw_cfg_init(qts); in pc_alloc_init() local
26 ram_size = qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE); in pc_alloc_init()
30 pc_fw_cfg_uninit(fw_cfg); in pc_alloc_init()
/qemu/tests/qtest/
H A Dfw_cfg-test.c28 QFWCFG *fw_cfg; in test_fw_cfg_signature() local
45 QFWCFG *fw_cfg; in test_fw_cfg_id() local
61 QFWCFG *fw_cfg; in test_fw_cfg_uuid() local
83 QFWCFG *fw_cfg; in test_fw_cfg_ram_size() local
97 QFWCFG *fw_cfg; in test_fw_cfg_nographic() local
111 QFWCFG *fw_cfg; in test_fw_cfg_nb_cpus() local
125 QFWCFG *fw_cfg; in test_fw_cfg_max_cpus() local
138 QFWCFG *fw_cfg; in test_fw_cfg_numa() local
167 QFWCFG *fw_cfg; in test_fw_cfg_boot_menu() local
180 QFWCFG *fw_cfg; in test_fw_cfg_reboot_timeout() local
[all …]
H A Dboot-order-test.c115 g_autoptr(QFWCFG) fw_cfg = mm_fw_cfg_init(qts, 0xf0000510); in read_boot_order_pmac()
117 return qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_DEVICE); in read_boot_order_pmac()
140 g_autoptr(QFWCFG) fw_cfg = mm_fw_cfg_init(qts, 0xd00000510ULL); in read_boot_order_sun4m()
142 return qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_DEVICE); in read_boot_order_sun4m()
152 g_autoptr(QFWCFG) fw_cfg = io_fw_cfg_init(qts, 0x510); in read_boot_order_sun4u()
154 return qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_DEVICE); in read_boot_order_sun4u()
/qemu/hw/i386/
H A Dfw_cfg.c76 fw_cfg_add_bytes(fw_cfg, FW_CFG_SMBIOS_ENTRIES, in fw_cfg_build_smbios()
111 FWCfgState *fw_cfg; in fw_cfg_arch_create() local
120 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, boot_cpus); in fw_cfg_arch_create()
135 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, ms->ram_size); in fw_cfg_arch_create()
137 fw_cfg_add_bytes(fw_cfg, FW_CFG_ACPI_TABLES, in fw_cfg_arch_create()
140 fw_cfg_add_i32(fw_cfg, FW_CFG_IRQ0_OVERRIDE, 1); in fw_cfg_arch_create()
142 fw_cfg_add_file(fw_cfg, "etc/e820", e820_table, in fw_cfg_arch_create()
161 fw_cfg_add_bytes(fw_cfg, FW_CFG_NUMA, numa_fw_cfg, in fw_cfg_arch_create()
165 return fw_cfg; in fw_cfg_arch_create()
207 void fw_cfg_add_acpi_dsdt(Aml *scope, FWCfgState *fw_cfg) in fw_cfg_add_acpi_dsdt() argument
[all …]
H A Dx86-common.c181 if (x86ms->fw_cfg) { in x86_cpu_plug()
580 FWCfgState *fw_cfg) in load_elfboot() argument
620 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, mh_load_addr); in load_elfboot()
627 FWCfgState *fw_cfg, in x86_load_linux() argument
690 header, pvh_start_addr, fw_cfg)) { in x86_load_linux()
693 fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, in x86_load_linux()
698 fw_cfg_add_bytes(fw_cfg, FW_CFG_SETUP_DATA, in x86_load_linux()
947 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, prot_addr); in x86_load_linux()
948 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); in x86_load_linux()
953 fw_cfg_add_i32(fw_cfg, FW_CFG_SETUP_ADDR, real_addr); in x86_load_linux()
[all …]
H A Dfw_cfg.h26 void fw_cfg_build_smbios(PCMachineState *pcms, FWCfgState *fw_cfg,
28 void fw_cfg_build_feature_control(MachineState *ms, FWCfgState *fw_cfg);
29 void fw_cfg_add_acpi_dsdt(Aml *scope, FWCfgState *fw_cfg);
H A Dmultiboot.c147 FWCfgState *fw_cfg, in load_multiboot() argument
394 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ENTRY, mh_entry_addr); in load_multiboot()
395 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, mh_load_addr); in load_multiboot()
396 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, mbs.mb_buf_size); in load_multiboot()
397 fw_cfg_add_bytes(fw_cfg, FW_CFG_KERNEL_DATA, in load_multiboot()
400 fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, ADDR_MBI); in load_multiboot()
401 fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, sizeof(bootinfo)); in load_multiboot()
402 fw_cfg_add_bytes(fw_cfg, FW_CFG_INITRD_DATA, mb_bootinfo_data, in load_multiboot()
H A Dmicrovm.c290 FWCfgState *fw_cfg; in microvm_memory_init() local
320 fw_cfg = fw_cfg_init_io_dma(FW_CFG_IO_BASE, FW_CFG_IO_BASE + 4, in microvm_memory_init()
323 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, machine->smp.cpus); in microvm_memory_init()
324 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, machine->smp.max_cpus); in microvm_memory_init()
325 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)machine->ram_size); in microvm_memory_init()
326 fw_cfg_add_i32(fw_cfg, FW_CFG_IRQ0_OVERRIDE, 1); in microvm_memory_init()
327 fw_cfg_add_file(fw_cfg, "etc/e820", e820_table, in microvm_memory_init()
330 rom_set_fw(fw_cfg); in microvm_memory_init()
333 x86_load_linux(x86ms, fw_cfg, 0, true); in microvm_memory_init()
342 x86ms->fw_cfg = fw_cfg; in microvm_memory_init()
[all …]
/qemu/hw/ppc/
H A Dmac_oldworld.c108 void *fw_cfg; in ppc_heathrow_init() local
309 fw_cfg = FW_CFG(dev); in ppc_heathrow_init()
322 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base); in ppc_heathrow_init()
323 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); in ppc_heathrow_init()
329 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); in ppc_heathrow_init()
331 fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, initrd_base); in ppc_heathrow_init()
332 fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size); in ppc_heathrow_init()
335 fw_cfg_add_i16(fw_cfg, FW_CFG_PPC_WIDTH, graphic_width); in ppc_heathrow_init()
348 fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_TBFREQ, tbfreq); in ppc_heathrow_init()
351 fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_BUSFREQ, BUSFREQ); in ppc_heathrow_init()
[all …]
H A Dmac_newworld.c152 void *fw_cfg; in ppc_core99_init() local
467 fw_cfg = FW_CFG(dev); in ppc_core99_init()
479 fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, machine_arch); in ppc_core99_init()
480 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base); in ppc_core99_init()
481 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); in ppc_core99_init()
487 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); in ppc_core99_init()
489 fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, initrd_base); in ppc_core99_init()
490 fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size); in ppc_core99_init()
508 fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_TBFREQ, tbfreq); in ppc_core99_init()
511 fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_BUSFREQ, BUSFREQ); in ppc_core99_init()
[all …]
H A Dprep.c243 void *fw_cfg; in ibm_40p_init() local
345 fw_cfg = FW_CFG(dev); in ibm_40p_init()
349 OBJECT(fw_cfg)); in ibm_40p_init()
386 fw_cfg_add_string(fw_cfg, FW_CFG_CMDLINE_DATA, in ibm_40p_init()
388 fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, in ibm_40p_init()
398 fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, ARCH_PREP); in ibm_40p_init()
400 fw_cfg_add_i16(fw_cfg, FW_CFG_PPC_WIDTH, graphic_width); in ibm_40p_init()
401 fw_cfg_add_i16(fw_cfg, FW_CFG_PPC_HEIGHT, graphic_height); in ibm_40p_init()
402 fw_cfg_add_i16(fw_cfg, FW_CFG_PPC_DEPTH, graphic_depth); in ibm_40p_init()
405 fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, boot_device); in ibm_40p_init()
[all …]
/qemu/hw/loongarch/
H A Dfw_cfg.c22 FWCfgState *fw_cfg; in virt_fw_cfg_init() local
26 fw_cfg = fw_cfg_init_mem_wide(VIRT_FWCFG_BASE + 8, VIRT_FWCFG_BASE, 8, in virt_fw_cfg_init()
28 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, (uint16_t)max_cpus); in virt_fw_cfg_init()
29 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size); in virt_fw_cfg_init()
30 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, (uint16_t)smp_cpus); in virt_fw_cfg_init()
32 qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); in virt_fw_cfg_init()
33 return fw_cfg; in virt_fw_cfg_init()
H A Dboot.c236 FWCfgState *fw_cfg) in fw_cfg_add_kernel_info() argument
243 load_image_to_fw_cfg(fw_cfg, in fw_cfg_add_kernel_info()
249 load_image_to_fw_cfg(fw_cfg, in fw_cfg_add_kernel_info()
255 fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, in fw_cfg_add_kernel_info()
257 fw_cfg_add_string(fw_cfg, FW_CFG_CMDLINE_DATA, in fw_cfg_add_kernel_info()
265 fw_cfg_add_kernel_info(info, lvms->fw_cfg); in loongarch_firmware_boot()
/qemu/hw/hppa/
H A Dmachine.c196 FWCfgState *fw_cfg; in create_fw_cfg() local
203 fw_cfg = fw_cfg_init_mem(addr, addr + 4); in create_fw_cfg()
209 fw_cfg_add_file(fw_cfg, "/etc/firmware-min-version", in create_fw_cfg()
213 fw_cfg_add_file(fw_cfg, "/etc/cpu/tlb_entries", in create_fw_cfg()
217 fw_cfg_add_file(fw_cfg, "/etc/cpu/btlb_entries", in create_fw_cfg()
221 fw_cfg_add_file(fw_cfg, "/etc/hppa/machine", in create_fw_cfg()
229 fw_cfg_add_file(fw_cfg, "/etc/hppa/rtc-addr", in create_fw_cfg()
237 qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); in create_fw_cfg()
239 fw_cfg_add_file(fw_cfg, "/etc/qemu-version", in create_fw_cfg()
243 fw_cfg_add_extra_pci_roots(pci_bus, fw_cfg); in create_fw_cfg()
[all …]
/qemu/docs/specs/
H A Dfw_cfg.rst2 QEMU Firmware Configuration (fw_cfg) Device
37 As of QEMU v2.4, writes to the fw_cfg data register are no
100 The fw_cfg device is defined with ACPI ID ``QEMU0002``. Since we expect
113 The presence of the fw_cfg selector and data registers can be verified
115 and reading four bytes from the data register. If the fw_cfg device is
141 struct FWCfgFiles { /* the entire file directory fw_cfg item */
150 char name[56]; /* fw_cfg item name, NUL-terminated ascii */
252 -fw_cfg [name=]<item_name>,file=<path>
256 -fw_cfg [name=]<item_name>,string=<string>
263 -fw_cfg [name=]<item_name>,gen_id=<generated_id>
[all …]
H A Dacpi_hest_ghes.rst60 "etc/acpi/tables" fw_cfg blob. Each error source has different
63 (2) A new fw_cfg blob called "etc/hardware_errors" is introduced. QEMU
64 also needs to populate this blob. The "etc/hardware_errors" fw_cfg blob
71 for the "etc/hardware_errors" fw_cfg blob is (N * 8 * 2 + N * 4096) bytes.
90 (8) QEMU defines a third and write-only fw_cfg blob which is called
95 "etc/hardware_errors" blob to the fw_cfg file "etc/hardware_errors_addr".
/qemu/hw/sparc64/
H A Dsun4u.c568 FWCfgState *fw_cfg; in sun4uv_init() local
704 fw_cfg = FW_CFG(dev); in sun4uv_init()
709 fw_cfg_add_i64(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_entry); in sun4uv_init()
710 fw_cfg_add_i64(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); in sun4uv_init()
712 fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, in sun4uv_init()
716 fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, 0); in sun4uv_init()
718 fw_cfg_add_i64(fw_cfg, FW_CFG_INITRD_ADDR, initrd_addr); in sun4uv_init()
719 fw_cfg_add_i64(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size); in sun4uv_init()
722 fw_cfg_add_i16(fw_cfg, FW_CFG_SPARC64_WIDTH, graphic_width); in sun4uv_init()
724 fw_cfg_add_i16(fw_cfg, FW_CFG_SPARC64_DEPTH, graphic_depth); in sun4uv_init()
[all …]
/qemu/hw/misc/
H A Dvmcoreinfo.c41 FWCfgState *fw_cfg = fw_cfg_find(); in vmcoreinfo_realize() local
54 if (!fw_cfg || !fw_cfg->dma_enabled) { in vmcoreinfo_realize()
60 fw_cfg_add_file_callback(fw_cfg, FW_CFG_VMCOREINFO_FILENAME, in vmcoreinfo_realize()
/qemu/hw/riscv/
H A Dboot.c451 FWCfgState *fw_cfg; in riscv_setup_firmware_boot() local
452 fw_cfg = fw_cfg_find(); in riscv_setup_firmware_boot()
454 assert(fw_cfg); in riscv_setup_firmware_boot()
456 * Expose the kernel, the command line, and the initrd in fw_cfg. in riscv_setup_firmware_boot()
460 load_image_to_fw_cfg(fw_cfg, in riscv_setup_firmware_boot()
464 load_image_to_fw_cfg(fw_cfg, in riscv_setup_firmware_boot()
469 fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, in riscv_setup_firmware_boot()
471 fw_cfg_add_string(fw_cfg, FW_CFG_CMDLINE_DATA, in riscv_setup_firmware_boot()
/qemu/hw/display/
H A Dramfb.c140 FWCfgState *fw_cfg = fw_cfg_find(); in ramfb_setup() local
143 if (!fw_cfg || !fw_cfg->dma_enabled) { in ramfb_setup()
151 fw_cfg_add_file_callback(fw_cfg, "etc/ramfb", in ramfb_setup()
/qemu/hw/sparc/
H A Dsun4m.c832 FWCfgState *fw_cfg; in sun4m_hw_init() local
1063 fw_cfg = FW_CFG(dev); in sun4m_hw_init()
1067 OBJECT(fw_cfg)); in sun4m_hw_init()
1077 fw_cfg_add_i16(fw_cfg, FW_CFG_SUN4M_DEPTH, graphic_depth); in sun4m_hw_init()
1078 fw_cfg_add_i16(fw_cfg, FW_CFG_SUN4M_WIDTH, graphic_width); in sun4m_hw_init()
1081 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); in sun4m_hw_init()
1087 fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, in sun4m_hw_init()
1090 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); in sun4m_hw_init()
1091 fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, 0); in sun4m_hw_init()
1094 fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size); in sun4m_hw_init()
[all …]
/qemu/hw/mips/
H A Dloongson3_virt.c283 FWCfgState *fw_cfg; in fw_conf_init() local
286 fw_cfg = fw_cfg_init_mem_wide(cfg_addr, cfg_addr + 8, 8, 0, NULL); in fw_conf_init()
287 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, (uint16_t)current_machine->smp.cpus); in fw_conf_init()
288 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, (uint16_t)current_machine->smp.max_cpus); in fw_conf_init()
289 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size); in fw_conf_init()
290 fw_cfg_add_i32(fw_cfg, FW_CFG_MACHINE_VERSION, 1); in fw_conf_init()
291 fw_cfg_add_i64(fw_cfg, FW_CFG_CPU_FREQ, get_cpu_freq_hz()); in fw_conf_init()
293 fw_cfg_add_file(fw_cfg, "etc/system-states", in fw_conf_init()
296 qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); in fw_conf_init()
/qemu/hw/nvram/
H A Dmeson.build1 system_ss.add(files('fw_cfg-interface.c'))
2 system_ss.add(files('fw_cfg.c'))
20 specific_ss.add(when: 'CONFIG_ACPI', if_true: files('fw_cfg-acpi.c'))

123