bootloader/boot/fn.h
Hojun-Cho c9c820840f add memprobe
NOTE: print "%llx" "%lld" not working now
2024-12-08 23:14:32 +09:00

61 lines
954 B
C

#define MAX(x, y) ((x)>(y)?(x):(y))
#define MIN(x, y) ((x)<(y)?(x):(y))
// console.c
void cominit(ConDev *d);
void pcinit(ConDev *d);
int pcprobe(ConDev *d);
int pcgetc(int dev);
void pcputc(int dev, int c);
int comprobe(ConDev *d);
int comgetc(int dev);
void computc(int dev, int c);
// print.c
void putchar(int c);
int getchar(void);
void print(const char *fmt, ...);
// a20.c
void a20up(void);
// mem.c
void memprobe(void);
// time.c
long getsecs(void);
static __inline int
major(int x)
{
return (x >> 8) & 0xff;
}
static __inline int
minor(int x)
{
return (x & 0xff) | ((x & 0xffff0000) >> 8);
}
static __inline int
makedev(int x, int y)
{
return (((x & 0xff) << 8) |
(y & 0xff) |
((y & 0xffff00)<<8));
}
static __inline void
outb(int port, u8 data)
{
__asm volatile("outb %0,%w1" : : "a" (data), "d" (port));
}
static __inline u8
inb(int port)
{
u8 data;
__asm volatile("inb %w1,%0" : "=a" (data) : "d" (port));
return data;
}