summaryrefslogtreecommitdiff
path: root/sys/include/arch/amd64/ioapicvar.h
blob: d5a75df8a919527ece43097bd03809b42a02ae80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef _MACHINE_IOAPICVAR_H_
#define _MACHINE_IOAPICVAR_H_

#include <sys/types.h>

/* Register offsets */
#define IOREGSEL    0x00
#define IOWIN       0x10
#define IOAPICVER   0x01
#define IOREDTBL    0x10

union ioapic_redentry {
    struct {
        uint8_t vector;
        uint8_t delmod          : 3;
        uint8_t destmod         : 1;
        uint8_t delivs          : 1;
        uint8_t intpol          : 1;
        uint8_t remote_irr      : 1;
        uint8_t trigger_mode    : 1;
        uint8_t interrupt_mask  : 1;
        uint64_t reserved       : 39;
        uint8_t dest_field;
    };
    uint64_t value;
};

#endif  /* !_MACHINE_IOAPICVAR_H_ */