7 /* #define DEBUG_INT */
10 static BYTE cmosaddress;
12 static BYTE cmosimage[64] = {
13 0x27, 0x34, 0x31, 0x47, 0x16, 0x15, 0x00, 0x01,
14 0x04, 0x94, 0x26, 0x02, 0x50, 0x80, 0x00, 0x00,
15 0x40, 0xb1, 0x00, 0x9c, 0x01, 0x80, 0x02, 0x00,
16 0x1c, 0x00, 0x00, 0xad, 0x02, 0x10, 0x00, 0x00,
17 0x08, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00,
18 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x03, 0x58,
19 0x00, 0x1c, 0x19, 0x81, 0x00, 0x0e, 0x00, 0x80,
20 0x1b, 0x7b, 0x21, 0x00, 0x00, 0x00, 0x05, 0x5f };
22 void inportb(struct sigcontext_struct *context)
24 dprintf_int(stddeb, "IO: inb (%x)\n", DX);
31 AL = cmosimage[cmosaddress & 0x3f];
37 void inport( struct sigcontext_struct *context, int long_op )
39 dprintf_int(stdnimp, "IO: in (%x)\n", DX);
40 if (long_op) EAX = 0xffffffff;
44 void inportb_abs(struct sigcontext_struct *context)
46 dprintf_int(stdnimp, "IO: in (%x)\n", *(BYTE *)(EIP+1));
50 void inport_abs( struct sigcontext_struct *context, int long_op )
52 dprintf_int(stdnimp, "IO: in (%x)\n", *(BYTE *)(EIP+1));
53 if (long_op) EAX = 0xffffffff;
57 void outportb(struct sigcontext_struct *context)
59 dprintf_int(stdnimp, "IO: outb (%x), %x\n", DX, AX);
64 cmosaddress = AL & 0x7f;
67 cmosimage[cmosaddress & 0x3f] = AL;
73 void outport( struct sigcontext_struct *context, int long_op )
75 dprintf_int(stdnimp, "IO: out (%x), %lx\n", DX, long_op ? EAX : AX);
78 void outportb_abs(struct sigcontext_struct *context)
80 dprintf_int(stdnimp, "IO: out (%x), %x\n", *(BYTE *)(EIP+1), AL);
83 void outport_abs( struct sigcontext_struct *context, int long_op )
85 dprintf_int(stdnimp, "IO: out (%x), %lx\n", *(BYTE *)(EIP+1),