summaryrefslogtreecommitdiff
path: root/kernel/cpu/io.h
blob: 38858a402aa163f7d1c76112a684e61ab39fe03c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdint.h>

extern void outsw(uint16_t, uint32_t);
extern void outb(uint16_t, uint8_t);
extern void outw(uint16_t, uint16_t);
extern void outl(uint16_t, uint32_t);

extern uint32_t inl(uint16_t);
extern uint16_t inw(uint16_t);
extern uint16_t inb(uint16_t);

extern void rep_outsw(uint16_t count, uint16_t port, volatile void *addy);
__attribute__((no_caller_saved_registers)) extern void
rep_insw(uint16_t count, uint16_t port, volatile void *addy);
extern void jump_usermode(void (*address)(), uint32_t stack_pointer);