Add inw and outw commands in preparation for ATA-PIO support

This commit is contained in:
Xnoe 2021-09-06 17:34:48 +01:00
parent c803f4a38e
commit b2e2cdb19b
Signed by: xnoe
GPG Key ID: 45AC398F44F0DAFE
2 changed files with 12 additions and 0 deletions

9
io.c
View File

@ -7,4 +7,13 @@ uint8_t inb(uint16_t portnumber) {
uint8_t result; uint8_t result;
asm volatile("inb %1, %0" : "=a" (result) : "Nd" (portnumber)); asm volatile("inb %1, %0" : "=a" (result) : "Nd" (portnumber));
return result; return result;
}
void outw(uint16_t portnumber, uint16_t data) {
asm volatile("outw %0, %1" : : "a" (data), "Nd" (portnumber));
}
uint16_t inw(uint16_t portnumber) {
uint16_t result;
asm volatile("inw %1, %0" : "=a" (result) : "Nd" (portnumber));
return result;
} }

3
io.h
View File

@ -6,4 +6,7 @@
void outb(uint16_t portnumber, uint8_t data); void outb(uint16_t portnumber, uint8_t data);
uint8_t inb(uint16_t portnumber); uint8_t inb(uint16_t portnumber);
void outw(uint16_t portnumber, uint16_t data);
uint16_t inw(uint16_t portnumber);
#endif #endif