ia64/xen-unstable

view xen/include/public/io/vmx_vlapic.h @ 5755:be1153585cb0

Fix hgignore regexps some more.
author kaf24@firebug.cl.cam.ac.uk
date Tue Jul 12 16:19:59 2005 +0000 (2005-07-12)
parents 4669354bba9a
children 760f5e85c706 b3a255e88810
line source
1 #ifndef _VMX_VLAPIC_H
2 #define _VMX_VLAPIC_H
4 /*
5 We extended one bit for PIC type
6 */
7 #define VLAPIC_DELIV_MODE_FIXED 0x0
8 #define VLAPIC_DELIV_MODE_LPRI 0x1
9 #define VLAPIC_DELIV_MODE_SMI 0x2
10 #define VLAPIC_DELIV_MODE_NMI 0x4
11 #define VLAPIC_DELIV_MODE_INIT 0x5
12 #define VLAPIC_DELIV_MODE_STARTUP 0x6
13 #define VLAPIC_DELIV_MODE_EXT 0x7
14 #define VLAPIC_DELIV_MODE_MASK 0x8
16 #define VLAPIC_MSG_LEVEL 4
18 #define INTR_EXT 0
19 #define INTR_APIC 1
20 #define INTR_LAPIC 2
22 #define VL_STATE_EOI 1
23 #define VL_STATE_EXT_LOCK 2
24 #define VL_STATE_MSG_LOCK 3
25 #define VL_STATE_EOI_LOCK 3
27 #define VLOCAL_APIC_MAX_INTS 256
28 #define VLAPIC_INT_COUNT (VLOCAL_APIC_MAX_INTS/(BITS_PER_BYTE * sizeof(u64)))
29 #define VLAPIC_INT_COUNT_32 (VLOCAL_APIC_MAX_INTS/(BITS_PER_BYTE * sizeof(u32)))
31 struct vapic_bus_message{
32 u8 deliv_mode:4; /* deliver mode, including fixed, LPRI, etc */
33 u8 level:1; /* level or edge */
34 u8 trig_mod:1; /* assert or disassert */
35 u8 reserved:2;
36 u8 vector;
37 };
39 typedef struct {
40 /* interrupt for PIC and ext type IOAPIC interrupt */
41 u64 vl_ext_intr[VLAPIC_INT_COUNT];
42 u64 vl_ext_intr_mask[VLAPIC_INT_COUNT];
43 u64 vl_apic_intr[VLAPIC_INT_COUNT];
44 u64 vl_apic_tmr[VLAPIC_INT_COUNT];
45 u64 vl_eoi[VLAPIC_INT_COUNT];
46 u32 vl_lapic_id;
47 u32 direct_intr;
48 u32 vl_apr;
49 u32 vl_logical_dest;
50 u32 vl_dest_format;
51 u32 vl_arb_id;
52 u32 vl_state;
53 u32 apic_msg_count;
54 struct vapic_bus_message vl_apic_msg[24];
55 } vlapic_info;
57 #endif /* _VMX_VLAPIC_H_ */