From f96085b35d8aa6d100429bd1e802b9a1bf1442a8 Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Fri, 3 Nov 2017 17:22:29 -0600 Subject: [PATCH] x86: add on-chip thermal sensors and cpuid support Cover temperature sensors for all mainstream 64-bit processors, including AMD 10h and 15h families, Intel iCore, Xeon, Atom, and Via Nano. Also add CPUID support for user-space applications to detect CPU type. Include the on-chip sensors for 64-bit CPU's in the generic profile in case someone builds a 32-bit kernel to run on a Xeon SoC, etc. Signed-off-by: Philip Prindeville --- target/linux/x86/64/config-default | 19 ++++++++++++++++++- target/linux/x86/generic/config-default | 15 +++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/target/linux/x86/64/config-default b/target/linux/x86/64/config-default index cd65998016..7fcce94bf8 100644 --- a/target/linux/x86/64/config-default +++ b/target/linux/x86/64/config-default @@ -15,6 +15,7 @@ CONFIG_ACPI_CPU_FREQ_PSS=y CONFIG_ACPI_FAN=y CONFIG_ACPI_HOTPLUG_CPU=y CONFIG_ACPI_HOTPLUG_IOAPIC=y +# CONFIG_ACPI_I2C_OPREGION is not set CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y # CONFIG_ACPI_NFIT is not set # CONFIG_ACPI_PCI_SLOT is not set @@ -180,6 +181,7 @@ CONFIG_HVC_IRQ=y CONFIG_HVC_XEN=y CONFIG_HVC_XEN_FRONTEND=y CONFIG_HWMON=y +CONFIG_HWMON_VID=y CONFIG_HW_RANDOM_AMD=y CONFIG_HW_RANDOM_INTEL=y CONFIG_HW_RANDOM_VIRTIO=y @@ -190,6 +192,8 @@ CONFIG_HYPERV_KEYBOARD=y CONFIG_HYPERV_NET=y CONFIG_HYPERV_STORAGE=y CONFIG_HYPERV_UTILS=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y # CONFIG_I7300_IDLE is not set # CONFIG_IA32_EMULATION is not set CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 @@ -198,8 +202,13 @@ CONFIG_INTEL_IDLE=y # CONFIG_INTEL_IPS is not set # CONFIG_INTEL_MENLOW is not set # CONFIG_INTEL_MIC_BUS is not set +CONFIG_INTEL_PCH_THERMAL=y # CONFIG_INTEL_PMC_IPC is not set +CONFIG_INTEL_SOC_DTS_IOSF_CORE=y +CONFIG_INTEL_SOC_DTS_THERMAL=y # CONFIG_IOMMU_DEBUG is not set +CONFIG_IOSF_MBI=y +# CONFIG_IOSF_MBI_DEBUG is not set # CONFIG_ISCSI_IBFT_FIND is not set CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y # CONFIG_KVM_DEBUG_FS is not set @@ -278,7 +287,11 @@ CONFIG_SCHED_SMT=y # CONFIG_SCIF_BUS is not set CONFIG_SCSI_VIRTIO=y CONFIG_SENSORS_CORETEMP=y +CONFIG_SENSORS_FAM15H_POWER=y +CONFIG_SENSORS_I5500=y CONFIG_SENSORS_K10TEMP=y +CONFIG_SENSORS_K8TEMP=y +CONFIG_SENSORS_VIA_CPUTEMP=y CONFIG_SERIAL_8250_PNP=y CONFIG_SMP=y CONFIG_SPARSEMEM=y @@ -290,6 +303,9 @@ CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y # CONFIG_SURFACE_PRO3_BUTTON is not set CONFIG_SWIOTLB_XEN=y CONFIG_SYS_HYPERVISOR=y +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_WRITABLE_TRIPS=y # CONFIG_TOSHIBA_BT_RFKILL is not set CONFIG_TREE_RCU=y CONFIG_UCS2_STRING=y @@ -330,14 +346,15 @@ CONFIG_X86_ACPI_CPUFREQ=y CONFIG_X86_AMD_FREQ_SENSITIVITY=y # CONFIG_X86_AMD_PLATFORM_DEVICE is not set CONFIG_X86_CMOV=y +CONFIG_X86_CPUID=y CONFIG_X86_DEBUGCTLMSR=y CONFIG_X86_DEV_DMA_OPS=y CONFIG_X86_DIRECT_GBPAGES=y # CONFIG_X86_INTEL_LPSS is not set # CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set CONFIG_X86_MINIMUM_CPU_FAMILY=64 -# CONFIG_X86_MSR is not set # CONFIG_X86_PCC_CPUFREQ is not set +CONFIG_X86_PKG_TEMP_THERMAL=y # CONFIG_X86_PMEM_LEGACY is not set CONFIG_X86_PM_TIMER=y # CONFIG_X86_POWERNOW_K8 is not set diff --git a/target/linux/x86/generic/config-default b/target/linux/x86/generic/config-default index f6cd62fc6c..51d835cc1f 100644 --- a/target/linux/x86/generic/config-default +++ b/target/linux/x86/generic/config-default @@ -176,6 +176,7 @@ CONFIG_HVC_IRQ=y CONFIG_HVC_XEN=y CONFIG_HVC_XEN_FRONTEND=y CONFIG_HWMON=y +CONFIG_HWMON_VID=y CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HYPERV=y CONFIG_HYPERVISOR_GUEST=y @@ -197,7 +198,10 @@ CONFIG_INTEL_GTT=y CONFIG_INTEL_IDLE=y # CONFIG_INTEL_IPS is not set # CONFIG_INTEL_MENLOW is not set +CONFIG_INTEL_PCH_THERMAL=y # CONFIG_INTEL_PMC_IPC is not set +CONFIG_INTEL_SOC_DTS_IOSF_CORE=y +CONFIG_INTEL_SOC_DTS_THERMAL=y CONFIG_INTERVAL_TREE=y CONFIG_IOSF_MBI=y # CONFIG_IOSF_MBI_DEBUG is not set @@ -313,6 +317,12 @@ CONFIG_SATA_AHCI=y CONFIG_SATA_VIA=y CONFIG_SCHED_INFO=y CONFIG_SCSI_VIRTIO=y +CONFIG_SENSORS_CORETEMP=y +CONFIG_SENSORS_FAM15H_POWER=y +CONFIG_SENSORS_I5500=y +CONFIG_SENSORS_K10TEMP=y +CONFIG_SENSORS_K8TEMP=y +CONFIG_SENSORS_VIA_CPUTEMP=y CONFIG_SERIAL_8250_PNP=y CONFIG_SMP=y # CONFIG_SURFACE_PRO3_BUTTON is not set @@ -320,6 +330,9 @@ CONFIG_SWIOTLB_XEN=y CONFIG_SYS_HYPERVISOR=y CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_WRITABLE_TRIPS=y # CONFIG_TOSHIBA_BT_RFKILL is not set CONFIG_TREE_RCU=y CONFIG_UCS2_STRING=y @@ -349,6 +362,7 @@ CONFIG_X86_AMD_FREQ_SENSITIVITY=y # CONFIG_X86_AMD_PLATFORM_DEVICE is not set # CONFIG_X86_BIGSMP is not set CONFIG_X86_CMOV=y +CONFIG_X86_CPUID=y CONFIG_X86_DEBUGCTLMSR=y # CONFIG_X86_E_POWERSAVER is not set CONFIG_X86_INTEL_LPSS=y @@ -358,6 +372,7 @@ CONFIG_X86_L1_CACHE_SHIFT=7 # CONFIG_X86_LONGHAUL is not set CONFIG_X86_NEED_RELOCS=y # CONFIG_X86_PCC_CPUFREQ is not set +CONFIG_X86_PKG_TEMP_THERMAL=y # CONFIG_X86_PMEM_LEGACY is not set CONFIG_X86_PM_TIMER=y # CONFIG_X86_POWERNOW_K8 is not set