ReactOS 0.4.15-dev-7788-g1ad9096
halhw.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  _TIMER_CONTROL_PORT_REGISTER
 
union  _SYSTEM_CONTROL_PORT_B_REGISTER
 
union  _I8259_ICW1
 
union  _I8259_ICW2
 
union  _I8259_ICW3
 
union  _I8259_ICW4
 
union  _I8259_OCW2
 
union  _I8259_OCW3
 
union  _I8259_ISR
 
union  _EISA_ELCR
 
union  _PIC_MASK
 

Macros

#define CMOS_CONTROL_PORT   (PUCHAR)0x70
 
#define CMOS_DATA_PORT   (PUCHAR)0x71
 
#define RTC_REGISTER_A   0x0A
 
#define RTC_REG_A_UIP   0x80
 
#define RTC_REGISTER_B   0x0B
 
#define RTC_REG_B_PI   0x40
 
#define RTC_REGISTER_C   0x0C
 
#define RTC_REG_C_IRQ   0x80
 
#define RTC_REGISTER_D   0x0D
 
#define RTC_REGISTER_CENTURY   0x32
 
#define VIDEO_SERVICES   0x10
 
#define SET_VIDEO_MODE   0x00
 
#define GRAPHICS_MODE_12   0x12 /* 80x30 8x16 640x480 16/256K */
 
#define PIT_FREQUENCY   1193182
 
#define TIMER_CHANNEL0_DATA_PORT   0x40
 
#define TIMER_CHANNEL1_DATA_PORT   0x41
 
#define TIMER_CHANNEL2_DATA_PORT   0x42
 
#define TIMER_CONTROL_PORT   0x43
 
#define SYSTEM_CONTROL_PORT_A   0x92
 
#define SYSTEM_CONTROL_PORT_B   0x61
 
#define PIC1_CONTROL_PORT   0x20
 
#define PIC1_DATA_PORT   0x21
 
#define PIC2_CONTROL_PORT   0xA0
 
#define PIC2_DATA_PORT   0xA1
 
#define PIC_TIMER_IRQ   0
 
#define PIC_CASCADE_IRQ   2
 
#define PIC_RTC_IRQ   8
 
#define EISA_ELCR_MASTER   0x4D0
 
#define EISA_ELCR_SLAVE   0x4D1
 

Typedefs

typedef enum _TIMER_OPERATING_MODES TIMER_OPERATING_MODES
 
typedef enum _TIMER_ACCESS_MODES TIMER_ACCESS_MODES
 
typedef enum _TIMER_CHANNELS TIMER_CHANNELS
 
typedef union _TIMER_CONTROL_PORT_REGISTER TIMER_CONTROL_PORT_REGISTER
 
typedef union _TIMER_CONTROL_PORT_REGISTERPTIMER_CONTROL_PORT_REGISTER
 
typedef union _SYSTEM_CONTROL_PORT_B_REGISTER SYSTEM_CONTROL_PORT_B_REGISTER
 
typedef union _SYSTEM_CONTROL_PORT_B_REGISTERPSYSTEM_CONTROL_PORT_B_REGISTER
 
typedef enum _I8259_ICW1_OPERATING_MODE I8259_ICW1_OPERATING_MODE
 
typedef enum _I8259_ICW1_INTERRUPT_MODE I8259_ICW1_INTERRUPT_MODE
 
typedef enum _I8259_ICW1_INTERVAL I8259_ICW1_INTERVAL
 
typedef enum _I8259_ICW4_SYSTEM_MODE I8259_ICW4_SYSTEM_MODE
 
typedef enum _I8259_ICW4_EOI_MODE I8259_ICW4_EOI_MODE
 
typedef enum _I8259_ICW4_BUFFERED_MODE I8259_ICW4_BUFFERED_MODE
 
typedef enum _I8259_READ_REQUEST I8259_READ_REQUEST
 
typedef enum _I8259_EOI_MODE I8259_EOI_MODE
 
typedef union _I8259_ICW1 I8259_ICW1
 
typedef union _I8259_ICW1PI8259_ICW1
 
typedef union _I8259_ICW2 I8259_ICW2
 
typedef union _I8259_ICW2PI8259_ICW2
 
typedef union _I8259_ICW3 I8259_ICW3
 
typedef union _I8259_ICW3PI8259_ICW3
 
typedef union _I8259_ICW4 I8259_ICW4
 
typedef union _I8259_ICW4PI8259_ICW4
 
typedef union _I8259_OCW2 I8259_OCW2
 
typedef union _I8259_OCW2PI8259_OCW2
 
typedef union _I8259_OCW3 I8259_OCW3
 
typedef union _I8259_OCW3PI8259_OCW3
 
typedef union _I8259_ISR I8259_ISR
 
typedef union _I8259_ISRPI8259_ISR
 
typedef I8259_ISR I8259_IDR
 
typedef I8259_ISRPI8259_IDR
 
typedef union _EISA_ELCR EISA_ELCR
 
typedef union _EISA_ELCRPEISA_ELCR
 
typedef union _PIC_MASK PIC_MASK
 
typedef union _PIC_MASKPPIC_MASK
 

Enumerations

enum  _TIMER_OPERATING_MODES {
  PitOperatingMode0 , PitOperatingMode1 , PitOperatingMode2 , PitOperatingMode3 ,
  PitOperatingMode4 , PitOperatingMode5 , PitOperatingMode2Reserved , PitOperatingMode5Reserved ,
  PitOperatingMode0 , PitOperatingMode1 , PitOperatingMode2 , PitOperatingMode3 ,
  PitOperatingMode4 , PitOperatingMode5
}
 
enum  _TIMER_ACCESS_MODES {
  PitAccessModeCounterLatch , PitAccessModeLow , PitAccessModeHigh , PitAccessModeLowHigh ,
  PitAccessModeCounterLatch , PitAccessModeLow , PitAccessModeHigh , PitAccessModeLowHigh
}
 
enum  _TIMER_CHANNELS {
  PitChannel0 , PitChannel1 , PitChannel2 , PitReadBack ,
  PitChannel0 , PitChannel1 , PitChannel2 , MultipleLatch
}
 
enum  _I8259_ICW1_OPERATING_MODE { Cascade , Single , Cascade , Single }
 
enum  _I8259_ICW1_INTERRUPT_MODE { EdgeTriggered , LevelTriggered , EdgeTriggered , LevelTriggered }
 
enum  _I8259_ICW1_INTERVAL { Interval8 , Interval4 , Interval8 , Interval4 }
 
enum  _I8259_ICW4_SYSTEM_MODE { Mcs8085Mode , New8086Mode , Mcs8085Mode , New8086Mode }
 
enum  _I8259_ICW4_EOI_MODE { NormalEoi , AutomaticEoi , NormalEoi , AutomaticEoi }
 
enum  _I8259_ICW4_BUFFERED_MODE {
  NonBuffered , NonBuffered2 , BufferedSlave , BufferedMaster ,
  NonBuffered , NonBuffered2 , BufferedSlave , BufferedMaster
}
 
enum  _I8259_READ_REQUEST {
  InvalidRequest , InvalidRequest2 , ReadIdr , ReadIsr ,
  InvalidRequest , InvalidRequest2 , ReadIdr , ReadIsr
}
 
enum  _I8259_EOI_MODE {
  RotateAutoEoiClear , NonSpecificEoi , InvalidEoiMode , SpecificEoi ,
  RotateAutoEoiSet , RotateNonSpecific , SetPriority , RotateSpecific ,
  RotateAutoEoiClear , NonSpecificEoi , InvalidEoiMode , SpecificEoi ,
  RotateAutoEoiSet , RotateNonSpecific , SetPriority , RotateSpecific
}
 

Macro Definition Documentation

◆ CMOS_CONTROL_PORT

#define CMOS_CONTROL_PORT   (PUCHAR)0x70

Definition at line 11 of file halhw.h.

◆ CMOS_DATA_PORT

#define CMOS_DATA_PORT   (PUCHAR)0x71

Definition at line 12 of file halhw.h.

◆ EISA_ELCR_MASTER

#define EISA_ELCR_MASTER   0x4D0

Definition at line 333 of file halhw.h.

◆ EISA_ELCR_SLAVE

#define EISA_ELCR_SLAVE   0x4D1

Definition at line 334 of file halhw.h.

◆ GRAPHICS_MODE_12

#define GRAPHICS_MODE_12   0x12 /* 80x30 8x16 640x480 16/256K */

