32,30 → 32,35 |
#include <arch/types.h> |
|
#define KBD_PHYS_ADDRESS 0x1fff8904000ULL |
#define KBD_VIRT_ADDRESS 0x000d0000000ULL |
|
#define STATUS_REG 4 |
#define COMMAND_REG 4 |
#define DATA_REG 6 |
|
#define LAST_REG DATA_REG |
|
extern volatile __u8 *kbd_virt_address; |
|
static inline void i8042_data_write(__u8 data) |
{ |
((volatile __u8 *)(KBD_VIRT_ADDRESS))[DATA_REG] = data; |
kbd_virt_address[DATA_REG] = data; |
} |
|
static inline __u8 i8042_data_read(void) |
{ |
return ((volatile __u8 *)(KBD_VIRT_ADDRESS))[DATA_REG]; |
return kbd_virt_address[DATA_REG]; |
} |
|
static inline __u8 i8042_status_read(void) |
{ |
return ((volatile __u8 *)(KBD_VIRT_ADDRESS))[STATUS_REG]; |
return kbd_virt_address[STATUS_REG]; |
} |
|
static inline void i8042_command_write(__u8 command) |
{ |
((volatile __u8 *)(KBD_VIRT_ADDRESS))[COMMAND_REG] = command; |
kbd_virt_address[COMMAND_REG] = command; |
} |
|
extern void kbd_init(void); |
|
#endif |