Lines Matching +full:qemu +full:- +full:system +full:- +full:x86_64
1 # -*- Mode: Python -*-
11 # later. See the COPYING file in the top-level directory.
20 'member-name-exceptions': [
21 'FirmwareArchitecture' # x86_64
27 # Lists the firmware-OS interface types provided by various firmware
28 # that is commonly used with QEMU virtual machines.
34 # 1275-1994 standard. Examples for firmware projects that
37 # @uboot: Firmware interface defined by the U-Boot project.
77 # Enumeration of architectures for which Qemu uses additional
80 # @aarch64: 64-bit Arm.
82 # @arm: 32-bit Arm.
84 # @i386: 32-bit x86.
86 # @loongarch64: 64-bit LoongArch. (since: 7.1)
88 # @riscv64: 64-bit RISC-V.
90 # @x86_64: 64-bit x86.
95 'data' : [ 'aarch64', 'arm', 'i386', 'loongarch64', 'riscv64', 'x86_64' ] }
102 # @architecture: Determines the emulation target (the QEMU system
110 # (For example, the glob pattern "pc-i440fx-*" matches
111 # "pc-i440fx-2.12".) On the QEMU command line, "-machine
127 # @acpi-s3: The firmware supports S3 sleep (suspend to RAM), as defined
128 # in the ACPI specification. On the "pc-i440fx-*" machine
129 # types of the @i386 and @x86_64 emulation targets, S3 can be
130 # enabled with "-global PIIX4_PM.disable_s3=0" and disabled
131 # with "-global PIIX4_PM.disable_s3=1". On the "pc-q35-*"
132 # machine types of the @i386 and @x86_64 emulation targets, S3
133 # can be enabled with "-global ICH9-LPC.disable_s3=0" and
134 # disabled with "-global ICH9-LPC.disable_s3=1".
136 # @acpi-s4: The firmware supports S4 hibernation (suspend to disk), as
137 # defined in the ACPI specification. On the "pc-i440fx-*"
138 # machine types of the @i386 and @x86_64 emulation targets, S4
139 # can be enabled with "-global PIIX4_PM.disable_s4=0" and
140 # disabled with "-global PIIX4_PM.disable_s4=1". On the
141 # "pc-q35-*" machine types of the @i386 and @x86_64 emulation
142 # targets, S4 can be enabled with "-global
143 # ICH9-LPC.disable_s4=0" and disabled with "-global
144 # ICH9-LPC.disable_s4=1".
146 # @amd-sev: The firmware supports running under AMD Secure Encrypted
148 # Programmer's Manual. QEMU command line options related to
150 # "docs/system/i386/amd-memory-encryption.rst".
152 # @amd-sev-es: The firmware supports running under AMD Secure Encrypted
153 # Virtualization - Encrypted State, as specified in the AMD64
154 # Architecture Programmer's Manual. QEMU command line options
156 # "docs/system/i386/amd-memory-encryption.rst".
158 # @amd-sev-snp: The firmware supports running under AMD Secure Encrypted
159 # Virtualization - Secure Nested Paging, as specified in the
160 # AMD64 Architecture Programmer's Manual. QEMU command line
162 # "docs/system/i386/amd-memory-encryption.rst".
164 # @intel-tdx: The firmware supports running under Intel Trust Domain
167 # @enrolled-keys: The variable store (NVRAM) template associated with
172 # @requires-smm: The firmware requires the platform to emulate SMM
173 # (System Management Mode), as defined in the AMD64
175 # and IA-32 Architectures Software Developer's Manual. On
176 # the "pc-q35-*" machine types of the @i386 and @x86_64
178 # "-machine smm=on". (On the "pc-q35-*" machine types of
179 # the @i386 emulation target, @requires-smm presents
181 # is "-cpu coreduo,nx=off".) If the firmware is marked as
182 # both @secure-boot and @requires-smm, then write
185 # in SMM, using the additional option "-global
187 # Furthermore, a large guest-physical address space
188 # (comprising guest RAM, memory hotplug range, and 64-bit
191 # the "pc-q35-*" machine types of the @i386 and @x86_64
193 # above the default 16MB with the "-global
194 # mch.extended-tseg-mbytes=uint16" option. As a rule of
196 # guest-phys address space and a few tens of VCPUs; for
197 # every further TB of guest-phys address space, add 8MB
198 # of SMRAM. 48MB should suffice for 4TB of guest-phys
199 # address space and 2-3 hundred VCPUs.
201 # @secure-boot: The firmware implements the software interfaces for UEFI
203 # that without @requires-smm, guest code running with
207 # @verbose-dynamic: When firmware log capture is enabled, the firmware
211 # "pc-i440fx-*" and "pc-q35-*" machine types of the
212 # @i386 and @x86_64 emulation targets, firmware log
213 # capture can be enabled with the QEMU command line
214 # options "-chardev file,id=fwdebug,path=LOGFILEPATH
215 # -device isa-debugcon,iobase=0x402,chardev=fwdebug".
216 # @verbose-dynamic is mutually exclusive with
217 # @verbose-static.
219 # @verbose-static: The firmware unconditionally produces a large amount
222 # firmware for the "virt-*" machine types of the @arm
225 # PL011 UART. @verbose-static is mutually exclusive
226 # with @verbose-dynamic.
228 # @host-uefi-vars: The firmware expects the host to provide an uefi
229 # variable store. qemu supports that via
230 # "uefi-vars-sysbus" (aarch64, riscv64, loongarch64)
231 # or "uefi-vars-x64" (x86_64) devices. The firmware
240 'data' : [ 'acpi-s3', 'acpi-s4',
241 'amd-sev', 'amd-sev-es', 'amd-sev-snp',
242 'intel-tdx',
243 'enrolled-keys', 'requires-smm',
244 'secure-boot', 'host-uefi-vars',
245 'verbose-dynamic', 'verbose-static' ] }
265 # file into a pflash chip. The corresponding QEMU command line option is
266 # "-drive file=@filename,format=@format". Note however that the
267 # option-argument shown here is incomplete; it is completed under
273 # @format: Specifies the block format of the file pointed-to by
291 # must be configured read-only and can be shared between
293 # for each new guest and configured read-write.
297 # for each new guest and configured read-write.
302 # be configured read-only and can be shared
324 # corresponding QEMU command line options are
325 # -drive if=none,id=pflash0,readonly=on,file=@executable.@filename,format=@executable.@format
326 # -machine pflash0=pflash0
327 # or equivalent -blockdev instead of -drive. When
330 # With QEMU versions older than 4.0, you have to use
331 # -drive if=pflash,unit=0,readonly=on,file=@executable.@filename,format=@executable.@format
333 # @nvram-template: Identifies the NVRAM template compatible with
337 # individual copy -- a specific NVRAM file -- from
338 # @nvram-template.@filename for each new virtual
339 # machine definition created. @nvram-template.@filename
343 # non-volatile UEFI variables of a virtual machine
344 # definition. The preferred corresponding QEMU
346 # -drive if=none,id=pflash1,readonly=off,file=FILENAME_OF_PRIVATE_NVRAM_FILE,format=@nvram-template.@format
347 # -machine pflash1=pflash1
348 # or equivalent -blockdev instead of -drive.
349 # With QEMU versions older than 4.0, you have to use
350 # -drive if=pflash,unit=1,readonly=off,file=FILENAME_OF_PRIVATE_NVRAM_FILE,format=@nvram-template.@format
357 '*nvram-template' : 'FirmwareFlashFile' } }
367 # corresponding QEMU command line option is "-kernel
383 # corresponding QEMU command line option is "-bios
401 # an object on the command line with "-object igvm-cfg,
439 # single @Firmware root element) with a double-digit prefix, for example
440 # "50-ovmf.json", "50-seabios-256k.json", etc, so they can be sorted in
444 # - /usr/share/qemu/firmware -- populated by distro-provided firmware
448 # - /etc/qemu/firmware -- exclusively for sysadmins' local additions,
450 # - $XDG_CONFIG_HOME/qemu/firmware -- exclusively for per-user local
454 # Top-down, the list of directories goes from general to specific.
466 # - /usr/share/qemu/firmware/50-ovmf.json
468 # - /usr/share/qemu/firmware/50-seabios-256k.json
472 # $ touch /etc/qemu/firmware/50-ovmf.json
476 # $ vim /etc/qemu/firmware/50-ovmf.json
480 # $ vim /etc/qemu/firmware/10-ovmf.json
484 # $ vim /etc/qemu/firmware/99-ovmf.json
486 # @description: Provides a human-readable description of the firmware.
489 # @interface-types: Lists the types of interfaces that the firmware can
490 # expose to the guest OS. This is a non-empty, ordered
491 # list; entries near the beginning of @interface-types
495 # @interface-types.
499 # @targets: Collects the target architectures (QEMU system emulators)
507 # possible exposure to the end-user. @tags serves development and
513 # .. qmp-example::
517 # "interface-types": [
522 # "filename": "/usr/share/seabios/bios-256k.bin"
528 # "pc-i440fx-*",
529 # "pc-q35-*"
533 # "architecture": "x86_64",
535 # "pc-i440fx-*",
536 # "pc-q35-*"
541 # "acpi-s3",
542 # "acpi-s4"
553 # "interface-types": [
562 # "nvram-template": {
569 # "architecture": "x86_64",
571 # "pc-q35-*"
576 # "acpi-s3",
577 # "amd-sev",
578 # "requires-smm",
579 # "secure-boot",
580 # "verbose-dynamic"
583 # "-a IA32",
584 # "-a X64",
585 # "-p OvmfPkg/OvmfPkgIa32X64.dsc",
586 # "-t GCC48",
587 # "-b DEBUG",
588 # "-D SMM_REQUIRE",
589 # "-D SECURE_BOOT_ENABLE",
590 # "-D FD_SIZE_4MB"
596 # "interface-types": [
605 # "nvram-template": {
612 # "architecture": "x86_64",
614 # "pc-q35-*"
619 # "acpi-s3",
620 # "amd-sev",
621 # "enrolled-keys",
622 # "requires-smm",
623 # "secure-boot",
624 # "verbose-dynamic"
627 # "-a IA32",
628 # "-a X64",
629 # "-p OvmfPkg/OvmfPkgIa32X64.dsc",
630 # "-t GCC48",
631 # "-b DEBUG",
632 # "-D SMM_REQUIRE",
633 # "-D SECURE_BOOT_ENABLE",
634 # "-D FD_SIZE_4MB"
639 # "description": "OVMF with SEV-ES support",
640 # "interface-types": [
649 # "nvram-template": {
656 # "architecture": "x86_64",
658 # "pc-q35-*"
663 # "acpi-s3",
664 # "amd-sev",
665 # "amd-sev-es",
666 # "verbose-dynamic"
669 # "-a X64",
670 # "-p OvmfPkg/OvmfPkgX64.dsc",
671 # "-t GCC48",
672 # "-b DEBUG",
673 # "-D FD_SIZE_4MB"
679 # "interface-types": [
688 # "nvram-template": {
697 # "virt-*"
705 # "-a AARCH64",
706 # "-p ArmVirtPkg/ArmVirtQemu.dsc",
707 # "-t GCC48",
708 # "-b DEBUG",
709 # "-D DEBUG_PRINT_ERROR_LEVEL=0x80000000"
715 'interface-types' : [ 'FirmwareOSInterface' ],