From: Daniel Drake <drake@endlessm.com>
To: Aubrey Li <aubrey.intel@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
x86@kernel.org, "Li, Aubrey" <aubrey.li@linux.intel.com>,
Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Endless Linux Upstreaming Team <linux@endlessm.com>
Subject: Re: setup_boot_APIC_clock() NULL dereference during early boot on reduced hardware platforms
Date: Thu, 1 Aug 2019 17:00:23 +0800 [thread overview]
Message-ID: <CAD8Lp452GdoL-Bt7rSP=u3RKEZ2H3qm3LvKfe=cCsjP0biG_sQ@mail.gmail.com> (raw)
In-Reply-To: <CAERHkruxfBc8DqNUr=fbYuQWrXrHC7cK6HnVR3xp0iLA9QtxiQ@mail.gmail.com>
On Thu, Aug 1, 2019 at 3:16 PM Aubrey Li <aubrey.intel@gmail.com> wrote:
> No, the platform needs a global clock event, can you turn on some other
> clock source on your platform, like HPET?
Thanks Audrey and Thomas for the quick hints!
I double checked under Windows - it seems to be using a HPET there.
Also there is the HPET ACPI table. So I think this is the right angle
to look at.
Under Linux, hpet_legacy_clockevent_register() is the function where
global_clock_event can be set to HPET.
However, the only way this can be called is from hpet_enable().
hpet_enable() is called from 2 places:
1. From hpet_time_init(). This is the default x86 timer_init that
acpi_generic_reduced_hw_init() took out of action here.
2. From hpet_late_init(). However that function is only called late,
after calibrate_APIC_clock() has already crashed the kernel. Also,
even if moved earlier it would also not call hpet_enable() here
because the ACPI HPET table parsing has already populated
hpet_address.
I tried slotting in a call to hpet_enable() at an earlier point
regardless, but I still end up with the kernel hanging later during
boot, probably because irq0 fails to be setup and this error is hit:
if (setup_irq(0, &irq0))
pr_info("Failed to register legacy timer interrupt\n");
I'll go deeper into that; further hints welcome too.
Thanks
Daniel
next prev parent reply other threads:[~2019-08-01 9:00 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-01 6:24 setup_boot_APIC_clock() NULL dereference during early boot on reduced hardware platforms Daniel Drake
2019-08-01 7:16 ` Aubrey Li
2019-08-01 7:35 ` Thomas Gleixner
2019-08-01 7:56 ` Aubrey Li
2019-08-01 8:13 ` Thomas Gleixner
2019-08-01 8:21 ` Li, Aubrey
2019-08-01 10:13 ` Thomas Gleixner
2019-08-01 15:44 ` Lendacky, Thomas
2019-08-08 20:36 ` Thomas Gleixner
2019-08-08 21:01 ` Lendacky, Thomas
2019-08-08 21:08 ` Thomas Gleixner
2019-08-08 21:36 ` Lendacky, Thomas
2019-08-09 12:54 ` [PATCH] x86/apic: Handle missing global clockevent gracefully Thomas Gleixner
2019-08-09 12:59 ` Jiri Slaby
2019-08-09 13:58 ` Lendacky, Thomas
2019-08-09 19:40 ` Thomas Gleixner
2019-08-12 6:16 ` Daniel Drake
2019-08-12 7:03 ` Jiri Slaby
2019-08-15 5:02 ` Daniel Drake
2019-08-12 7:46 ` Li, Aubrey
2019-08-12 12:24 ` Thomas Gleixner
2019-08-12 12:59 ` Aubrey Li
2019-08-12 17:11 ` Thomas Gleixner
2019-08-19 10:37 ` [tip:x86/urgent] " tip-bot for Thomas Gleixner
2019-08-01 9:00 ` Daniel Drake [this message]
2019-08-01 10:17 ` setup_boot_APIC_clock() NULL dereference during early boot on reduced hardware platforms Thomas Gleixner
2019-08-01 7:27 ` Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAD8Lp452GdoL-Bt7rSP=u3RKEZ2H3qm3LvKfe=cCsjP0biG_sQ@mail.gmail.com' \
--to=drake@endlessm.com \
--cc=aubrey.intel@gmail.com \
--cc=aubrey.li@linux.intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@endlessm.com \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).