blob: e4a1db1088630da81c52ecc8be195ea66f3d7c77 [file] [log] [blame]
/*
* Copyright (c) 2009 Corey Tabaka
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files
* (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef __PLATFORM_X86_H
#define __PLATFORM_X86_H
#include <platform/x86/memmap.h>
#include <platform/x86/iomap.h>
/* NOTE: keep arch/x86/crt0.S in sync with these definitions */
/* interrupts */
#define INT_VECTORS 0x31
/* defined interrupts */
#define INT_BASE 0x20
#define INT_PIT 0x20
#define INT_KEYBOARD 0x21
#define INT_PIC2 0x22
#define INT_BASE2 0x28
#define INT_CMOSRTC 0x28
#define INT_PS2MOUSE 0x2c
#define INT_IDE0 0x2e
#define INT_IDE1 0x2f
/* exceptions */
#define INT_DIVIDE_0 0x00
#define INT_DEBUG_EX 0x01
#define INT_INVALID_OP 0x06
#define INT_DEV_NA_EX 0x07
/* faults */
#define INT_STACK_FAULT 0x0c
#define INT_GP_FAULT 0x0d
#define INT_PAGE_FAULT 0x0e
/* APIC vectors */
#define INT_APIC_TIMER 0x22
#define INT_SYSCALL 0x30
/* PIC remap bases */
#define PIC1_BASE 0x20
#define PIC2_BASE 0x28
#endif