Lines Matching +full:op +full:- +full:mode
1 // SPDX-License-Identifier: GPL-2.0
12 #include <xen/xen-ops.h>
19 #include "xen-ops.h"
49 struct xen_platform_op op = { in xen_efi_probe() local
56 union xenpf_efi_info *info = &op.u.firmware_info.u.efi_info; in xen_efi_probe()
58 if (!xen_initial_domain() || HYPERVISOR_platform_op(&op) < 0) in xen_efi_probe()
64 efi_systab_xen.tables = info->cfg.addr; in xen_efi_probe()
65 efi_systab_xen.nr_tables = info->cfg.nent; in xen_efi_probe()
67 op.cmd = XENPF_firmware_info; in xen_efi_probe()
68 op.u.firmware_info.type = XEN_FW_EFI_INFO; in xen_efi_probe()
69 op.u.firmware_info.index = XEN_FW_EFI_VENDOR; in xen_efi_probe()
70 info->vendor.bufsz = sizeof(vendor); in xen_efi_probe()
71 set_xen_guest_handle(info->vendor.name, vendor); in xen_efi_probe()
73 if (HYPERVISOR_platform_op(&op) == 0) { in xen_efi_probe()
75 efi_systab_xen.fw_revision = info->vendor.revision; in xen_efi_probe()
79 op.cmd = XENPF_firmware_info; in xen_efi_probe()
80 op.u.firmware_info.type = XEN_FW_EFI_INFO; in xen_efi_probe()
81 op.u.firmware_info.index = XEN_FW_EFI_VERSION; in xen_efi_probe()
83 if (HYPERVISOR_platform_op(&op) == 0) in xen_efi_probe()
84 efi_systab_xen.hdr.revision = info->version; in xen_efi_probe()
86 op.cmd = XENPF_firmware_info; in xen_efi_probe()
87 op.u.firmware_info.type = XEN_FW_EFI_INFO; in xen_efi_probe()
88 op.u.firmware_info.index = XEN_FW_EFI_RT_VERSION; in xen_efi_probe()
90 if (HYPERVISOR_platform_op(&op) == 0) in xen_efi_probe()
91 efi.runtime_version = info->version; in xen_efi_probe()
97 * Determine whether we're in secure boot mode.
102 enum efi_secureboot_mode mode; in xen_efi_get_secureboot() local
107 mode = efi_get_secureboot_mode(efi.get_variable); in xen_efi_get_secureboot()
108 if (mode == efi_secureboot_mode_unknown) { in xen_efi_get_secureboot()
112 if (mode != efi_secureboot_mode_enabled) in xen_efi_get_secureboot()
113 return mode; in xen_efi_get_secureboot()
115 /* See if a user has put the shim into insecure mode. */ in xen_efi_get_secureboot()
141 strscpy((char *)&boot_params->efi_info.efi_loader_signature, "Xen", in xen_efi_init()
142 sizeof(boot_params->efi_info.efi_loader_signature)); in xen_efi_init()
143 boot_params->efi_info.efi_systab = (__u32)__pa(efi_systab_xen); in xen_efi_init()
144 boot_params->efi_info.efi_systab_hi = (__u32)(__pa(efi_systab_xen) >> 32); in xen_efi_init()
146 boot_params->secure_boot = xen_efi_get_secureboot(); in xen_efi_init()