pull/26/head
E. Almqvist 3 years ago
parent a97c9f7018
commit 91923430c4
  1. 16
      kernel/io.c
  2. 5
      kernel/io.h

@ -1,3 +1,4 @@
// Function to read a byte from port
unsigned char port_byte_in(unsigned short port) {
unsigned char res;
__asm__("in %%dx, %%al" : "=a" (res) : "d" (port));
@ -5,6 +6,21 @@ unsigned char port_byte_in(unsigned short port) {
return res;
}
// to write a byte to port
void port_byte_out(unsigned short port, unsigned char data) {
__asm__("out %%al, %%dx" : :"a" (data), "d" (port));
}
// Read word from port
unsigned short port_word_in(unsigned short port) {
unsigned short res;
__asm__("in %%dx, %%ax" : "=a" (res) : "d" (port));
return res;
}
// write word to port
void port_word_out(unsigned short port, unsigned short data) {
__asm__("out %%ax, %%dx" : :"a" (data), "d" (port));
}

@ -0,0 +1,5 @@
unsigned char port_byte_in();
void port_byte_out();
unsigned short port_word_in();
void port_word_out();
Loading…
Cancel
Save