Lines Matching defs:firmware

23 #include <linux/firmware.h>
44 /* Minimum firmware version required for the SEV-SNP support */
49 * Maximum number of firmware-writable buffers that might be specified
107 * Array containing range of pages that firmware transitions to HV-fixed
418 * Try unrolling the firmware state changes by
420 * firmware state.
500 * parameters corresponding to buffers that may be written to by firmware.
527 * turn need to be transitioned to/from firmware-owned before/after
528 * executing the firmware command.
686 /* Transition the buffer to firmware-owned. */
688 pr_warn("Error moving pages to firmware-owned state for SEV legacy command.\n");
706 pr_warn("Failed to reclaim firmware-owned pages while issuing SEV legacy command.\n");
806 * the firmware-owned state.
863 * sev_cmd_mutex, but there could be recursive firmware requests
877 "SEV: too many firmware commands in progress, no command buffers available.\n");
885 * SNP firmware is in the INIT state.
938 * PSP firmware may report additional error information in the
1008 * address of the TMR (firmware should clear it anyway).
1031 * address of the TMR (firmware should clear it anyway).
1062 * Ensure the list of HV_FIXED pages that will be passed to firmware
1102 dev_dbg(sev->dev, "SEV-SNP support requires firmware version >= %d:%d\n",
1111 * Starting in SNP firmware v1.52, the SNP_INIT_EX command takes a list
1124 * firmware page state.
1161 * - SEV_CMD_SNP_INIT[_EX] firmware command
1163 * - SEV_CMD_SNP_DF_FLUSH firmware command
1178 dev_dbg(sev->dev, "SEV-SNP firmware initialized\n");
1193 /* Must flush the cache before giving it to the firmware */
1204 * the buffer pages to firmware pages.
1229 /* If SEV-SNP is initialized, transition to firmware page. */
1266 * status code, meaning that firmware load and validation of SEV
1290 dev_dbg(sev->dev, "SEV firmware initialized\n");
1319 * continue to initialize the legacy SEV firmware.
1363 dev_dbg(sev->dev, "SEV firmware shutdown\n");
1542 const struct firmware **firmware)
1568 if ((firmware_request_nowarn(firmware, fw_name_specific, dev) >= 0) ||
1569 (firmware_request_nowarn(firmware, fw_name_subset, dev) >= 0) ||
1570 (firmware_request_nowarn(firmware, SEV_FW_FILE, dev) >= 0))
1580 const struct firmware *firmware;
1590 if (sev_get_firmware(dev, &firmware) == -ENOENT) {
1591 dev_dbg(dev, "No SEV firmware file present\n");
1598 * beginning followed by the firmware being passed to the SEV
1604 order = get_order(firmware->size + data_size);
1612 * Copy firmware data to a kernel allocated contiguous
1616 memcpy(page_address(p) + data_size, firmware->data, firmware->size);
1619 data->len = firmware->size;
1625 * earlier firmware version than 1.50.
1631 dev_dbg(dev, "Failed to update SEV firmware: %#x\n", error);
1633 dev_info(dev, "SEV firmware update successful\n");
1638 release_firmware(firmware);
1680 dev_err(sev->dev, "SEV-SNP firmware shutdown failed\n");
1693 * firmware now transitions these pages to Reclaim state and hypervisor
1704 dev_dbg(sev->dev, "SEV-SNP firmware shutdown\n");
1969 * Firmware expects status page to be in firmware-owned state, otherwise
1970 * it will report firmware error code INVALID_PAGE_STATE (0x1A).
2155 * command to the firmware.