summaryrefslogtreecommitdiffstats
path: root/private/ntos/nthals/halsable/alpha/icic.h
blob: 3c3407943fa3cff6353debb95954bbbcd7908911 (plain) (blame)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*++

Copyright (c) 1995  Digital Equipment Corporation

Module Name:

    icic.h

Abstract:

    This file defines the structures and definitions describing the
    Interrupt Controller IC (ICIC).

Author:

    Dave Richards   23-May-1995

Environment:

    Kernel mode

Revision History:

--*/

#ifndef _ICICH_
#define _ICICH_

typedef enum _ICIC_REGISTER {
    IcIcMaskRegister = 0x40,
    IcIcElcrRegister = 0x50,
    IcIcEisaRegister = 0x60,
    IcIcModeRegister = 0x70
} ICIC_REGISTER;

typedef ULONGLONG ICIC_MASK_REGISTER, *PICIC_MASK_REGISTER;
typedef ULONGLONG ICIC_ELCR_REGISTER, *PICIC_ELCR_REGISTER;
typedef ULONGLONG ICIC_EISA_REGISTER, *PICIC_EISA_REGISTER;

typedef union _ICIC_MODE_REGISTER {
    struct {
        ULONGLONG Mode: 1;
        ULONGLONG Reset: 1;
        ULONGLONG Reserved: 62;
    };
    ULONGLONG all;
} ICIC_MODE_REGISTER, *PICIC_MODE_REGISTER;

ULONGLONG
READ_ICIC_REGISTER(
    IN PVOID TxQva,
    IN ICIC_REGISTER IcIcRegister
    );

VOID
WRITE_ICIC_REGISTER(
    IN PVOID TxQva,
    IN ICIC_REGISTER IcIcRegister,
    IN ULONGLONG Value
    );

#endif // _ICICH_