- Timestamp:
- Mar 26, 2024 4:35:54 PM (12 months ago)
- svn:sync-xref-src-repo-rev:
- 162460
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/ata.c
r100443 r104067 628 628 fdpt = ebda_seg :> &EbdaData->fdpt1; 629 629 630 #if 0631 /* Place the FDPT outside of conventional memory. Needed for632 * 286 XENIX 2.1.3/2.2.1 because it completely wipes out633 * the EBDA and low memory. Hack!634 */635 fdpt = MK_FP(0xE200, 0xf00);636 fdpt += device;637 #endif638 639 630 /* Set the INT 41h or 46h pointer. */ 640 631 int_vec = MK_FP(0, (0x41 + device * 5) * sizeof(void __far *)); … … 664 655 * INT 41h/46h at the drive table in ROM. 665 656 * This is required for some old guests which look at INT 41h/46h, 666 * but either insist that it point to a high segment(NetWare 2.x)657 * but either insist that it points well above 640K (NetWare 2.x) 667 658 * or wipe out all RAM (286 XENIX 2.1.3/2.2.1). 659 * 660 * NB: Writing into the F000 segment and storing the FDPT there 661 * would also solve some of these problems. 668 662 */ 669 663 i = inb_cmos(0x12); … … 673 667 i = inb_cmos(0x19 + device); 674 668 675 if (i <= 23) { // Should be in sync with DevPcBios.cpp 669 if (i <= 23) { // Should be in sync with DevPcBios.cpp and orgs.asm 676 670 fdpt = MK_FP(0xF000, 0xE401); 677 671 fdpt += i - 1;
Note:
See TracChangeset
for help on using the changeset viewer.