blob: e4a1db1088630da81c52ecc8be195ea66f3d7c77 [file] [log] [blame]
Corey Tabaka84697242009-03-26 02:32:01 -04001/*
2 * Copyright (c) 2009 Corey Tabaka
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining
5 * a copy of this software and associated documentation files
6 * (the "Software"), to deal in the Software without restriction,
7 * including without limitation the rights to use, copy, modify, merge,
8 * publish, distribute, sublicense, and/or sell copies of the Software,
9 * and to permit persons to whom the Software is furnished to do so,
10 * subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be
13 * included in all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 */
23#ifndef __PLATFORM_X86_H
24#define __PLATFORM_X86_H
25
26#include <platform/x86/memmap.h>
27#include <platform/x86/iomap.h>
28
29/* NOTE: keep arch/x86/crt0.S in sync with these definitions */
30
31/* interrupts */
32#define INT_VECTORS 0x31
33
34/* defined interrupts */
35#define INT_BASE 0x20
36#define INT_PIT 0x20
37#define INT_KEYBOARD 0x21
38#define INT_PIC2 0x22
39
40#define INT_BASE2 0x28
41#define INT_CMOSRTC 0x28
42#define INT_PS2MOUSE 0x2c
43#define INT_IDE0 0x2e
44#define INT_IDE1 0x2f
45
46/* exceptions */
47#define INT_DIVIDE_0 0x00
48#define INT_DEBUG_EX 0x01
49#define INT_INVALID_OP 0x06
50#define INT_DEV_NA_EX 0x07
51
52/* faults */
53#define INT_STACK_FAULT 0x0c
54#define INT_GP_FAULT 0x0d
55#define INT_PAGE_FAULT 0x0e
56
57/* APIC vectors */
58#define INT_APIC_TIMER 0x22
59
60#define INT_SYSCALL 0x30
61
62/* PIC remap bases */
63#define PIC1_BASE 0x20
64#define PIC2_BASE 0x28
65
66#endif
67