ReactOS  0.4.15-dev-499-g1f31905
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.

◆ _I8259_ICW1_INTERRUPT_MODE

Enumerator
EdgeTriggered 
LevelTriggered 
EdgeTriggered 
LevelTriggered 

Definition at line 168 of file halhw.h.

169 {
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,
177  Interval4
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
Definition: halhw.h:165
enum _I8259_ICW1_OPERATING_MODE I8259_ICW1_OPERATING_MODE
Definition: halhw.h:164

◆ _I8259_ICW4_BUFFERED_MODE

Enumerator
NonBuffered 
NonBuffered2 
BufferedSlave 
BufferedMaster 
NonBuffered 
NonBuffered2 
BufferedSlave 
BufferedMaster 

Definition at line 192 of file halhw.h.

193 {
194  NonBuffered,
195  NonBuffered2,
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,
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 {
182  Mcs8085Mode,
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
Definition: halhw.h:205
Definition: halhw.h:204
enum _I8259_READ_REQUEST I8259_READ_REQUEST

◆ _TIMER_ACCESS_MODES

Enumerator
PitAccessModeCounterLatch 
PitAccessModeLow 
PitAccessModeHigh 
PitAccessModeLowHigh 
PitAccessModeCounterLatch 
PitAccessModeLow 
PitAccessModeHigh 
PitAccessModeLowHigh 

Definition at line 92 of file halhw.h.

◆ _TIMER_CHANNELS

Enumerator
PitChannel0 
PitChannel1 
PitChannel2 
PitReadBack 
PitChannel0 
PitChannel1 
PitChannel2 
MultipleLatch 

Definition at line 100 of file halhw.h.

101 {
102  PitChannel0,
103  PitChannel1,
104  PitChannel2,
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.