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