From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753084AbdEMCa6 (ORCPT ); Fri, 12 May 2017 22:30:58 -0400 Received: from mail-pg0-f66.google.com ([74.125.83.66]:32987 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750952AbdEMCaz (ORCPT ); Fri, 12 May 2017 22:30:55 -0400 Reply-To: pgnet.dev@gmail.com To: "linux-kernel@vger.kernel.org" From: PGNet Dev Subject: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS? Message-ID: <61d510e2-0353-ddf2-f63c-8a1688a6b6ed@gmail.com> Date: Fri, 12 May 2017 19:30:52 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:53.0) Gecko/20100101 Thunderbird/53.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I run kernel 4.11.0-4 on a Supermicro X10SAT motherboard. HPET's enabled in BIOS, and apparently firmware table data is available. But, hpet is not an available_clocksource. Where's this need to be addressed/fixed? In my config, in kernel code, &/or in BIOS? info: @ the mobo, dmidecode # dmidecode 3.0 Getting SMBIOS data from sysfs. SMBIOS 2.7 present. 81 structures occupying 3317 bytes. Table at 0x000EC200. Handle 0x0000, DMI type 0, 24 bytes BIOS Information Vendor: American Megatrends Inc. Version: 3.0 Release Date: 05/26/2015 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 16384 kB Characteristics: PCI is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported BIOS ROM is socketed EDD is supported 5.25"/1.2 MB floppy services are supported (int 13h) 3.5"/720 kB floppy services are supported (int 13h) 3.5"/2.88 MB floppy services are supported (int 13h) Print screen service is supported (int 5h) 8042 keyboard services are supported (int 9h) Serial services are supported (int 14h) Printer services are supported (int 17h) ACPI is supported USB legacy is supported BIOS boot specification is supported Targeted content distribution is supported UEFI is supported BIOS Revision: 4.6 In BIOS, HPET's enabled. On boot to Xen on linux64 xl info release : 4.11.0-4.gcb15206-default version : #1 SMP PREEMPT Thu May 11 07:36:09 UTC 2017 (cb15206) machine : x86_64 nr_cpus : 4 max_cpu_id : 3 nr_nodes : 1 cores_per_socket : 4 threads_per_core : 1 cpu_mhz : 3092 hw_caps : bfebfbff:77faf3ff:2c100800:00000021:00000001:000027ab:00000000:00000100 virt_caps : hvm hvm_directio total_memory : 32493 free_memory : 25899 sharing_freed_memory : 0 sharing_used_memory : 0 outstanding_claims : 0 free_cpus : 0 xen_major : 4 xen_minor : 9 xen_extra : .0_04-493 xen_version : 4.9.0_04-493 xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 xen_scheduler : credit2 xen_pagesize : 4096 platform_params : virt_start=0xffff800000000000 xen_changeset : xen_commandline : dom0_mem=4096M,max:4096M dom0_max_vcpus=4 vga=gfx-1920x1080x16 com1=115200,8n1,pci console=com1,vga console_timestamps console_to_ring conring_size=64 sched=credit2 sched_debug reboot=acpi log_buf_len=16M iommu=verbose apic_verbosity=verbose loglvl=all guest_loglvl=all noreboot=false sync_console=true cc_compiler : gcc (SUSE Linux) 4.8.5 cc_compile_by : abuild cc_compile_domain : suse.de cc_compile_date : Wed May 10 21:26:38 UTC 2017 build_id : dde541fac1512c7b1ce17e7496aab57a xend_config_format : 4 grep -i hpet /boot/config-4.11.0-4.gcb15206-default CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_HPET=y CONFIG_HPET_MMAP=y CONFIG_HPET_MMAP_DEFAULT=y , dmesg reports dmesg | grep -i hpet [ 0.000000] Command line: root=/dev/mapper/VG0_ROOT rd.shell rd.auto=1 rootfstype=ext4 rootflags=journal_checksum noresume video=vesa:off video=efifb:1024x768 video=HDMI-A-1:1920x1080@60 xencons=xvc console=tty0 console=hvc0 elevator=deadline cpuidle cpufreq=xen:ondemand hpet=force,verbose net.ifnames=1 biosdevname=1 pcie_aspm=off mce=off nomodeset showopts noquiet log_buf_len=10M print_fatal_signals=1 systemd.log_level=debug systemd.log_target=kmsg earlyprintk=xen,keep debug loglevel=8 [ 0.000000] ACPI: HPET 0x000000009E8298F8 000038 (v01 SUPERM SMCI--MB 01072009 AMI. 00000005) [ 0.000000] ACPI: HPET id: 0x8086a701 base: 0xfed00000 [ 0.000000] Kernel command line: root=/dev/mapper/VG0_ROOT rd.shell rd.auto=1 rootfstype=ext4 rootflags=journal_checksum noresume video=vesa:off video=efifb:1024x768 video=HDMI-A-1:1920x1080@60 xencons=xvc console=tty0 console=hvc0 elevator=deadline cpuidle cpufreq=xen:ondemand hpet=force,verbose net.ifnames=1 biosdevname=1 pcie_aspm=off mce=off nomodeset showopts noquiet log_buf_len=10M print_fatal_signals=1 systemd.log_level=debug systemd.log_target=kmsg earlyprintk=xen,keep debug loglevel=8 [ 8.491738] hpet_acpi_add: no address or irqs in _CRS After boot, however, no hpet clocksource is available cat /sys/devices/system/clocksource/clocksource0/available_clocksource tsc xen Disassembling the firmware acpi tables cat /sys/firmware/acpi/tables/HPET > /var/tmp/hpet.out iasl -d /var/tmp/hpet.out Intel ACPI Component Architecture ASL Optimizing Compiler version 20140214-64 Copyright (c) 2000 - 2014 Intel Corporation Loading Acpi table from file /var/tmp/hpet.out - Length 00000056 (000038) Acpi Data Table [HPET] decoded Formatted output: /var/tmp/hpet.dsl - 1835 bytes cat /var/tmp/hpet.dsl /* * Intel ACPI Component Architecture * AML Disassembler version 20140214-64 * Copyright (c) 2000 - 2014 Intel Corporation * * Disassembly of /var/tmp/hpet.out, Fri May 12 18:46:28 2017 * * ACPI Data Table [HPET] * * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue */ [000h 0000 4] Signature : "HPET" [High Precision Event Timer table] [004h 0004 4] Table Length : 00000038 [008h 0008 1] Revision : 01 [009h 0009 1] Checksum : 89 [00Ah 0010 6] Oem ID : "SUPERM" [010h 0016 8] Oem Table ID : "SMCI--MB" [018h 0024 4] Oem Revision : 01072009 [01Ch 0028 4] Asl Compiler ID : "AMI." [020h 0032 4] Asl Compiler Revision : 00000005 [024h 0036 4] Hardware Block ID : 8086A701 [028h 0040 12] Timer Block Register : [Generic Address Structure] [028h 0040 1] Space ID : 00 [SystemMemory] [029h 0041 1] Bit Width : 40 [02Ah 0042 1] Bit Offset : 00 [02Bh 0043 1] Encoded Access Width : 00 [Undefined/Legacy] [02Ch 0044 8] Address : 00000000FED00000 [034h 0052 1] Sequence Number : 00 [035h 0053 2] Minimum Clock Ticks : 37EE [037h 0055 1] Flags (decoded below) : 00 4K Page Protect : 0 64K Page Protect : 0 Raw Table Data: Length 56 (0x38) 0000: 48 50 45 54 38 00 00 00 01 89 53 55 50 45 52 4D HPET8.....SUPERM 0010: 53 4D 43 49 2D 2D 4D 42 09 20 07 01 41 4D 49 2E SMCI--MB. ..AMI. 0020: 05 00 00 00 01 A7 86 80 00 40 00 00 00 00 D0 FE .........@...... 0030: 00 00 00 00 00 EE 37 00 ......7. and for ref cat /proc/sys/dev/hpet /proc/sys/dev/hpet cat /proc/sys/dev/hpet/max-user-freq /proc/driver/rtc 64 rtc_time : 01:44:28 rtc_date : 2017-05-13 alrm_time : 21:02:26 alrm_date : 2017-05-13 alarm_IRQ : no alrm_pending : no update IRQ enabled : no periodic IRQ enabled : no periodic IRQ frequency : 1024 max user IRQ frequency : 64 24hr : yes periodic_IRQ : no update_IRQ : no HPET_emulated : no BCD : yes DST_enable : no periodic_freq : 1024 batt_status : okay