NOVA
Stripped down NOVA kernel for the OSY course
Loading...
Searching...
No Matches
apic.h
1/*
2 * Advanced Programmable Interrupt Controller (APIC)
3 *
4 * Copyright (C) 2009-2011 Udo Steinberg <udo@hypervisor.org>
5 * Economic rights: Technische Universitaet Dresden (Germany)
6 *
7 * This file is part of the NOVA microhypervisor.
8 *
9 * NOVA is free software: you can redistribute it and/or modify it
10 * under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 *
13 * NOVA is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License version 2 for more details.
17 */
18
19#pragma once
20
21class Apic
22{
23 public:
24 enum Delivery_mode
25 {
26 DLV_FIXED = 0U << 8,
27 DLV_LOWEST_PRIO = 1U << 8,
28 DLV_SMI = 2U << 8,
29 DLV_REMOTE_READ = 3U << 8,
30 DLV_NMI = 4U << 8,
31 DLV_INIT = 5U << 8,
32 DLV_SIPI = 6U << 8,
33 DLV_EXTINT = 7U << 8
34 };
35
36 enum Mask
37 {
38 UNMASKED = 0U << 16,
39 MASKED = 1U << 16 // 0x10000
40 };
41};
Definition apic.h:22