From: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
To: xen-devel@lists.xensource.com, ian.campbell@citrix.com,
	JBeulich@suse.com
Cc: samuel.thibault@ens-lyon.org,
	"Luis R. Rodriguez" <mcgrof@suse.com>,
	Kevin O'Connor <kevin@koconnor.net>,
	pryorm09@gmail.com, cfergeau@redhat.com
Subject: [PATCH 1/9] Revert "Use the extra stack for 16bit USB and PS2 keyboard/mouse commands."
Date: Fri, 20 Nov 2015 09:47:44 -0800	[thread overview]
Message-ID: <1448041672-3986-2-git-send-email-mcgrof@do-not-panic.com> (raw)
In-Reply-To: <1448041672-3986-1-git-send-email-mcgrof@do-not-panic.com>
From: "Luis R. Rodriguez" <mcgrof@suse.com>
Upstream commit 12085439561f44107c7d3bea5a333a90ea987643
Kevin made this change upstream to seabios, this is needed for gcc5.
Mark Pryor reported the issue with gcc5 a while ago [0], he however
failed to follow up with an explanation as to what this does and why
this is needed.
	Revert "Use the extra stack for 16bit USB and PS2 keyboard/mouse commands."
	It's not valid to pass a pointer to a stack variable through the
	stack_hop() call (because the call changes the stack segment).  This
	bug was probably not noticed before because by default
	(CONFIG_ENTRY_EXTRASTACK) SeaBIOS uses the extra stack on all 16bit
	entry points, and the internal stack_hop() with that config option is
	effectively a no-op.
	This reverts commit d488a7683d90bf8fae7ceb8c3ad9e95fbbd92079.
	Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
[0] http://lkml.kernel.org/r/1444332991-1706-1-git-send-email-pryorm09@gmail.com
Reported-by: Mark Pryor <pryorm09@gmail.com>
Cc: Kevin O'Connor <kevin@koconnor.net>
Cc: ian.campbell@citrix.com
Cc: Jan Beulich <JBeulich@suse.com>
Cc: Mark Pryor <pryorm09@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
---
 src/kbd.c   | 6 +++---
 src/mouse.c | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/kbd.c b/src/kbd.c
index 33a95a398feb..fbcecc382eff 100644
--- a/src/kbd.c
+++ b/src/kbd.c
@@ -11,7 +11,7 @@
 #include "hw/ps2port.h" // ps2_kbd_command
 #include "hw/usb-hid.h" // usb_kbd_command
 #include "output.h" // debug_enter
-#include "stacks.h" // stack_hop
+#include "stacks.h" // yield
 #include "string.h" // memset
 #include "util.h" // kbd_init
 
@@ -117,8 +117,8 @@ static int
 kbd_command(int command, u8 *param)
 {
     if (usb_kbd_active())
-        return stack_hop(command, (u32)param, usb_kbd_command);
-    return stack_hop(command, (u32)param, ps2_kbd_command);
+        return usb_kbd_command(command, param);
+    return ps2_kbd_command(command, param);
 }
 
 // read keyboard input
diff --git a/src/mouse.c b/src/mouse.c
index 92ae9212c849..100255d60cfb 100644
--- a/src/mouse.c
+++ b/src/mouse.c
@@ -10,7 +10,7 @@
 #include "hw/ps2port.h" // ps2_mouse_command
 #include "hw/usb-hid.h" // usb_mouse_command
 #include "output.h" // dprintf
-#include "stacks.h" // stack_hop
+#include "stacks.h" // stack_hop_back
 #include "util.h" // mouse_init
 
 void
@@ -27,8 +27,8 @@ static int
 mouse_command(int command, u8 *param)
 {
     if (usb_mouse_active())
-        return stack_hop(command, (u32)param, usb_mouse_command);
-    return stack_hop(command, (u32)param, ps2_mouse_command);
+        return usb_mouse_command(command, param);
+    return ps2_mouse_command(command, param);
 }
 
 #define RET_SUCCESS      0x00
