Implement an ATA driver, Add vfsmount/vfsunmount syscalls
This commit is contained in:
@ -26,3 +26,21 @@ uint32_t io_in32(uint16_t port) {
|
||||
void io_out32(uint16_t port, uint32_t value) {
|
||||
asm volatile("outl %%eax, %%dx" :: "d"(port), "a"(value));
|
||||
}
|
||||
|
||||
void io_ins16(uint16_t port, void *addr, int cnt) {
|
||||
asm volatile(
|
||||
"cld; rep insw"
|
||||
: "+D"(addr), "+c"(cnt)
|
||||
: "d"(port)
|
||||
: "memory", "cc"
|
||||
);
|
||||
}
|
||||
|
||||
void io_outs16(uint16_t port, const void *addr, int cnt) {
|
||||
asm volatile(
|
||||
"cld; rep outsw"
|
||||
: "+S"(addr), "+c"(cnt)
|
||||
: "d"(port)
|
||||
: "memory", "cc"
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user