Re: Regression: unable to boot after commit bd9240a18edf ("x86/apic: Add TSC_DEADLINE quirk due to errata") - Surface Pro 4 SKL

From: Zhang Rui
Date: Tue Dec 19 2017 - 10:23:40 EST


On Tue, 2017-12-19 at 14:15 +0100, Peter Zijlstra wrote:
> 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.

I see. I have changed that and the platform can not boot neither.

thanks,
rui