- Bochs doesn't support EISA, so I think it's okay to generate a debug message at this point.
This commit is contained in:
parent
b203db61d1
commit
31948c30e1
@ -1,80 +0,0 @@
|
||||
----------------------------------------------------------------------
|
||||
Patch name: BIOS Int 15 Func D8 (EISA CMOS)
|
||||
Author: Dirk Thierbach
|
||||
Date: 4/30/2003
|
||||
Status: new
|
||||
|
||||
Detailed description:
|
||||
|
||||
Patch was created with:
|
||||
cvs diff -u
|
||||
Apply patch to what version:
|
||||
cvs checked out on DATE, release version VER
|
||||
Instructions:
|
||||
To patch, go to main bochs directory.
|
||||
Type "patch -p0 < THIS_PATCH_FILE".
|
||||
----------------------------------------------------------------------
|
||||
|
||||
--- rombios.c.ORIG 2003-04-29 23:31:20.000000000 +0200
|
||||
+++ rombios.c 2003-04-30 00:11:48.000000000 +0200
|
||||
@@ -3799,6 +3799,60 @@
|
||||
#endif
|
||||
break;
|
||||
|
||||
+ case 0xd8: /* EISA configuration */
|
||||
+ /* Ralf's interrupt list http://www-2.cs.cmu.edu/~ralf/files.html
|
||||
+ * gives a few more details about this interrupt. I haven't been
|
||||
+ * able to find an in-depth description, but for example
|
||||
+ * http://docsrv.caldera.com/cgi-bin/man/man?eisa+D4
|
||||
+ * http://www.rcnp.osaka-u.ac.jp/unix/DOCUMENTATION/HTML/AA-Q0R6C-TET1_html/TOC.html
|
||||
+ * give a few hints, though only in the context of writing unix device
|
||||
+ * drivers.
|
||||
+ *
|
||||
+ * For now, we just indicate empty slots. Shouldn't be a big difference
|
||||
+ * from leaving it unimplemented, but who knows...
|
||||
+ */
|
||||
+ switch (regs.u.r8.al) {
|
||||
+ case 0x00: /* Read slot configuration information */
|
||||
+ case 0x80: /* Read slot configuration information, 32bit CS */
|
||||
+ BX_INFO ("int15: func=%04x slot=%02x, returning empty slot error\n",
|
||||
+ (unsigned) regs.u.r16.ax, (unsigned) regs.u.r8.cl);
|
||||
+ SET_CF();
|
||||
+ regs.u.r8.ah = 0x83; /* empty slot */
|
||||
+ break;
|
||||
+ case 0x01: /* Read function configuration information */
|
||||
+ case 0x81: /* Read function configuration information, 32bit CS */
|
||||
+ BX_INFO ("int15: func=%04x slot=%02x func=%02x, returning empty slot error\n",
|
||||
+ (unsigned) regs.u.r16.ax, (unsigned) regs.u.r8.cl,
|
||||
+ (unsigned) regs.u.r8.ch);
|
||||
+ SET_CF();
|
||||
+ regs.u.r8.ah = 0x83; /* empty slot */
|
||||
+ break;
|
||||
+ case 0x02: /* Clear nonvolatile memory (EISA CMOS) */
|
||||
+ case 0x82: /* Clear nonvolatile memory (EISA CMOS), 32bit CS */
|
||||
+ BX_INFO ("int15: func=%04x rev=%04x, returning success\n",
|
||||
+ (unsigned) regs.u.r16.ax, (unsigned) regs.u.r16.bx);
|
||||
+ CLEAR_CF();
|
||||
+ regs.u.r8.ah = 0x00; /* success */
|
||||
+ break;
|
||||
+ case 0x03: /* Write nonvolatile memory */
|
||||
+ case 0x83: /* Write nonvolatile memory, 32bit CS */
|
||||
+ BX_INFO ("int15: func=%04x len=%04x, returning CMOS full error\n",
|
||||
+ (unsigned) regs.u.r16.ax, (unsigned) regs.u.r16.cx);
|
||||
+ SET_CF();
|
||||
+ regs.u.r8.ah = 0x85; /* EISA CMOS full */
|
||||
+ break;
|
||||
+ case 0x04: /* Read physical slot */
|
||||
+ case 0x84: /* Read physical slot, 32bit CS */
|
||||
+ BX_INFO ("int15: func=%04x slot=%02x, returning empty slot error\n",
|
||||
+ (unsigned) regs.u.r16.ax, (unsigned) regs.u.r8.cl);
|
||||
+ SET_CF();
|
||||
+ regs.u.r8.ah = 0x83; /* empty slot */
|
||||
+ break;
|
||||
+ default:
|
||||
+ goto int15_unimplemented;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
case 0xe8:
|
||||
switch(regs.u.r8.al)
|
||||
{
|
Loading…
Reference in New Issue
Block a user