ReactOS 0.4.16-dev-340-g0540c21
bios32p.h File Reference
#include <bios/bios.h>
#include "int32.h"
Include dependency graph for bios32p.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BIOS_PIC_MASTER_INT   0x08
 
#define BIOS_PIC_SLAVE_INT   0x70
 
#define BIOS_EQUIPMENT_INTERRUPT   0x11
 
#define BIOS_MEMORY_SIZE   0x12
 
#define BIOS_MISC_INTERRUPT   0x15
 
#define BIOS_ROM_BASIC   0x18
 
#define BIOS_BOOTSTRAP_LOADER   0x19
 
#define BIOS_TIME_INTERRUPT   0x1A
 
#define BIOS_SYS_TIMER_INTERRUPT   0x1C
 
#define RegisterBiosInt32(IntNumber, IntHandler)
 

Functions

VOID EnableHwIRQ (UCHAR hwirq, EMULATOR_INT32_PROC func)
 
VOID PicIRQComplete (BYTE IntNum)
 

Variables

CALLBACK16 BiosContext
 

Macro Definition Documentation

◆ BIOS_BOOTSTRAP_LOADER

#define BIOS_BOOTSTRAP_LOADER   0x19

Definition at line 27 of file bios32p.h.

◆ BIOS_EQUIPMENT_INTERRUPT

#define BIOS_EQUIPMENT_INTERRUPT   0x11

Definition at line 23 of file bios32p.h.

◆ BIOS_MEMORY_SIZE

#define BIOS_MEMORY_SIZE   0x12

Definition at line 24 of file bios32p.h.

◆ BIOS_MISC_INTERRUPT

#define BIOS_MISC_INTERRUPT   0x15

Definition at line 25 of file bios32p.h.

◆ BIOS_PIC_MASTER_INT

#define BIOS_PIC_MASTER_INT   0x08

Definition at line 20 of file bios32p.h.

◆ BIOS_PIC_SLAVE_INT

#define BIOS_PIC_SLAVE_INT   0x70

Definition at line 21 of file bios32p.h.

◆ BIOS_ROM_BASIC

#define BIOS_ROM_BASIC   0x18

Definition at line 26 of file bios32p.h.

◆ BIOS_SYS_TIMER_INTERRUPT

#define BIOS_SYS_TIMER_INTERRUPT   0x1C

Definition at line 29 of file bios32p.h.

◆ BIOS_TIME_INTERRUPT

#define BIOS_TIME_INTERRUPT   0x1A

Definition at line 28 of file bios32p.h.

◆ RegisterBiosInt32

#define RegisterBiosInt32 (   IntNumber,
  IntHandler 
)
Value:
do { \
RegisterInt32(BiosContext.TrampolineFarPtr + \
(IntNumber) * Int16To32StubSize, \
(IntNumber), (IntHandler), NULL); \
} while(0);
CALLBACK16 BiosContext
Definition: bios32.c:45
#define NULL
Definition: types.h:112
#define Int16To32StubSize
Definition: int32.h:38
ULONG TrampolineFarPtr
Definition: callback.h:28
ULONG TrampolineSize
Definition: callback.h:29

Definition at line 34 of file bios32p.h.

Function Documentation

◆ EnableHwIRQ()

VOID EnableHwIRQ ( UCHAR  hwirq,
EMULATOR_INT32_PROC  func 
)

Definition at line 802 of file bios32.c.

803{
805
806 PicSetIRQMask(1 << hwirq, 0);
807 if (hwirq < 8)
808 vector = BIOS_PIC_MASTER_INT + hwirq;
809 else
810 vector = BIOS_PIC_SLAVE_INT + hwirq - 8;
811
813}
static VOID PicSetIRQMask(USHORT off, USHORT on)
Definition: bios32.c:794
#define RegisterBiosInt32(IntNumber, IntHandler)
Definition: bios32p.h:34
#define BIOS_PIC_SLAVE_INT
Definition: bios32p.h:21
#define BIOS_PIC_MASTER_INT
Definition: bios32p.h:20
GLenum func
Definition: glext.h:6028
unsigned char UCHAR
Definition: xmlstorage.h:181

Referenced by BiosHwSetup(), KbdBios32Post(), and MouseBios32Post().

◆ PicIRQComplete()

VOID PicIRQComplete ( BYTE  IntNum)

Definition at line 816 of file bios32.c.

817{
818 /*
819 * If this was a PIC IRQ, send an End-of-Interrupt to the PIC.
820 */
821 if (IntNum >= BIOS_PIC_MASTER_INT && IntNum < BIOS_PIC_MASTER_INT + 8)
822 {
823 /* It was an IRQ from the master PIC */
825 }
826 else if (IntNum >= BIOS_PIC_SLAVE_INT && IntNum < BIOS_PIC_SLAVE_INT + 8)
827 {
828 /* It was an IRQ from the slave PIC */
831 }
832}
#define PIC_OCW2_EOI
Definition: pic.h:27
#define PIC_MASTER_CMD
Definition: pic.h:15
#define PIC_SLAVE_CMD
Definition: pic.h:17
VOID IOWriteB(USHORT Port, UCHAR Buffer)
Definition: io.c:111

Referenced by BiosHandleMasterPicIRQ(), BiosHandleSlavePicIRQ(), BiosKeyboardIrq(), BiosMouseIrq(), BiosTimerIrq(), and DosMouseIrq().

Variable Documentation

◆ BiosContext