Re: Regression: unable to boot after commit bd9240a18edf ("x86/apic: Add TSC_DEADLINE quirk due to errata") - Surface Pro 4 SKL
From: Peter Zijlstra
Date: Tue Dec 19 2017 - 08:15:37 EST
On Tue, Dec 19, 2017 at 06:48:24PM +0800, Zhang Rui wrote:
> On Mon, 2017-12-18 at 21:28 +0100, Peter Zijlstra wrote:
> > Hi, can you see if this makes you Surface boot?
> >
> No, it does not boot.
Bah, staring at the lapic calibrate now, that is a bit of a mess..
> > I tested it on my IVB by making has_legacy_pic() return unconditional
> > true.
> >
> > [ 0.024000] tsc: Unable to calibrate against PIT
> > [ 0.025000] tsc: using HPET reference calibration
> > [ 0.026000] tsc: Detected 2792.451 MHz processor
> >
> > ---
> >
> >
> > diff --git a/arch/x86/include/asm/i8259.h
> > b/arch/x86/include/asm/i8259.h
> > index c8376b40e882..e2cfc4b52ee4 100644
> > --- a/arch/x86/include/asm/i8259.h
> > +++ b/arch/x86/include/asm/i8259.h
> > @@ -69,6 +69,11 @@ struct legacy_pic {
> > extern struct legacy_pic *legacy_pic;
> > extern struct legacy_pic null_legacy_pic;
> >
> > +static inline bool has_legacy_pic(void)
> > +{
> > + return legacy_pic == &null_legacy_pic;
> > +}
> > +
> shouldn't this be
> return legacy_pic == &default_legacy_pic;
> ?
!= &null, but yes, I mess that up.