On Tue, 2017-09-12 at 23:46 +0000, Vladimir 'phcoder' Serbinenko wrote: > > > On Wed, Sep 6, 2017, 22:21 David E. Box <david.e....@linux.intel.com> > wrote: > > On efi systems, make efi based tsc calibration the default, > > followed by > > the pmtimer before using the pit. This prevents Grub boot failure > > on > > newer x86 systems that power gate the pit. > > Why does put code fail? I think it was changed to detect gated pit.
On these systems, even though the pit is gated the timer2 latch logic still works. So when the tics are set the latch still goes from high to active low as expected for a functional timer. But since the device is clock gated it never counts down and the bit never gets reset, leading to an infinite loop. > Also I'd prefer to use pmtimer first as we had problems with event > and time routines on some Macs. Any reason not to use pmtimer first? No reason not to use pmtimer first. I had not considered boot speed as well which must be prioritized. I'll submit a new patch. > > Signed-off-by: David E. Box <david.e....@linux.intel.com> > > --- > > grub-core/kern/i386/tsc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/grub-core/kern/i386/tsc.c b/grub-core/kern/i386/tsc.c > > index 2e85289d8..de4057ddb 100644 > > --- a/grub-core/kern/i386/tsc.c > > +++ b/grub-core/kern/i386/tsc.c > > @@ -68,7 +68,7 @@ grub_tsc_init (void) > > #ifdef GRUB_MACHINE_XEN > > (void) (grub_tsc_calibrate_from_xen () || > > calibrate_tsc_hardcode()); > > #elif defined (GRUB_MACHINE_EFI) > > - (void) (grub_tsc_calibrate_from_pit () || > > grub_tsc_calibrate_from_pmtimer () || grub_tsc_calibrate_from_efi() > > || calibrate_tsc_hardcode()); > > + (void) (grub_tsc_calibrate_from_efi () || > > grub_tsc_calibrate_from_pmtimer () || grub_tsc_calibrate_from_pit > > () || calibrate_tsc_hardcode()); > > #elif defined (GRUB_MACHINE_COREBOOT) > > (void) (grub_tsc_calibrate_from_pmtimer () || > > grub_tsc_calibrate_from_pit () || calibrate_tsc_hardcode()); > > #else > > -- > > 2.13.5 > > > > > > _______________________________________________ > > Grub-devel mailing list > > Grub-devel@gnu.org > > https://lists.gnu.org/mailman/listinfo/grub-devel > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel