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
Implement (half) simple semaphore & mutex lock, and ...
[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..d373aa8efaf9e86b2c04a0fa82a4468f16bd0ed4 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
@@
-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;
};
/**
};
/**