VirtualBox

Changeset 100674 in vbox for trunk/src/VBox/Devices/PC


Ignore:
Timestamp:
Jul 21, 2023 9:50:53 AM (19 months ago)
Author:
vboxsync
Message:

BIOS: Added 8086 alternative implementations for rep_insw and rep_outsw, allowing the ATA disk driver to work.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/inlines.h

    r98103 r100674  
    160160
    161161char __far *rep_insw(char __far *buffer, unsigned nwords, unsigned port);
     162#if VBOX_BIOS_CPU >= 80286
    162163#pragma aux rep_insw = ".286" "rep insw" parm [es di] [cx] [dx] value [es di] modify exact [cx di];
     164#else
     165#pragma aux rep_insw = "next:" "in ax,dx" "stosw" "loop next" parm [es di] [cx] [dx] value [es di] modify exact [cx di];
     166#endif
    163167
    164168# if VBOX_BIOS_CPU >= 80386
     
    171175
    172176char __far *rep_outsw(char __far *buffer, unsigned nwords, unsigned port);
     177#if VBOX_BIOS_CPU >= 80286
    173178#pragma aux rep_outsw = ".286" "rep outs dx,word ptr es:[si]" parm [es si] [cx] [dx] value [es si] modify exact [cx si];
     179#else
     180#pragma aux rep_outsw = "next:" "lods word ptr es:[si]" "out dx,ax" "loop next" parm [es si] [cx] [dx] value [es si] modify exact [cx si];
     181#endif
    174182
    175183# if VBOX_BIOS_CPU >= 80386
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette