Home
last modified time | relevance | path

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

1234

/qemu/tests/qtest/libqos/
H A Dfw_cfg.c23 void qfw_cfg_select(QFWCFG *fw_cfg, uint16_t key) in qfw_cfg_select() argument
25 fw_cfg->select(fw_cfg, key); in qfw_cfg_select()
28 void qfw_cfg_read_data(QFWCFG *fw_cfg, void *data, size_t len) in qfw_cfg_read_data() argument
30 fw_cfg->read(fw_cfg, data, len); in qfw_cfg_read_data()
33 void qfw_cfg_get(QFWCFG *fw_cfg, uint16_t key, void *data, size_t len) in qfw_cfg_get() argument
35 qfw_cfg_select(fw_cfg, key); in qfw_cfg_get()
36 qfw_cfg_read_data(fw_cfg, data, len); in qfw_cfg_get()
39 uint16_t qfw_cfg_get_u16(QFWCFG *fw_cfg, uint16_t key) in qfw_cfg_get_u16() argument
42 qfw_cfg_get(fw_cfg, key, &value, sizeof(value)); in qfw_cfg_get_u16()
46 uint32_t qfw_cfg_get_u32(QFWCFG *fw_cfg, uint16_t key) in qfw_cfg_get_u32() argument
[all …]
H A Dfw_cfg.h25 void (*select)(QFWCFG *fw_cfg, uint16_t key);
26 void (*read)(QFWCFG *fw_cfg, void *data, size_t len);
29 void qfw_cfg_select(QFWCFG *fw_cfg, uint16_t key);
30 void qfw_cfg_read_data(QFWCFG *fw_cfg, void *data, size_t len);
31 void qfw_cfg_get(QFWCFG *fw_cfg, uint16_t key, void *data, size_t len);
32 uint16_t qfw_cfg_get_u16(QFWCFG *fw_cfg, uint16_t key);
33 uint32_t qfw_cfg_get_u32(QFWCFG *fw_cfg, uint16_t key);
34 uint64_t qfw_cfg_get_u64(QFWCFG *fw_cfg, uint16_t key);
35 size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *filename,
37 size_t qfw_cfg_write_file(QFWCFG *fw_cfg, QOSState *qs, const char *filename,
[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
33 fw_cfg = pc_fw_cfg_init(s); in test_fw_cfg_signature()
35 qfw_cfg_get(fw_cfg, FW_CFG_SIGNATURE, buf, 4); in test_fw_cfg_signature()
39 pc_fw_cfg_uninit(fw_cfg); in test_fw_cfg_signature()
45 QFWCFG *fw_cfg; in test_fw_cfg_id() local
50 fw_cfg = pc_fw_cfg_init(s); in test_fw_cfg_id()
52 id = qfw_cfg_get_u32(fw_cfg, FW_CFG_ID); in test_fw_cfg_id()
55 pc_fw_cfg_uninit(fw_cfg); in test_fw_cfg_id()
61 QFWCFG *fw_cfg; in test_fw_cfg_uuid() local
71 fw_cfg = pc_fw_cfg_init(s); in test_fw_cfg_uuid()
[all …]
H A Dvmcoreinfo-test.c24 QFWCFG *fw_cfg; in test_vmcoreinfo_write_basic() local
34 fw_cfg = pc_fw_cfg_init(qs->qts); in test_vmcoreinfo_write_basic()
38 filesize = qfw_cfg_read_file(fw_cfg, qs, FW_CFG_VMCOREINFO_FILENAME, in test_vmcoreinfo_write_basic()
52 filesize = qfw_cfg_write_file(fw_cfg, qs, FW_CFG_VMCOREINFO_FILENAME, in test_vmcoreinfo_write_basic()
59 filesize = qfw_cfg_read_file(fw_cfg, qs, FW_CFG_VMCOREINFO_FILENAME, in test_vmcoreinfo_write_basic()
71 pc_fw_cfg_uninit(fw_cfg); in test_vmcoreinfo_write_basic()
H A Dboot-order-test.c110 g_autoptr(QFWCFG) fw_cfg = mm_fw_cfg_init(qts, 0xf0000510); in read_boot_order_pmac()
112 return qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_DEVICE); in read_boot_order_pmac()
135 g_autoptr(QFWCFG) fw_cfg = mm_fw_cfg_init(qts, 0xd00000510ULL); in read_boot_order_sun4m()
137 return qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_DEVICE); in read_boot_order_sun4m()
147 g_autoptr(QFWCFG) fw_cfg = io_fw_cfg_init(qts, 0x510); in read_boot_order_sun4u()
149 return qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_DEVICE); in read_boot_order_sun4u()
/qemu/hw/i386/
H A Dfw_cfg.c54 void fw_cfg_add_e820(FWCfgState *fw_cfg) in fw_cfg_add_e820() argument
59 fw_cfg_add_file(fw_cfg, "etc/e820", table, nr_e820 * sizeof(*table)); in fw_cfg_add_e820()
62 void fw_cfg_build_smbios(PCMachineState *pcms, FWCfgState *fw_cfg, in fw_cfg_build_smbios() argument
87 fw_cfg_add_bytes(fw_cfg, FW_CFG_SMBIOS_ENTRIES, in fw_cfg_build_smbios()
111 fw_cfg_add_file(fw_cfg, "etc/smbios/smbios-tables", in fw_cfg_build_smbios()
113 fw_cfg_add_file(fw_cfg, "etc/smbios/smbios-anchor", in fw_cfg_build_smbios()
123 FWCfgState *fw_cfg; in fw_cfg_arch_create() local
130 fw_cfg = fw_cfg_init_io_dma(FW_CFG_IO_BASE, FW_CFG_IO_BASE + 4, in fw_cfg_arch_create()
132 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, boot_cpus); in fw_cfg_arch_create()
146 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, apic_id_limit); in fw_cfg_arch_create()
[all …]
H A Dx86-common.c182 if (x86ms->fw_cfg) { in x86_cpu_plug()
183 fw_cfg_modify_i16(x86ms->fw_cfg, FW_CFG_NB_CPUS, x86ms->boot_cpus); in x86_cpu_plug()
236 fw_cfg_modify_i16(x86ms->fw_cfg, FW_CFG_NB_CPUS, x86ms->boot_cpus); in x86_cpu_unplug_cb()
587 FWCfgState *fw_cfg) in load_elfboot() argument
626 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ENTRY, pvh_start_addr); in load_elfboot()
627 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, mh_load_addr); in load_elfboot()
628 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, elf_kernel_size); in load_elfboot()
634 FWCfgState *fw_cfg, in x86_load_linux() argument
689 if (load_multiboot(x86ms, fw_cfg, f, kernel_filename, initrd_filename, in x86_load_linux()
700 header, pvh_start_addr, fw_cfg)) { 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);
30 void fw_cfg_add_e820(FWCfgState *fw_cfg);
H A Dmultiboot.c148 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.c291 FWCfgState *fw_cfg; in microvm_memory_init() local
321 fw_cfg = fw_cfg_init_io_dma(FW_CFG_IO_BASE, FW_CFG_IO_BASE + 4, in microvm_memory_init()
324 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, machine->smp.cpus); in microvm_memory_init()
325 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, machine->smp.max_cpus); in microvm_memory_init()
326 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)machine->ram_size); in microvm_memory_init()
327 fw_cfg_add_i32(fw_cfg, FW_CFG_IRQ0_OVERRIDE, 1); in microvm_memory_init()
329 rom_set_fw(fw_cfg); in microvm_memory_init()
332 mmc->x86_load_linux(x86ms, fw_cfg, 0, true); in microvm_memory_init()
341 x86ms->fw_cfg = fw_cfg; in microvm_memory_init()
412 fw_cfg_modify_i32(x86ms->fw_cfg, FW_CFG_CMDLINE_SIZE, strlen(cmdline) + 1); in microvm_fix_kernel_cmdline()
[all …]
/qemu/hw/ppc/
H A Dmac_oldworld.c109 void *fw_cfg; in ppc_heathrow_init() local
305 fw_cfg = FW_CFG(dev); in ppc_heathrow_init()
308 object_property_add_child(OBJECT(machine), TYPE_FW_CFG, OBJECT(fw_cfg)); in ppc_heathrow_init()
314 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, (uint16_t)machine->smp.cpus); in ppc_heathrow_init()
315 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, (uint16_t)machine->smp.max_cpus); in ppc_heathrow_init()
316 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)machine->ram_size); in ppc_heathrow_init()
317 fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, ARCH_HEATHROW); in ppc_heathrow_init()
318 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base); in ppc_heathrow_init()
319 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); in ppc_heathrow_init()
321 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, cmdline_base); in ppc_heathrow_init()
[all …]
H A Dmac_newworld.c153 void *fw_cfg; in ppc_core99_init() local
464 fw_cfg = FW_CFG(dev); in ppc_core99_init()
467 object_property_add_child(OBJECT(machine), TYPE_FW_CFG, OBJECT(fw_cfg)); in ppc_core99_init()
473 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, (uint16_t)machine->smp.cpus); in ppc_core99_init()
474 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, (uint16_t)machine->smp.max_cpus); in ppc_core99_init()
475 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)machine->ram_size); in ppc_core99_init()
476 fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, machine_arch); in ppc_core99_init()
477 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base); in ppc_core99_init()
478 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); in ppc_core99_init()
480 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, cmdline_base); 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()
366 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base); in ibm_40p_init()
367 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); in ibm_40p_init()
379 fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, initrd_base); in ibm_40p_init()
380 fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size); in ibm_40p_init()
383 fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR); 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()
[all …]
/qemu/rust/hw/timer/hpet/src/
H A Dfw_cfg.rs43 let mut fw_cfg = unsafe { *addr_of_mut!(hpet_fw_cfg) }; in assign_hpet_id() localVariable
45 if fw_cfg.count == u8::MAX { in assign_hpet_id()
47 fw_cfg.count = 0; in assign_hpet_id()
50 if fw_cfg.count == 8 { in assign_hpet_id()
55 let id: usize = fw_cfg.count.into(); in assign_hpet_id()
56 fw_cfg.count += 1; in assign_hpet_id()
64 let mut fw_cfg = unsafe { *addr_of_mut!(hpet_fw_cfg) }; in update_hpet_cfg() localVariable
66 fw_cfg.hpet[hpet_id].event_timer_block_id = timer_block_id; in update_hpet_cfg()
67 fw_cfg.hpet[hpet_id].address = address; in update_hpet_cfg()
/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()
/qemu/hw/hppa/
H A Dmachine.c197 FWCfgState *fw_cfg; in create_fw_cfg() local
204 fw_cfg = fw_cfg_init_mem(addr, addr + 4); in create_fw_cfg()
205 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, ms->smp.cpus); in create_fw_cfg()
206 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, HPPA_MAX_CPUS); in create_fw_cfg()
207 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, ms->ram_size); in create_fw_cfg()
210 fw_cfg_add_file(fw_cfg, "/etc/firmware-min-version", in create_fw_cfg()
214 fw_cfg_add_file(fw_cfg, "/etc/cpu/tlb_entries", in create_fw_cfg()
218 fw_cfg_add_file(fw_cfg, "/etc/cpu/btlb_entries", in create_fw_cfg()
222 fw_cfg_add_file(fw_cfg, "/etc/hppa/machine", in create_fw_cfg()
226 fw_cfg_add_file(fw_cfg, "/etc/hppa/power-button-addr", 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
101 ACPI tables to be passed into the guest through the fw_cfg device itself,
102 the guest-side firmware can not use ACPI to find fw_cfg. However, once the
104 guest kernel, the latter can use the fw_cfg ACPI node for a more accurate
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
138 and retrieve them. The format of this file directory (from ``fw_cfg.h`` in
141 struct FWCfgFiles { /* the entire file directory fw_cfg item */
[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
72 for the "etc/hardware_errors" fw_cfg blob is
92 (8) QEMU defines a third and write-only fw_cfg blob which is called
97 "etc/hardware_errors" blob to the fw_cfg file "etc/hardware_errors_addr".
/qemu/hw/sparc64/
H A Dsun4u.c556 FWCfgState *fw_cfg; in sun4uv_init() local
692 fw_cfg = FW_CFG(dev); in sun4uv_init()
693 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, (uint16_t)machine->smp.cpus); in sun4uv_init()
694 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, (uint16_t)machine->smp.max_cpus); in sun4uv_init()
695 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)machine->ram_size); in sun4uv_init()
696 fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, hwdef->machine_id); in sun4uv_init()
697 fw_cfg_add_i64(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_entry); in sun4uv_init()
698 fw_cfg_add_i64(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); in sun4uv_init()
700 fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, in sun4uv_init()
702 fw_cfg_add_string(fw_cfg, FW_CFG_CMDLINE_DATA, machine->kernel_cmdline); 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/sparc/
H A Dsun4m.c822 FWCfgState *fw_cfg; in sun4m_hw_init() local
1053 fw_cfg = FW_CFG(dev); in sun4m_hw_init()
1057 OBJECT(fw_cfg)); in sun4m_hw_init()
1063 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, (uint16_t)smp_cpus); in sun4m_hw_init()
1064 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, (uint16_t)max_cpus); in sun4m_hw_init()
1065 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)machine->ram_size); in sun4m_hw_init()
1066 fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, hwdef->machine_id); in sun4m_hw_init()
1067 fw_cfg_add_i16(fw_cfg, FW_CFG_SUN4M_DEPTH, graphic_depth); in sun4m_hw_init()
1068 fw_cfg_add_i16(fw_cfg, FW_CFG_SUN4M_WIDTH, graphic_width); in sun4m_hw_init()
1069 fw_cfg_add_i16(fw_cfg, FW_CFG_SUN4M_HEIGHT, graphic_height); in sun4m_hw_init()
[all …]
/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/riscv/
H A Dboot.c500 FWCfgState *fw_cfg; in riscv_setup_firmware_boot() local
501 fw_cfg = fw_cfg_find(); in riscv_setup_firmware_boot()
503 assert(fw_cfg); in riscv_setup_firmware_boot()
509 load_image_to_fw_cfg(fw_cfg, in riscv_setup_firmware_boot()
513 load_image_to_fw_cfg(fw_cfg, in riscv_setup_firmware_boot()
518 fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, in riscv_setup_firmware_boot()
520 fw_cfg_add_string(fw_cfg, FW_CFG_CMDLINE_DATA, in riscv_setup_firmware_boot()
/qemu/hw/nvram/
H A Dmeson.build1 system_ss.add(files('fw_cfg-interface.c'))
2 system_ss.add(files('fw_cfg.c'))
21 specific_ss.add(when: 'CONFIG_ACPI', if_true: files('fw_cfg-acpi.c'))

1234