Re: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?
Randy Dunlap wrote: > On 05/12/17 19:30, PGNet Dev wrote: >> dmesg | grep -i hpet >> [8.491738] hpet_acpi_add: no address or irqs in _CRS > > Above line marks a big failure. > ^^^ > >> Disassembling the firmware acpi tables >> >> cat /sys/firmware/acpi/tables/HPET > /var/tmp/hpet.out >> iasl -d /var/tmp/hpet.out That table is not used by hpet_acpi_add; you have to check for the device that mentions "PNP0103" in the DSDT table. But anyway, as far as I can tell from my own machine, the _CRS in the DSDT table never lists the HPET interrupts, and the HPET registration is always done by hpet_reserve_platform_timers() in arch/x86/kernel/hpet.c. Try adding logging to hpet_late_init() to find out why it aborts. Regards, Clemens
Re: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?
Randy Dunlap wrote: > On 05/12/17 19:30, PGNet Dev wrote: >> dmesg | grep -i hpet >> [8.491738] hpet_acpi_add: no address or irqs in _CRS > > Above line marks a big failure. > ^^^ > >> Disassembling the firmware acpi tables >> >> cat /sys/firmware/acpi/tables/HPET > /var/tmp/hpet.out >> iasl -d /var/tmp/hpet.out That table is not used by hpet_acpi_add; you have to check for the device that mentions "PNP0103" in the DSDT table. But anyway, as far as I can tell from my own machine, the _CRS in the DSDT table never lists the HPET interrupts, and the HPET registration is always done by hpet_reserve_platform_timers() in arch/x86/kernel/hpet.c. Try adding logging to hpet_late_init() to find out why it aborts. Regards, Clemens
Re: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?
On 5/13/17 12:45 PM, Clemens Ladisch wrote: That table is not used by hpet_acpi_add; you have to check for the device that mentions "PNP0103" in the DSDT table. But anyway, as far as I can tell from my own machine, the _CRS in the DSDT table never lists the HPET interrupts, and the HPET registration is always done by hpet_reserve_platform_timers() in arch/x86/kernel/hpet.c. Try adding logging to hpet_late_init() to find out why it aborts. I assume you mean in kernel source code? I'm using distro packages for both kernel & Xen -- not DIY building.
Re: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?
On 5/13/17 12:45 PM, Clemens Ladisch wrote: That table is not used by hpet_acpi_add; you have to check for the device that mentions "PNP0103" in the DSDT table. But anyway, as far as I can tell from my own machine, the _CRS in the DSDT table never lists the HPET interrupts, and the HPET registration is always done by hpet_reserve_platform_timers() in arch/x86/kernel/hpet.c. Try adding logging to hpet_late_init() to find out why it aborts. I assume you mean in kernel source code? I'm using distro packages for both kernel & Xen -- not DIY building.
Re: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?
On 05/13/17 11:26, PGNet Dev wrote: > On 5/13/17 10:41 AM, Randy Dunlap wrote: >> [adding HPET driver maintainer] > > Thanks > >> A couple of comments below... > >>> In BIOS, HPET's enabled. >> >> How about if you just boot Linux without Xen? Does HPET show up then? > > yes, it appears so: > > cat devices/system/clocksource/clocksource0/available > tsc hpet acpi_pm Adding xen mailing list: Is HPET support a known issue in Xen? release: 4.11.0-4.gcb15206-default xen_version: 4.9.0_04-493 Original message is here: http://marc.info/?l=linux-kernel=149464267427111=2 Thanks. >>> [8.491738] hpet_acpi_add: no address or irqs in _CRS >> >> Above line marks a big failure. >> ^^^ > > I suspected that's problematic. > > In the non-Xen case > > dmesg | grep -i hpet > [0.00] ACPI: HPET 0x9E8298F8 38 (v01 SUPERM SMCI--MB > 01072009 AMI. 0005) > [0.00] ACPI: HPET id: 0x8086a701 base: 0xfed0 > [0.00] clocksource: hpet: mask: 0x max_cycles: 0x, > max_idle_ns: 133484882848 ns > [0.00] hpet clockevent registered > [0.144010] DMAR-IR: HPET id 0 under DRHD base 0xfed9 > [1.398047] hpet0: at MMIO 0xfed0, IRQs 2, 8, 0, 0, 0, 0, 0, 0 > [1.404226] hpet0: 8 comparators, 64-bit 14.318180 MHz counter > [1.412080] clocksource: Switched to clocksource hpet > [3.627234] rtc_cmos 00:02: alarms up to one month, y3k, 242 bytes > nvram, hpet irqs > -- ~Randy
Re: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?
On 05/13/17 11:26, PGNet Dev wrote: > On 5/13/17 10:41 AM, Randy Dunlap wrote: >> [adding HPET driver maintainer] > > Thanks > >> A couple of comments below... > >>> In BIOS, HPET's enabled. >> >> How about if you just boot Linux without Xen? Does HPET show up then? > > yes, it appears so: > > cat devices/system/clocksource/clocksource0/available > tsc hpet acpi_pm Adding xen mailing list: Is HPET support a known issue in Xen? release: 4.11.0-4.gcb15206-default xen_version: 4.9.0_04-493 Original message is here: http://marc.info/?l=linux-kernel=149464267427111=2 Thanks. >>> [8.491738] hpet_acpi_add: no address or irqs in _CRS >> >> Above line marks a big failure. >> ^^^ > > I suspected that's problematic. > > In the non-Xen case > > dmesg | grep -i hpet > [0.00] ACPI: HPET 0x9E8298F8 38 (v01 SUPERM SMCI--MB > 01072009 AMI. 0005) > [0.00] ACPI: HPET id: 0x8086a701 base: 0xfed0 > [0.00] clocksource: hpet: mask: 0x max_cycles: 0x, > max_idle_ns: 133484882848 ns > [0.00] hpet clockevent registered > [0.144010] DMAR-IR: HPET id 0 under DRHD base 0xfed9 > [1.398047] hpet0: at MMIO 0xfed0, IRQs 2, 8, 0, 0, 0, 0, 0, 0 > [1.404226] hpet0: 8 comparators, 64-bit 14.318180 MHz counter > [1.412080] clocksource: Switched to clocksource hpet > [3.627234] rtc_cmos 00:02: alarms up to one month, y3k, 242 bytes > nvram, hpet irqs > -- ~Randy
Re: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?
On 5/13/17 10:41 AM, Randy Dunlap wrote: [adding HPET driver maintainer] Thanks A couple of comments below... In BIOS, HPET's enabled. How about if you just boot Linux without Xen? Does HPET show up then? yes, it appears so: cat devices/system/clocksource/clocksource0/available tsc hpet acpi_pm [8.491738] hpet_acpi_add: no address or irqs in _CRS Above line marks a big failure. ^^^ I suspected that's problematic. In the non-Xen case dmesg | grep -i hpet [0.00] ACPI: HPET 0x9E8298F8 38 (v01 SUPERM SMCI--MB 01072009 AMI. 0005) [0.00] ACPI: HPET id: 0x8086a701 base: 0xfed0 [0.00] clocksource: hpet: mask: 0x max_cycles: 0x, max_idle_ns: 133484882848 ns [0.00] hpet clockevent registered [0.144010] DMAR-IR: HPET id 0 under DRHD base 0xfed9 [1.398047] hpet0: at MMIO 0xfed0, IRQs 2, 8, 0, 0, 0, 0, 0, 0 [1.404226] hpet0: 8 comparators, 64-bit 14.318180 MHz counter [1.412080] clocksource: Switched to clocksource hpet [3.627234] rtc_cmos 00:02: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
Re: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?
On 5/13/17 10:41 AM, Randy Dunlap wrote: [adding HPET driver maintainer] Thanks A couple of comments below... In BIOS, HPET's enabled. How about if you just boot Linux without Xen? Does HPET show up then? yes, it appears so: cat devices/system/clocksource/clocksource0/available tsc hpet acpi_pm [8.491738] hpet_acpi_add: no address or irqs in _CRS Above line marks a big failure. ^^^ I suspected that's problematic. In the non-Xen case dmesg | grep -i hpet [0.00] ACPI: HPET 0x9E8298F8 38 (v01 SUPERM SMCI--MB 01072009 AMI. 0005) [0.00] ACPI: HPET id: 0x8086a701 base: 0xfed0 [0.00] clocksource: hpet: mask: 0x max_cycles: 0x, max_idle_ns: 133484882848 ns [0.00] hpet clockevent registered [0.144010] DMAR-IR: HPET id 0 under DRHD base 0xfed9 [1.398047] hpet0: at MMIO 0xfed0, IRQs 2, 8, 0, 0, 0, 0, 0, 0 [1.404226] hpet0: 8 comparators, 64-bit 14.318180 MHz counter [1.412080] clocksource: Switched to clocksource hpet [3.627234] rtc_cmos 00:02: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
Re: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?
[adding HPET driver maintainer] A couple of comments below... On 05/12/17 19:30, PGNet Dev wrote: > 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 0x, DMI type 0, 24 bytes > BIOS Information > Vendor: American Megatrends Inc. > Version: 3.0 > Release Date: 05/26/2015 > Address: 0xF > 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. How about if you just boot Linux without Xen? Does HPET show up then? > 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:0021:0001:27ab::0100 > 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=0x8000 > 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.00] Command line: root=/dev/mapper/VG0_ROOT rd.shell >
Re: HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?
[adding HPET driver maintainer] A couple of comments below... On 05/12/17 19:30, PGNet Dev wrote: > 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 0x, DMI type 0, 24 bytes > BIOS Information > Vendor: American Megatrends Inc. > Version: 3.0 > Release Date: 05/26/2015 > Address: 0xF > 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. How about if you just boot Linux without Xen? Does HPET show up then? > 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:0021:0001:27ab::0100 > 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=0x8000 > 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.00] Command line: root=/dev/mapper/VG0_ROOT rd.shell >