Definition at line 35 of file halhw.h.

◆ PIC1_CONTROL_PORT

#define PIC1_CONTROL_PORT   0x20

Definition at line 150 of file halhw.h.

◆ PIC1_DATA_PORT

#define PIC1_DATA_PORT   0x21

Definition at line 151 of file halhw.h.

◆ PIC2_CONTROL_PORT

#define PIC2_CONTROL_PORT   0xA0

Definition at line 152 of file halhw.h.

◆ PIC2_DATA_PORT

#define PIC2_DATA_PORT   0xA1

Definition at line 153 of file halhw.h.

◆ PIC_CASCADE_IRQ

#define PIC_CASCADE_IRQ   2

Definition at line 156 of file halhw.h.

◆ PIC_RTC_IRQ

#define PIC_RTC_IRQ   8

Definition at line 157 of file halhw.h.

◆ PIC_TIMER_IRQ

#define PIC_TIMER_IRQ   0

Definition at line 155 of file halhw.h.

◆ PIT_FREQUENCY

#define PIT_FREQUENCY   1193182

Definition at line 61 of file halhw.h.

◆ RTC_REG_A_UIP

#define RTC_REG_A_UIP   0x80

Definition at line 14 of file halhw.h.

◆ RTC_REG_B_PI

#define RTC_REG_B_PI   0x40

Definition at line 16 of file halhw.h.

◆ RTC_REG_C_IRQ

#define RTC_REG_C_IRQ   0x80

Definition at line 18 of file halhw.h.

◆ RTC_REGISTER_A

#define RTC_REGISTER_A   0x0A

Definition at line 13 of file halhw.h.

◆ RTC_REGISTER_B

#define RTC_REGISTER_B   0x0B

Definition at line 15 of file halhw.h.

◆ RTC_REGISTER_C

#define RTC_REGISTER_C   0x0C

Definition at line 17 of file halhw.h.

◆ RTC_REGISTER_CENTURY

#define RTC_REGISTER_CENTURY   0x32

Definition at line 20 of file halhw.h.

◆ RTC_REGISTER_D

#define RTC_REGISTER_D   0x0D

Definition at line 19 of file halhw.h.

◆ SET_VIDEO_MODE

#define SET_VIDEO_MODE   0x00

Definition at line 30 of file halhw.h.

◆ SYSTEM_CONTROL_PORT_A

#define SYSTEM_CONTROL_PORT_A   0x92

Definition at line 126 of file halhw.h.

◆ SYSTEM_CONTROL_PORT_B

#define SYSTEM_CONTROL_PORT_B   0x61

Definition at line 127 of file halhw.h.

◆ TIMER_CHANNEL0_DATA_PORT

#define TIMER_CHANNEL0_DATA_PORT   0x40

Definition at line 67 of file halhw.h.

◆ TIMER_CHANNEL1_DATA_PORT

#define TIMER_CHANNEL1_DATA_PORT   0x41

Definition at line 68 of file halhw.h.

◆ TIMER_CHANNEL2_DATA_PORT

#define TIMER_CHANNEL2_DATA_PORT   0x42

Definition at line 69 of file halhw.h.

◆ TIMER_CONTROL_PORT

#define TIMER_CONTROL_PORT   0x43

Definition at line 70 of file halhw.h.

◆ VIDEO_SERVICES

#define VIDEO_SERVICES   0x10

Definition at line 25 of file halhw.h.

Typedef Documentation

◆ EISA_ELCR

typedef union _EISA_ELCR EISA_ELCR

◆ I8259_EOI_MODE

◆ I8259_ICW1

typedef union _I8259_ICW1 I8259_ICW1

◆ I8259_ICW1_INTERRUPT_MODE

◆ I8259_ICW1_INTERVAL

◆ I8259_ICW1_OPERATING_MODE

◆ I8259_ICW2

typedef union _I8259_ICW2 I8259_ICW2

◆ I8259_ICW3

typedef union _I8259_ICW3 I8259_ICW3

◆ I8259_ICW4

typedef union _I8259_ICW4 I8259_ICW4

◆ I8259_ICW4_BUFFERED_MODE

◆ I8259_ICW4_EOI_MODE

◆ I8259_ICW4_SYSTEM_MODE

◆ I8259_IDR

Definition at line 325 of file halhw.h.

