75 lines
2.4 KiB
Diff
75 lines
2.4 KiB
Diff
|
From 5ba7247c064336767ee6b0ad9465b547ac90322a Mon Sep 17 00:00:00 2001
|
||
|
From: Colin Watson <cjwatson@ubuntu.com>
|
||
|
Date: Fri, 14 Sep 2012 11:23:36 +0100
|
||
|
Subject: [PATCH 038/364] * grub-core/term/terminfo.c: Only fix up powerpc key
|
||
|
repeat on IEEE1275 machines. Fixes powerpc-emu compilation. *
|
||
|
include/grub/terminfo.h: Likewise.
|
||
|
|
||
|
---
|
||
|
ChangeLog | 6 ++++++
|
||
|
grub-core/term/terminfo.c | 6 +++---
|
||
|
include/grub/terminfo.h | 2 +-
|
||
|
3 files changed, 10 insertions(+), 4 deletions(-)
|
||
|
|
||
|
diff --git a/ChangeLog b/ChangeLog
|
||
|
index 527e9d1..941ed93 100644
|
||
|
--- a/ChangeLog
|
||
|
+++ b/ChangeLog
|
||
|
@@ -1,3 +1,9 @@
|
||
|
+2012-09-14 Colin Watson <cjwatson@ubuntu.com>
|
||
|
+
|
||
|
+ * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
|
||
|
+ IEEE1275 machines. Fixes powerpc-emu compilation.
|
||
|
+ * include/grub/terminfo.h: Likewise.
|
||
|
+
|
||
|
2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
|
||
|
|
||
|
* include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
|
||
|
diff --git a/grub-core/term/terminfo.c b/grub-core/term/terminfo.c
|
||
|
index e35563f..d421e4e 100644
|
||
|
--- a/grub-core/term/terminfo.c
|
||
|
+++ b/grub-core/term/terminfo.c
|
||
|
@@ -33,7 +33,7 @@
|
||
|
#include <grub/extcmd.h>
|
||
|
#include <grub/i18n.h>
|
||
|
#include <grub/time.h>
|
||
|
-#ifdef __powerpc__
|
||
|
+#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275)
|
||
|
#include <grub/ieee1275/ieee1275.h>
|
||
|
#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 c081a92..20541a9 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
|
||
|
--
|
||
|
1.8.1.4
|
||
|
|