From e3a69c7dc5aedb03933c4cfe2013970771a1f8ec Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Fri, 14 Sep 2012 11:27:05 +0100 Subject: [PATCH] Only fix up powerpc key repeat on IEEE1275 machines. Fixes powerpc-emu compilation. --- debian/changelog | 2 ++ debian/patches/fix_powerpc_emu.patch | 52 ++++++++++++++++++++++++++++ debian/patches/series | 1 + grub-core/term/terminfo.c | 6 ++-- include/grub/terminfo.h | 2 +- 5 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 debian/patches/fix_powerpc_emu.patch diff --git a/debian/changelog b/debian/changelog index 0f947e7a6..7ea23d5cd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ grub2 (2.00-4) UNRELEASED; urgency=low * Fix platform postinsts to handle new core.img location. + * Only fix up powerpc key repeat on IEEE1275 machines. Fixes powerpc-emu + compilation. -- Colin Watson Fri, 14 Sep 2012 10:28:00 +0100 diff --git a/debian/patches/fix_powerpc_emu.patch b/debian/patches/fix_powerpc_emu.patch new file mode 100644 index 000000000..34225550d --- /dev/null +++ b/debian/patches/fix_powerpc_emu.patch @@ -0,0 +1,52 @@ +Description: Only fix up powerpc key repeat on IEEE1275 machines. + Fixes powerpc-emu compilation. +Author: Colin Watson +Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4580 +Forwarded: not-needed +Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4580 +Last-Update: 2012-09-14 + +Index: b/grub-core/term/terminfo.c +=================================================================== +--- a/grub-core/term/terminfo.c ++++ b/grub-core/term/terminfo.c +@@ -33,7 +33,7 @@ + #include + #include + #include +-#ifdef __powerpc__ ++#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275) + #include + #endif + +@@ -563,7 +563,7 @@ + grub_terminfo_readkey (termi, data->input_buf, + &data->npending, data->readkey); + +-#ifdef __powerpc__ ++#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275) + if (data->npending == 1 && data->input_buf[0] == '\e' + && grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_BROKEN_REPEAT) + && grub_get_time_ms () - data->last_key_time < 1000 +@@ -580,7 +580,7 @@ + int ret; + data->npending--; + ret = data->input_buf[0]; +-#ifdef __powerpc__ ++#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275) + if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_BROKEN_REPEAT)) + { + data->last_key = ret; +Index: b/include/grub/terminfo.h +=================================================================== +--- a/include/grub/terminfo.h ++++ b/include/grub/terminfo.h +@@ -32,7 +32,7 @@ + { + int input_buf[GRUB_TERMINFO_READKEY_MAX_LEN]; + int npending; +-#ifdef __powerpc__ ++#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275) + int last_key; + grub_uint64_t last_key_time; + #endif diff --git a/debian/patches/series b/debian/patches/series index b3699331d..37250e60c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -16,3 +16,4 @@ restore_mkdevicemap.patch efi_mmap_size.patch gettext_quiet.patch mkconfig_mid_upgrade.patch +fix_powerpc_emu.patch diff --git a/grub-core/term/terminfo.c b/grub-core/term/terminfo.c index e35563f06..d421e4e40 100644 --- a/grub-core/term/terminfo.c +++ b/grub-core/term/terminfo.c @@ -33,7 +33,7 @@ #include #include #include -#ifdef __powerpc__ +#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275) #include #endif @@ -563,7 +563,7 @@ grub_terminfo_getkey (struct grub_term_input *termi) grub_terminfo_readkey (termi, data->input_buf, &data->npending, data->readkey); -#ifdef __powerpc__ +#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275) if (data->npending == 1 && data->input_buf[0] == '\e' && grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_BROKEN_REPEAT) && grub_get_time_ms () - data->last_key_time < 1000 @@ -580,7 +580,7 @@ grub_terminfo_getkey (struct grub_term_input *termi) int ret; data->npending--; ret = data->input_buf[0]; -#ifdef __powerpc__ +#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275) if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_BROKEN_REPEAT)) { data->last_key = ret; diff --git a/include/grub/terminfo.h b/include/grub/terminfo.h index c081a92e1..20541a949 100644 --- a/include/grub/terminfo.h +++ b/include/grub/terminfo.h @@ -32,7 +32,7 @@ struct grub_terminfo_input_state { int input_buf[GRUB_TERMINFO_READKEY_MAX_LEN]; int npending; -#ifdef __powerpc__ +#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275) int last_key; grub_uint64_t last_key_time; #endif