◆ I8259_ISR

typedef union _I8259_ISR I8259_ISR

◆ I8259_OCW2

typedef union _I8259_OCW2 I8259_OCW2

◆ I8259_OCW3

typedef union _I8259_OCW3 I8259_OCW3

◆ I8259_READ_REQUEST

◆ PEISA_ELCR

typedef union _EISA_ELCR * PEISA_ELCR

◆ PI8259_ICW1

typedef union _I8259_ICW1 * PI8259_ICW1

◆ PI8259_ICW2

typedef union _I8259_ICW2 * PI8259_ICW2

◆ PI8259_ICW3

typedef union _I8259_ICW3 * PI8259_ICW3

◆ PI8259_ICW4

typedef union _I8259_ICW4 * PI8259_ICW4

◆ PI8259_IDR

typedef I8259_ISR * PI8259_IDR

Definition at line 325 of file halhw.h.

◆ PI8259_ISR

typedef union _I8259_ISR * PI8259_ISR

◆ PI8259_OCW2

typedef union _I8259_OCW2 * PI8259_OCW2

◆ PI8259_OCW3

typedef union _I8259_OCW3 * PI8259_OCW3

◆ PIC_MASK

typedef union _PIC_MASK PIC_MASK

◆ PPIC_MASK

typedef union _PIC_MASK * PPIC_MASK

◆ PSYSTEM_CONTROL_PORT_B_REGISTER

◆ PTIMER_CONTROL_PORT_REGISTER

◆ SYSTEM_CONTROL_PORT_B_REGISTER

◆ TIMER_ACCESS_MODES

◆ TIMER_CHANNELS

◆ TIMER_CONTROL_PORT_REGISTER

◆ TIMER_OPERATING_MODES

Enumeration Type Documentation

◆ _I8259_EOI_MODE

Enumerator
RotateAutoEoiClear 
NonSpecificEoi 
InvalidEoiMode 
SpecificEoi 
RotateAutoEoiSet 
RotateNonSpecific 
SetPriority 
RotateSpecific 
RotateAutoEoiClear 
NonSpecificEoi 
InvalidEoiMode 
SpecificEoi 
RotateAutoEoiSet 
RotateNonSpecific 
SetPriority 
RotateSpecific 

Definition at line 208 of file halhw.h.

