summaryrefslogtreecommitdiff
path: root/kernel/x86.h
blob: 1e804054e8968f83487c9cacdd156860d2452ee4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef FOOLOS_X86_H
#define FOOLOS_X86_H

#include "kernel.h"

#define X86_IRQ_BEGIN asm("cli\npusha");
#define X86_IRQ_END   asm("mov $0x20, %al\nout %al, $0x20\npopa\nsti\nleave\niret");

//#define X86_IRQ_BEGIN asm("pusha");
//#define X86_IRQ_END   asm("mov $0x20, %al\nout %al, $0x20\npopa\nleave\niret");
//
void x86_outb(int port, uint8_t data);
uint8_t x86_inb(int port);
void x86_outw(int port, uint16_t data);
uint16_t x86_inw(int port);
void x86_outl(int port, uint32_t data);
uint32_t x86_inl(int port);

#endif