//k_defines.h
//03/17/03 Josh Holtrop
//Modified: 10/30/03

#define	PIC1		0x20
#define	PIC2		0xA0
#define	PIC1_COMMAND	PIC1
#define	PIC1_DATA	(PIC1+1)
#define	PIC2_COMMAND	PIC2
#define	PIC2_DATA	(PIC2+1)
#define	PIC_EOI		0x20

#define	ICW1_ICW4	0x01		/* ICW4 (not) needed */
#define	ICW1_SINGLE	0x02		/* Single (cascade) mode */
#define	ICW1_INTERVAL4	0x04		/* Call address interval 4 (8) */
#define	ICW1_LEVEL	0x08		/* Level triggered (edge) mode */
#define	ICW1_INIT	0x10		/* Initialization - required! */

#define	ICW4_8086	0x01		/* 8086/88 (MCS-80/85) mode */
#define	ICW4_AUTO	0x02		/* Auto (normal) EOI */
#define	ICW4_BUF_SLAVE	0x08		/* Buffered mode/slave */
#define	ICW4_BUF_MASTER	0x0C		/* Buffered mode/master */
#define	ICW4_SFNM	0x10		/* Special fully nested (not) */

#define BLUE_TXT	0x01
#define RED_TXT		0x04
#define WHITE_TXT	0x07
#define CYAN_TXT	0x0B
#define YELLOW_TXT	0x0E
#define BRWHITE_TXT	0x0F

#define FREERAM_START	0x268000
#define MAX_RAM		0x40000000	//1gb maximum RAM supported

#define PID_KERNEL	0x02		//kernel's PID
#define PID_VMM		0x03
#define PID_USER	0x10000		//user processes' start PID

typedef	unsigned char	byte;
typedef	unsigned short	word;
typedef	unsigned int	dword;

typedef struct {
	dword	lowdword;
	dword	highdword;
} __attribute__((packed)) qword;





