VirtualBox

Ignore:
Timestamp:
Apr 1, 2016 8:51:29 PM (9 years ago)
Author:
vboxsync
Message:

bs3kit: A bunch of changes to be able to test the effects of a GDT page being read-only or not-present.

  • Extended the GDT so we get a whole page to play paging tricks with.
  • Added syscall for restoring a context from ring-0 so we can safely get out of bogus test context that aren't in ring-0 (non-standard CS value causing trouble here). Implemented the string print syscall since the restore syscall forced me to sort out pointers.
  • Changed most string printers to do more than one char at a time (usually a line) to save context switches (screen priting is done via INT 10h in real mode).
  • Test the CS access bit handling during INT XXh.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-SwitchToPP16.asm

    r59950 r60291  
    4949BS3_PROC_BEGIN_MODE Bs3SwitchToPP16
    5050%ifdef TMPL_PP16
     51        extern  BS3_CMN_NM(Bs3SwitchToRing0)
     52        call    BS3_CMN_NM(Bs3SwitchToRing0)
     53        push    ax
     54        mov     ax, BS3_SEL_R0_DS16
     55        mov     ds, ax
     56        mov     es, ax
     57        pop     ax
    5158        ret
    5259
     
    97104        push    ecx
    98105        pushfd
     106%ifdef BS3_STRICT
     107        mov     ax, ds
     108        cmp     ax, BS3_ADDR_BS3DATA16 >> 4
     109        je      .real_mode_ds_ok
     110        hlt
     111.real_mode_ds_ok:
     112%endif
    99113
    100114        ;
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