From 4431d5dc76e632ceace9914ba6762af351fe0efb Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 1 Dec 2017 07:58:15 +0000 Subject: [PATCH] Change default tsc calibration method to pmtimer on EFI systems (FS#56521) --- ...ion-method-to-pmtimer-on-EFI-systems.patch | 31 +++++++++++++++++++ PKGBUILD | 8 ++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 0006-tsc-Change-default-tsc-calibration-method-to-pmtimer-on-EFI-systems.patch diff --git a/0006-tsc-Change-default-tsc-calibration-method-to-pmtimer-on-EFI-systems.patch b/0006-tsc-Change-default-tsc-calibration-method-to-pmtimer-on-EFI-systems.patch new file mode 100644 index 0000000..38dcdda --- /dev/null +++ b/0006-tsc-Change-default-tsc-calibration-method-to-pmtimer-on-EFI-systems.patch @@ -0,0 +1,31 @@ +From 446794de8da4329ea532cbee4ca877bcafd0e534 Mon Sep 17 00:00:00 2001 +From: "David E. Box" +Date: Fri, 15 Sep 2017 15:37:05 -0700 +Subject: tsc: Change default tsc calibration method to pmtimer on EFI systems + +On efi systems, make pmtimer based tsc calibration the default over the +pit. This prevents Grub from hanging on Intel SoC systems that power gate +the pit. + +Signed-off-by: David E. Box +Reviewed-by: Daniel Kiper +--- + 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..f266eb131 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_pmtimer () || grub_tsc_calibrate_from_pit () || grub_tsc_calibrate_from_efi() || calibrate_tsc_hardcode()); + #elif defined (GRUB_MACHINE_COREBOOT) + (void) (grub_tsc_calibrate_from_pmtimer () || grub_tsc_calibrate_from_pit () || calibrate_tsc_hardcode()); + #else +-- +cgit v1.1-26-g67d0 + diff --git a/PKGBUILD b/PKGBUILD index 805423e..da0a1e0 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -22,7 +22,7 @@ _UNIFONT_VER="10.0.06" pkgname="grub" pkgdesc="GNU GRand Unified Bootloader (2)" pkgver=2.02 -pkgrel=3 +pkgrel=4 epoch=2 url="https://www.gnu.org/software/grub/" arch=('x86_64') @@ -64,6 +64,7 @@ source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig} '0003-10_linux-detect-archlinux-initramfs.patch' '0004-add-GRUB_COLOR_variables.patch' '0005-Allow_GRUB_to_mount_ext234_filesystems_that_have_the_encryption_feature.patch' + '0006-tsc-Change-default-tsc-calibration-method-to-pmtimer-on-EFI-systems.patch' 'grub.default' 'grub.cfg') @@ -76,6 +77,7 @@ sha256sums=('810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f' 'b41e4438319136b5e74e0abdfcb64ae115393e4e15207490272c425f54026dd3' 'a5198267ceb04dceb6d2ea7800281a42b3f91fd02da55d2cc9ea20d47273ca29' '535422c510a050d41efe7720dbe54de29e04bdb8f86fd5aea5feb0b24f7abe46' + 'c38f2b2caae33008b35a37d8293d8bf13bf6fd779a4504925da1837fd007aeb5' '74e5dd2090a153c10a7b9599b73bb09e70fddc6a019dd41641b0f10b9d773d82' 'c5e4f3836130c6885e9273c21f057263eba53f4b7c0e2f111f6e5f2e487a47ad') @@ -99,6 +101,10 @@ prepare() { patch -Np1 -i "${srcdir}/0005-Allow_GRUB_to_mount_ext234_filesystems_that_have_the_encryption_feature.patch" echo + msg "Patch to change default tsc calibration method to pmtimer on EFI systems" + patch -Np1 -i "${srcdir}/0006-tsc-Change-default-tsc-calibration-method-to-pmtimer-on-EFI-systems.patch" + echo + msg "Fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme" sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "configure.ac"