]> xenbits.xensource.com Git - seabios.git/commitdiff
Convert USB keyboard code EBDA variables to VARLOW variables.
authorKevin O'Connor <kevin@koconnor.net>
Sun, 13 May 2012 16:39:16 +0000 (12:39 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Sun, 20 May 2012 22:11:01 +0000 (18:11 -0400)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
src/biosvar.h
src/usb-hid.c

index 412afd59f1f7db3cfab189e8b56181f3e94c95b0..0d4b39abf0eb13e4f19364d15fb6b3ffea219dff 100644 (file)
@@ -195,17 +195,6 @@ struct fdpt_s {
     u8 checksum;
 } PACKED;
 
-struct usbkeyinfo {
-    union {
-        struct {
-            u8 modifiers;
-            u8 repeatcount;
-            u8 keys[6];
-        };
-        u64 data;
-    };
-};
-
 struct extended_bios_data_area_s {
     u8 size;
     u8 reserved1[0x21];
@@ -223,7 +212,6 @@ struct extended_bios_data_area_s {
     u8 other2[0xC4];
 
     // 0x121 - Begin custom storage.
-    struct usbkeyinfo usbkey_last;
 
     // El Torito Emulation data
     struct cdemu_s cdemu;
index 6e8ec4e05bc67632401d068c28c7fbdda9717c98..a4fe4ae18348f60d7ec69fd47360cec80ebd8a3d 100644 (file)
@@ -211,6 +211,18 @@ procmodkey(u8 mods, u8 flags)
         }
 }
 
+struct usbkeyinfo {
+    union {
+        struct {
+            u8 modifiers;
+            u8 repeatcount;
+            u8 keys[6];
+        };
+        u64 data;
+    };
+};
+struct usbkeyinfo LastUSBkey VARLOW;
+
 // Process USB keyboard data.
 static void noinline
 handle_key(struct keyevent *data)
@@ -218,9 +230,8 @@ handle_key(struct keyevent *data)
     dprintf(9, "Got key %x %x\n", data->modifiers, data->keys[0]);
 
     // Load old keys.
-    u16 ebda_seg = get_ebda_seg();
     struct usbkeyinfo old;
-    old.data = GET_EBDA2(ebda_seg, usbkey_last.data);
+    old.data = GET_LOW(LastUSBkey.data);
 
     // Check for keys no longer pressed.
     int addpos = 0;
@@ -273,7 +284,7 @@ handle_key(struct keyevent *data)
     }
 
     // Update old keys
-    SET_EBDA2(ebda_seg, usbkey_last.data, old.data);
+    SET_LOW(LastUSBkey.data, old.data);
 }
 
 // Check if a USB keyboard event is pending and process it if so.