-- 
2.6.2
next prev parent reply	other threads:[~2015-11-20 17:47 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-20 17:47 [PATCH 0/9] xen: build fixes with gcc5 and binutils 2.25.0 Luis R. Rodriguez
2015-11-20 17:47 ` Luis R. Rodriguez [this message]
2015-11-20 17:47 ` [PATCH 2/9] Use gnutls_priority_set_direct() to deprecate gnutls_*_set() Luis R. Rodriguez
2015-11-25 14:53   ` Konrad Rzeszutek Wilk
2015-11-25 19:36     ` [Xen-devel] " Luis R. Rodriguez
2015-11-25 20:44       ` Konrad Rzeszutek Wilk
2016-02-06  1:44         ` [Xen-devel] " Luis R. Rodriguez
2016-02-06  3:45           ` Konrad Rzeszutek Wilk
2016-02-06  4:03             ` Luis R. Rodriguez
2016-02-06  4:12               ` Konrad Rzeszutek Wilk
2016-02-06  4:36                 ` Luis R. Rodriguez
2016-02-06 20:18               ` Doug Goldstein
2016-02-09 10:54               ` Jan Beulich
2016-02-09 15:46                 ` [Xen-devel] " Luis R. Rodriguez
2016-02-09 16:06                   ` Jan Beulich
2016-02-09 16:36             ` Olaf Hering
2016-02-09 16:42               ` [Xen-devel] " Luis R. Rodriguez
2016-02-09 18:23                 ` Olaf Hering
2016-02-10  3:04                   ` [Xen-devel] " Luis R. Rodriguez
2016-02-10  9:46                     ` Ian Campbell
2016-02-10 15:41                       ` [Xen-devel] " Luis R. Rodriguez
2016-02-10 15:44                         ` Olaf Hering
2016-02-10 15:55                           ` [Xen-devel] " Luis R. Rodriguez
2015-11-20 17:47 ` [PATCH 3/9] hw/usb-net.c: fix state check Luis R. Rodriguez
2015-11-20 17:47 ` [PATCH 4/9] qemu-xen-dir: spice: remove spice-experimental.h include Luis R. Rodriguez
2015-11-20 17:47 ` [PATCH 5/9] qemu-xen-dir: virtio-rng: fix check for period_ms validity Luis R. Rodriguez
2015-11-20 17:47 ` [PATCH 6/9] mini-os: fix linker warning with app.lds Luis R. Rodriguez
2015-11-20 17:47 ` [PATCH 7/9] stubdom: fix unfound libgmp library issues Luis R. Rodriguez
2015-11-20 17:47 ` [PATCH 8/9] vtpm: fix vtpmblk.c compilation warning Luis R. Rodriguez
2015-11-20 17:47 ` [PATCH 9/9] vtpm: guard against redefining TPM_VENDOR_COMMAND Luis R. Rodriguez
2016-02-06  1:48 ` [PATCH 0/9] xen: build fixes with gcc5 and binutils 2.25.0 Luis R. Rodriguez
2016-02-06  3:52   ` Konrad Rzeszutek Wilk
2016-02-06  4:07     ` Luis R. Rodriguez
2016-02-06 20:22       ` Doug Goldstein
2016-02-07  5:34         ` Fengguang Wu
2016-02-08  9:58   ` Ian Campbell
2016-02-09 15:56     ` Luis R. Rodriguez
2016-02-09 16:26       ` Ian Campbell
2016-02-09 16:39         ` Luis R. Rodriguez
2016-02-10  9:34           ` Ian Campbell
2016-02-09  8:08   ` Jan Beulich
2016-02-09 16:09     ` Luis R. Rodriguez
2016-02-09 16:22       ` Ian Campbell
2016-02-09 16:30         ` Luis R. Rodriguez
2016-02-09 16:39           ` Ian Campbell
2016-02-09 16:53             ` Luis R. Rodriguez
2016-02-10  5:21               ` Luis R. Rodriguez
2016-02-10  9:38               ` Ian Campbell
2016-02-10  5:44             ` Luis R. Rodriguez
2016-02-10  9:47               ` Ian Campbell
2016-02-11  8:08           ` Olaf Hering
2016-02-10  0:24         ` Dario Faggioli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox
  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):
  git send-email \
    --in-reply-to=1448041672-3986-2-git-send-email-mcgrof@do-not-panic.com \
    --to=mcgrof@do-not-panic.com \
    --cc=JBeulich@suse.com \
    --cc=cfergeau@redhat.com \
    --cc=ian.campbell@citrix.com \
    --cc=kevin@koconnor.net \
    --cc=mcgrof@suse.com \
    --cc=pryorm09@gmail.com \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY
  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
  Be sure your reply has a Subject: header at the top and a blank line
  before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).