ReactOS  0.4.14-dev-599-g2d4d3f5
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
ULONG TrampolineFarPtr
Definition: callback.h:28
smooth NULL
Definition: ftsmooth.c:416
#define Int16To32StubSize
Definition: int32.h:38
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 798 of file bios32.c.

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

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

◆ PicIRQComplete()

VOID PicIRQComplete ( BYTE  IntNum)

Definition at line 812 of file bios32.c.

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

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

Variable Documentation

◆ BiosContext