VirtualBox

Changeset 105073 in vbox


Ignore:
Timestamp:
Jun 28, 2024 3:20:50 PM (5 months ago)
Author:
vboxsync
Message:

bs3kit/Bs3RegCtxRestore: Do LM16 and LM32 restores via syscalls so we can make sure r8-r15 and high register values are correctly loaded. This is a bit risky, but it fixes running bs3-cpu-weird-1 on real hw where the BIOS/EFI leave r8-r15 in a non-zero state. bugref:10715

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-RegCtxRestore.asm

    r98103 r105073  
    8484        cmp     byte [BS3_DATA16_WRT(g_bBs3CurrentMode)], BS3_MODE_RM
    8585        je      .in_ring0
     86        cmp     byte [BS3_DATA16_WRT(g_bBs3CurrentMode)], BS3_MODE_LM16
     87        je      .do_syscall_restore_ctx
    8688        test    byte [BS3_DATA16_WRT(g_bBs3CurrentMode)], BS3_MODE_CODE_V86
    8789        jnz     .do_syscall_restore_ctx
     90%elif TMPL_BITS == 32
     91        cmp     byte [BS3_DATA16_WRT(g_bBs3CurrentMode)], BS3_MODE_LM32
     92        je      .do_syscall_restore_ctx
    8893%endif
    8994        mov     ax, ss
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