git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix: incorrect settings of msi registers.
[lunaix-os.git]
/
lunaix-os
/
includes
/
lunaix
/
peripheral
/
ps2kbd.h
diff --git
a/lunaix-os/includes/lunaix/peripheral/ps2kbd.h
b/lunaix-os/includes/lunaix/peripheral/ps2kbd.h
index a63ffdc5690b97c3fe71937cfe9f4e4dc9a7570f..2d568a6bc9ebd31fcd33006fef435f1bf4d9e1cd 100644
(file)
--- a/
lunaix-os/includes/lunaix/peripheral/ps2kbd.h
+++ b/
lunaix-os/includes/lunaix/peripheral/ps2kbd.h
@@
-3,6
+3,8
@@
#include <hal/io.h>
#include <lunaix/keyboard.h>
#include <hal/io.h>
#include <lunaix/keyboard.h>
+#include <lunaix/ds/mutex.h>
+
#define PS2_PORT_ENC_DATA 0x60
#define PS2_PORT_ENC_CMDREG 0x60
#define PS2_PORT_ENC_DATA 0x60
#define PS2_PORT_ENC_CMDREG 0x60
@@
-33,7
+35,7
@@
#define PS2_CMD_SELFTEST 0xaa
#define PS2_CMD_SELFTEST_PORT1 0xab
#define PS2_CMD_SELFTEST 0xaa
#define PS2_CMD_SELFTEST_PORT1 0xab
-#define PS2_CMD_READ_CFG 0x20
+#define PS2_CMD_READ_CFG 0x20
#define PS2_CMD_WRITE_CFG 0x60
#define PS2_CFG_P1INT 0x1
#define PS2_CMD_WRITE_CFG 0x60
#define PS2_CFG_P1INT 0x1
@@
-54,7
+56,7
@@
struct ps2_cmd {
};
struct ps2_kbd_state {
};
struct ps2_kbd_state {
- char state;
+
volatile
char state;
volatile char masked;
kbd_keycode_t* translation_table;
kbd_kstate_t key_state;
volatile char masked;
kbd_keycode_t* translation_table;
kbd_kstate_t key_state;
@@
-64,16
+66,14
@@
struct ps2_cmd_queue {
struct ps2_cmd cmd_queue[PS2_CMD_QUEUE_SIZE];
int queue_ptr;
int queue_len;
struct ps2_cmd cmd_queue[PS2_CMD_QUEUE_SIZE];
int queue_ptr;
int queue_len;
- // FIXME: replace lock with something specialized.
- volatile char lock;
+ mutex_t mutex;
};
struct ps2_key_buffer {
struct kdb_keyinfo_pkt buffer[PS2_KBD_RECV_BUFFER_SIZE];
int read_ptr;
int buffered_len;
};
struct ps2_key_buffer {
struct kdb_keyinfo_pkt buffer[PS2_KBD_RECV_BUFFER_SIZE];
int read_ptr;
int buffered_len;
- // FIXME: replace lock with something specialized.
- volatile char lock;
+ mutex_t mutex;
};
/**
};
/**