mirror of
https://git.proxmox.com/git/fwupd
synced 2025-05-10 18:23:43 +00:00

This is much more efficient than parsing hundreds of lines of /proc/cpuinfo and also causes hundreds of thousands less allocations at startup. For systems with dozens of virtual CPUs the deduplication of device objects was increasing start up time considerably. Use the msr plugin to read the microcode version as this is not obtained using CPUID, as it is instead being provided in an MSR.
25 lines
623 B
C
25 lines
623 B
C
/*
|
|
* Copyright (C) 2020 Mario Limonciello <mario.limonciello@dell.com>
|
|
*
|
|
* SPDX-License-Identifier: LGPL-2.1+
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "fu-plugin.h"
|
|
|
|
#define FU_TYPE_CPU_DEVICE (fu_cpu_device_get_type ())
|
|
G_DECLARE_FINAL_TYPE (FuCpuDevice, fu_cpu_device, FU, CPU_DEVICE, FuDevice)
|
|
|
|
typedef enum {
|
|
FU_CPU_DEVICE_FLAG_NONE = 0,
|
|
FU_CPU_DEVICE_FLAG_SHSTK = 1 << 0,
|
|
FU_CPU_DEVICE_FLAG_IBT = 1 << 1,
|
|
FU_CPU_DEVICE_FLAG_TME = 1 << 2,
|
|
FU_CPU_DEVICE_FLAG_SMAP = 1 << 3,
|
|
} FuCpuDeviceFlag;
|
|
|
|
FuCpuDevice *fu_cpu_device_new (void);
|
|
gboolean fu_cpu_device_has_flag (FuCpuDevice *self,
|
|
FuCpuDeviceFlag flag);
|