From: Kevin O'Connor Date: Mon, 28 May 2012 18:34:49 +0000 (-0400) Subject: Use the extra stack for 16bit USB and PS2 keyboard/mouse commands. X-Git-Tag: rel-1.7.1~46 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=d488a7683d90bf8fae7ceb8c3ad9e95fbbd92079;p=seabios.git Use the extra stack for 16bit USB and PS2 keyboard/mouse commands. Signed-off-by: Kevin O'Connor --- diff --git a/src/kbd.c b/src/kbd.c index 586d57e..0da13a1 100644 --- a/src/kbd.c +++ b/src/kbd.c @@ -110,12 +110,12 @@ dequeue_key(struct bregs *regs, int incr, int extended) SET_BDA(kbd_buf_head, buffer_head); } -static inline int +static int kbd_command(int command, u8 *param) { if (usb_kbd_active()) - return usb_kbd_command(command, param); - return ps2_kbd_command(command, param); + return stack_hop(command, (u32)param, usb_kbd_command); + return stack_hop(command, (u32)param, ps2_kbd_command); } // read keyboard input diff --git a/src/mouse.c b/src/mouse.c index 93e4ed2..ece69db 100644 --- a/src/mouse.c +++ b/src/mouse.c @@ -21,12 +21,12 @@ mouse_setup(void) SETBITS_BDA(equipment_list_flags, 0x04); } -static inline int +static int mouse_command(int command, u8 *param) { if (usb_mouse_active()) - return usb_mouse_command(command, param); - return ps2_mouse_command(command, param); + return stack_hop(command, (u32)param, usb_mouse_command); + return stack_hop(command, (u32)param, ps2_mouse_command); } #define RET_SUCCESS 0x00