209{
enum _I8259_EOI_MODE I8259_EOI_MODE
@ NonSpecificEoi
Definition: halhw.h:211
@ RotateSpecific
Definition: halhw.h:217
@ RotateAutoEoiSet
Definition: halhw.h:214
@ RotateNonSpecific
Definition: halhw.h:215
@ InvalidEoiMode
Definition: halhw.h:212
@ SetPriority
Definition: halhw.h:216
@ SpecificEoi
Definition: halhw.h:213
@ RotateAutoEoiClear
Definition: halhw.h:210

◆ _I8259_ICW1_INTERRUPT_MODE

Enumerator
EdgeTriggered 
LevelTriggered 
EdgeTriggered 
LevelTriggered 

Definition at line 168 of file halhw.h.

169{
@ EdgeTriggered
Definition: halhw.h:170
@ LevelTriggered
Definition: halhw.h:171
enum _I8259_ICW1_INTERRUPT_MODE I8259_ICW1_INTERRUPT_MODE

◆ _I8259_ICW1_INTERVAL

Enumerator
Interval8 
Interval4 
Interval8 
Interval4 

Definition at line 174 of file halhw.h.

175{
176 Interval8,
@ Interval4
Definition: halhw.h:177
@ Interval8
Definition: halhw.h:176
enum _I8259_ICW1_INTERVAL I8259_ICW1_INTERVAL

◆ _I8259_ICW1_OPERATING_MODE

Enumerator
Cascade 
Single 
Cascade 
Single 

Definition at line 162 of file halhw.h.

163{
164 Cascade,
165 Single
@ Single
Definition: halhw.h:165
@ Cascade
Definition: halhw.h:164
enum _I8259_ICW1_OPERATING_MODE I8259_ICW1_OPERATING_MODE

◆ _I8259_ICW4_BUFFERED_MODE

Enumerator
NonBuffered 
NonBuffered2 
BufferedSlave 
BufferedMaster 
NonBuffered 
NonBuffered2 
BufferedSlave 
BufferedMaster 

Definition at line 192 of file halhw.h.

193{
@ BufferedSlave
Definition: halhw.h:196
@ NonBuffered2
Definition: halhw.h:195
@ NonBuffered
Definition: halhw.h:194
@ BufferedMaster
Definition: halhw.h:197
enum _I8259_ICW4_BUFFERED_MODE I8259_ICW4_BUFFERED_MODE

◆ _I8259_ICW4_EOI_MODE

Enumerator
NormalEoi 
AutomaticEoi 
NormalEoi 
AutomaticEoi 

Definition at line 186 of file halhw.h.

187{
188 NormalEoi,
@ NormalEoi
Definition: halhw.h:188
@ AutomaticEoi
Definition: halhw.h:189
enum _I8259_ICW4_EOI_MODE I8259_ICW4_EOI_MODE

◆ _I8259_ICW4_SYSTEM_MODE

Enumerator
Mcs8085Mode 
New8086Mode 
Mcs8085Mode 
New8086Mode 

Definition at line 180 of file halhw.h.

181{
@ Mcs8085Mode
Definition: halhw.h:182
@ New8086Mode
Definition: halhw.h:183
enum _I8259_ICW4_SYSTEM_MODE I8259_ICW4_SYSTEM_MODE

◆ _I8259_READ_REQUEST

Enumerator
InvalidRequest 
InvalidRequest2 
ReadIdr 
ReadIsr 
InvalidRequest 
InvalidRequest2 
ReadIdr 
ReadIsr 

Definition at line 200 of file halhw.h.

201{
204 ReadIdr,
205 ReadIsr
enum _I8259_READ_REQUEST I8259_READ_REQUEST
@ ReadIsr
Definition: halhw.h:205
@ InvalidRequest
Definition: halhw.h:202
@ InvalidRequest2
Definition: halhw.h:203
@ ReadIdr
Definition: halhw.h:204

◆ _TIMER_ACCESS_MODES

Enumerator
PitAccessModeCounterLatch 
PitAccessModeLow 
PitAccessModeHigh 
PitAccessModeLowHigh 
PitAccessModeCounterLatch 
PitAccessModeLow 
PitAccessModeHigh 
PitAccessModeLowHigh 

Definition at line 92 of file halhw.h.

93{
enum _TIMER_ACCESS_MODES TIMER_ACCESS_MODES
@ PitAccessModeLow
Definition: halhw.h:95
@ PitAccessModeCounterLatch
Definition: halhw.h:94
@ PitAccessModeHigh
Definition: halhw.h:96
@ PitAccessModeLowHigh
Definition: halhw.h:97

◆ _TIMER_CHANNELS

Enumerator
PitChannel0 
PitChannel1 
PitChannel2 
PitReadBack 
PitChannel0 
PitChannel1 
PitChannel2 
MultipleLatch 

Definition at line 100 of file halhw.h.

101{
@ PitReadBack
Definition: halhw.h:105
@ PitChannel0
Definition: halhw.h:102
@ PitChannel2
Definition: halhw.h:104
@ PitChannel1
Definition: halhw.h:103
enum _TIMER_CHANNELS TIMER_CHANNELS

◆ _TIMER_OPERATING_MODES

Enumerator
PitOperatingMode0 
PitOperatingMode1 
PitOperatingMode2 
PitOperatingMode3 
PitOperatingMode4 
PitOperatingMode5 
PitOperatingMode2Reserved 
PitOperatingMode5Reserved 
PitOperatingMode0 
PitOperatingMode1 
PitOperatingMode2 
PitOperatingMode3 
PitOperatingMode4 
PitOperatingMode5 

Definition at line 80 of file halhw.h.

81{
enum _TIMER_OPERATING_MODES TIMER_OPERATING_MODES
@ PitOperatingMode3
Definition: halhw.h:85
@ PitOperatingMode2Reserved
Definition: halhw.h:88
@ PitOperatingMode2
Definition: halhw.h:84
@ PitOperatingMode5
Definition: halhw.h:87
@ PitOperatingMode0
Definition: halhw.h:82
@ PitOperatingMode4
Definition: halhw.h:86
@ PitOperatingMode5Reserved
Definition: halhw.h:89
@ PitOperatingMode1
Definition: halhw.h:83