PatchworkOS  966e257
A non-POSIX operating system.
Loading...
Searching...
No Matches

Programmable Interrupt Controller (PIC) definitions and functions. More...

Collaboration diagram for PIC:

Detailed Description

Programmable Interrupt Controller (PIC) definitions and functions.

The PIC is a legacy interrupt controller used in x86 systems to manage hardware interrupts. It has largely been superseded by the APIC (Advanced Programmable Interrupt Controller) in modern systems, as such we simply disable the PIC during system initialization.

Macros

#define PIC1   0x20
 
#define PIC2   0xA0
 
#define PIC1_COMMAND   PIC1
 
#define PIC1_DATA   (PIC1 + 1)
 
#define PIC2_COMMAND   PIC2
 
#define PIC2_DATA   (PIC2 + 1)
 
#define PIC_EOI   0x20
 
#define ICW1_ICW4   0x01
 Indicates that ICW4 will be present.
 
#define ICW1_SINGLE   0x02
 Single (cascade) mode.
 
#define ICW1_INTERVAL4   0x04
 Call address interval 4 (8)
 
#define ICW1_LEVEL   0x08
 Level triggered (edge) mode.
 
#define ICW1_INIT   0x10
 Initialization - required!
 
#define ICW4_8086   0x01
 8086/88 (MCS-80/85) mode
 
#define ICW4_AUTO   0x02
 Auto (normal) EOI.
 
#define ICW4_BUF_SLAVE   0x08
 Buffered mode/slave.
 
#define ICW4_BUF_MASTER   0x0C
 Buffered mode/master.
 
#define ICW4_SFNM   0x10
 Special fully nested (not)
 

Functions

void pic_disable (void)
 

Macro Definition Documentation

◆ PIC1

#define PIC1   0x20

Definition at line 15 of file pic.h.

◆ PIC2

#define PIC2   0xA0

Definition at line 16 of file pic.h.

◆ PIC1_COMMAND

#define PIC1_COMMAND   PIC1

Definition at line 17 of file pic.h.

◆ PIC1_DATA

#define PIC1_DATA   (PIC1 + 1)

Definition at line 18 of file pic.h.

◆ PIC2_COMMAND

#define PIC2_COMMAND   PIC2

Definition at line 19 of file pic.h.

◆ PIC2_DATA

#define PIC2_DATA   (PIC2 + 1)

Definition at line 20 of file pic.h.

◆ PIC_EOI

#define PIC_EOI   0x20

Definition at line 22 of file pic.h.

◆ ICW1_ICW4

#define ICW1_ICW4   0x01

Indicates that ICW4 will be present.

Definition at line 24 of file pic.h.

◆ ICW1_SINGLE

#define ICW1_SINGLE   0x02

Single (cascade) mode.

Definition at line 25 of file pic.h.

◆ ICW1_INTERVAL4

#define ICW1_INTERVAL4   0x04

Call address interval 4 (8)

Definition at line 26 of file pic.h.

◆ ICW1_LEVEL

#define ICW1_LEVEL   0x08

Level triggered (edge) mode.

Definition at line 27 of file pic.h.

◆ ICW1_INIT

#define ICW1_INIT   0x10

Initialization - required!

Definition at line 28 of file pic.h.

◆ ICW4_8086

#define ICW4_8086   0x01

8086/88 (MCS-80/85) mode

Definition at line 30 of file pic.h.

◆ ICW4_AUTO

#define ICW4_AUTO   0x02

Auto (normal) EOI.

Definition at line 31 of file pic.h.

◆ ICW4_BUF_SLAVE

#define ICW4_BUF_SLAVE   0x08

Buffered mode/slave.

Definition at line 32 of file pic.h.

◆ ICW4_BUF_MASTER

#define ICW4_BUF_MASTER   0x0C

Buffered mode/master.

Definition at line 33 of file pic.h.

◆ ICW4_SFNM

#define ICW4_SFNM   0x10

Special fully nested (not)

Definition at line 34 of file pic.h.

Function Documentation

◆ pic_disable()

void pic_disable ( void  )

Definition at line 13 of file pic.c.

Here is the call graph for this function:
Here is the caller graph for this function: