Lines Matching +full:suspend +full:- +full:to +full:- +full:disk
1 # -*- Mode: Python -*-
11 # later. See the COPYING file in the top-level directory.
20 'member-name-exceptions': [
27 # Lists the firmware-OS interface types provided by various firmware
34 # 1275-1994 standard. Examples for firmware projects that
37 # @uboot: Firmware interface defined by the U-Boot project.
53 # @flash: The firmware executable and its accompanying NVRAM file are to
56 # @kernel: The firmware is to be loaded like a Linux kernel. This is
57 # similar to @memory but may imply additional processing that
58 # is specific to the target architecture and machine type.
60 # @memory: The firmware is to be mapped into memory.
62 # @igvm: The firmware is defined by a file conforming to the IGVM
63 # specification and mapped into memory according to directives
64 # defined in the file. This is similar to @memory but may
80 # @aarch64: 64-bit Arm.
82 # @arm: 32-bit Arm.
84 # @i386: 32-bit x86.
86 # @loongarch64: 64-bit LoongArch. (since: 7.1)
88 # @x86_64: 64-bit x86.
105 # firmware. Elements of @machines are supposed to be concrete
108 # (For example, the glob pattern "pc-i440fx-*" matches
109 # "pc-i440fx-2.12".) On the QEMU command line, "-machine
125 # @acpi-s3: The firmware supports S3 sleep (suspend to RAM), as defined
126 # in the ACPI specification. On the "pc-i440fx-*" machine
128 # enabled with "-global PIIX4_PM.disable_s3=0" and disabled
129 # with "-global PIIX4_PM.disable_s3=1". On the "pc-q35-*"
131 # can be enabled with "-global ICH9-LPC.disable_s3=0" and
132 # disabled with "-global ICH9-LPC.disable_s3=1".
134 # @acpi-s4: The firmware supports S4 hibernation (suspend to disk), as
135 # defined in the ACPI specification. On the "pc-i440fx-*"
137 # can be enabled with "-global PIIX4_PM.disable_s4=0" and
138 # disabled with "-global PIIX4_PM.disable_s4=1". On the
139 # "pc-q35-*" machine types of the @i386 and @x86_64 emulation
140 # targets, S4 can be enabled with "-global
141 # ICH9-LPC.disable_s4=0" and disabled with "-global
142 # ICH9-LPC.disable_s4=1".
144 # @amd-sev: The firmware supports running under AMD Secure Encrypted
146 # Programmer's Manual. QEMU command line options related to
148 # "docs/system/i386/amd-memory-encryption.rst".
150 # @amd-sev-es: The firmware supports running under AMD Secure Encrypted
151 # Virtualization - Encrypted State, as specified in the AMD64
153 # related to this feature are documented in
154 # "docs/system/i386/amd-memory-encryption.rst".
156 # @amd-sev-snp: The firmware supports running under AMD Secure Encrypted
157 # Virtualization - Secure Nested Paging, as specified in the
159 # options related to this feature are documented in
160 # "docs/system/i386/amd-memory-encryption.rst".
162 # @intel-tdx: The firmware supports running under Intel Trust Domain
165 # @enrolled-keys: The variable store (NVRAM) template associated with
170 # @requires-smm: The firmware requires the platform to emulate SMM
173 # and IA-32 Architectures Software Developer's Manual. On
174 # the "pc-q35-*" machine types of the @i386 and @x86_64
176 # "-machine smm=on". (On the "pc-q35-*" machine types of
177 # the @i386 emulation target, @requires-smm presents
178 # further CPU requirements; one combination known to work
179 # is "-cpu coreduo,nx=off".) If the firmware is marked as
180 # both @secure-boot and @requires-smm, then write
181 # accesses to the pflash chip (NVRAM) that holds the UEFI
182 # variable store must be restricted to code that executes
183 # in SMM, using the additional option "-global
185 # Furthermore, a large guest-physical address space
186 # (comprising guest RAM, memory hotplug range, and 64-bit
189 # the "pc-q35-*" machine types of the @i386 and @x86_64
191 # above the default 16MB with the "-global
192 # mch.extended-tseg-mbytes=uint16" option. As a rule of
194 # guest-phys address space and a few tens of VCPUs; for
195 # every further TB of guest-phys address space, add 8MB
196 # of SMRAM. 48MB should suffice for 4TB of guest-phys
197 # address space and 2-3 hundred VCPUs.
199 # @secure-boot: The firmware implements the software interfaces for UEFI
201 # that without @requires-smm, guest code running with
205 # @verbose-dynamic: When firmware log capture is enabled, the firmware
209 # "pc-i440fx-*" and "pc-q35-*" machine types of the
212 # options "-chardev file,id=fwdebug,path=LOGFILEPATH
213 # -device isa-debugcon,iobase=0x402,chardev=fwdebug".
214 # @verbose-dynamic is mutually exclusive with
215 # @verbose-static.
217 # @verbose-static: The firmware unconditionally produces a large amount
220 # firmware for the "virt-*" machine types of the @arm
222 # messages are written to the first (always present)
223 # PL011 UART. @verbose-static is mutually exclusive
224 # with @verbose-dynamic.
226 # @host-uefi-vars: The firmware expects the host to provide an uefi
228 # "uefi-vars-sysbus" (aarch64, riscv64, loongarch64)
229 # or "uefi-vars-x64" (x86_64) devices. The firmware
232 # used. It is recommened to load the firmware into
238 'data' : [ 'acpi-s3', 'acpi-s4',
239 'amd-sev', 'amd-sev-es', 'amd-sev-snp',
240 'intel-tdx',
241 'enrolled-keys', 'requires-smm',
242 'secure-boot', 'host-uefi-vars',
243 'verbose-dynamic', 'verbose-static' ] }
250 # @raw: Raw disk image format.
264 # "-drive file=@filename,format=@format". Note however that the
265 # option-argument shown here is incomplete; it is completed under
271 # @format: Specifies the block format of the file pointed-to by
289 # must be configured read-only and can be shared between
291 # for each new guest and configured read-write.
295 # for each new guest and configured read-write.
300 # be configured read-only and can be shared
323 # -drive if=none,id=pflash0,readonly=on,file=@executable.@filename,format=@executa…
324 # -machine pflash0=pflash0
325 # or equivalent -blockdev instead of -drive. When
328 # With QEMU versions older than 4.0, you have to use
329 # -drive if=pflash,unit=0,readonly=on,file=@executable.@filename,format=@executabl…
331 # @nvram-template: Identifies the NVRAM template compatible with
332 # @executable, when @mode is set to @split,
335 # individual copy -- a specific NVRAM file -- from
336 # @nvram-template.@filename for each new virtual
337 # machine definition created. @nvram-template.@filename
341 # non-volatile UEFI variables of a virtual machine
344 # -drive if=none,id=pflash1,readonly=off,file=FILENAME_OF_PRIVATE_NVRAM_FILE,f…
345 # -machine pflash1=pflash1
346 # or equivalent -blockdev instead of -drive.
347 # With QEMU versions older than 4.0, you have to use
348 # -drive if=pflash,unit=1,readonly=off,file=FILENAME_OF_PRIVATE_NVRAM_FILE,for…
355 '*nvram-template' : 'FirmwareFlashFile' } }
365 # corresponding QEMU command line option is "-kernel
381 # corresponding QEMU command line option is "-bios
396 # along with other information used to configure the initial
398 # virtual machine definitions. This corresponds to creating
399 # an object on the command line with "-object igvm-cfg,
410 # Provides a discriminated structure for firmware to describe its
429 # Describes a firmware (or a firmware use case) to management software.
431 # It is possible for multiple @Firmware elements to match the search
432 # criteria of management software. Applications thus need rules to pick
433 # one of the many matches, and users need the ability to override distro
436 # It is recommended to create firmware JSON files (each containing a
437 # single @Firmware root element) with a double-digit prefix, for example
438 # "50-ovmf.json", "50-seabios-256k.json", etc, so they can be sorted in
442 # - /usr/share/qemu/firmware -- populated by distro-provided firmware
446 # - /etc/qemu/firmware -- exclusively for sysadmins' local additions,
448 # - $XDG_CONFIG_HOME/qemu/firmware -- exclusively for per-user local
450 # defaults to $HOME/.config).
452 # Top-down, the list of directories goes from general to specific.
464 # - /usr/share/qemu/firmware/50-ovmf.json
466 # - /usr/share/qemu/firmware/50-seabios-256k.json
470 # $ touch /etc/qemu/firmware/50-ovmf.json
474 # $ vim /etc/qemu/firmware/50-ovmf.json
478 # $ vim /etc/qemu/firmware/10-ovmf.json
482 # $ vim /etc/qemu/firmware/99-ovmf.json
484 # @description: Provides a human-readable description of the firmware.
487 # @interface-types: Lists the types of interfaces that the firmware can
488 # expose to the guest OS. This is a non-empty, ordered
489 # list; entries near the beginning of @interface-types
490 # are considered more native to the firmware, and/or
491 # to have a higher quality implementation in the
493 # @interface-types.
504 # which @description is not appropriate, due to the latter's
505 # possible exposure to the end-user. @tags serves development and
511 # .. qmp-example::
515 # "interface-types": [
520 # "filename": "/usr/share/seabios/bios-256k.bin"
526 # "pc-i440fx-*",
527 # "pc-q35-*"
533 # "pc-i440fx-*",
534 # "pc-q35-*"
539 # "acpi-s3",
540 # "acpi-s4"
551 # "interface-types": [
560 # "nvram-template": {
569 # "pc-q35-*"
574 # "acpi-s3",
575 # "amd-sev",
576 # "requires-smm",
577 # "secure-boot",
578 # "verbose-dynamic"
581 # "-a IA32",
582 # "-a X64",
583 # "-p OvmfPkg/OvmfPkgIa32X64.dsc",
584 # "-t GCC48",
585 # "-b DEBUG",
586 # "-D SMM_REQUIRE",
587 # "-D SECURE_BOOT_ENABLE",
588 # "-D FD_SIZE_4MB"
594 # "interface-types": [
603 # "nvram-template": {
612 # "pc-q35-*"
617 # "acpi-s3",
618 # "amd-sev",
619 # "enrolled-keys",
620 # "requires-smm",
621 # "secure-boot",
622 # "verbose-dynamic"
625 # "-a IA32",
626 # "-a X64",
627 # "-p OvmfPkg/OvmfPkgIa32X64.dsc",
628 # "-t GCC48",
629 # "-b DEBUG",
630 # "-D SMM_REQUIRE",
631 # "-D SECURE_BOOT_ENABLE",
632 # "-D FD_SIZE_4MB"
637 # "description": "OVMF with SEV-ES support",
638 # "interface-types": [
647 # "nvram-template": {
656 # "pc-q35-*"
661 # "acpi-s3",
662 # "amd-sev",
663 # "amd-sev-es",
664 # "verbose-dynamic"
667 # "-a X64",
668 # "-p OvmfPkg/OvmfPkgX64.dsc",
669 # "-t GCC48",
670 # "-b DEBUG",
671 # "-D FD_SIZE_4MB"
677 # "interface-types": [
686 # "nvram-template": {
695 # "virt-*"
703 # "-a AARCH64",
704 # "-p ArmVirtPkg/ArmVirtQemu.dsc",
705 # "-t GCC48",
706 # "-b DEBUG",
707 # "-D DEBUG_PRINT_ERROR_LEVEL=0x80000000"
713 'interface-types' : [ 'FirmwareOSInterface' ],