VirtualBox

Ignore:
Timestamp:
Mar 8, 2016 7:50:19 AM (9 years ago)
Author:
vboxsync
Message:

bs3kit: v8086 code reduction.

Location:
trunk/src/VBox/ValidationKit/bootsectors/bs3kit
Files:
9 edited

Legend:

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

    r59287 r59950  
    5454        extern  BS3_CMN_NM(Bs3SwitchTo32Bit)
    5555        jmp     BS3_CMN_NM(Bs3SwitchTo32Bit)
     56
     57%elif BS3_MODE_IS_V86(TMPL_MODE)
     58        ;
     59        ; V8086 - Switch to 16-bit ring-0 and call worker for that mode.
     60        ;
     61        extern  BS3_CMN_NM(Bs3SwitchToRing0)
     62        call    BS3_CMN_NM(Bs3SwitchToRing0)
     63        extern %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToLM32)
     64        jmp    %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToLM32)
    5665
    5766%else
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-SwitchToPAE16.asm

    r59949 r59950  
    5050%ifdef TMPL_PAE16
    5151        ret
     52
     53%elif BS3_MODE_IS_V86(TMPL_MODE)
     54        ;
     55        ; V8086 - Switch to 16-bit ring-0 and call worker for that mode.
     56        ;
     57        extern  BS3_CMN_NM(Bs3SwitchToRing0)
     58        call    BS3_CMN_NM(Bs3SwitchToRing0)
     59        extern %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPAE16)
     60        jmp    %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPAE16)
     61
    5262%else
    5363        ;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-SwitchToPAE32.asm

    r59949 r59950  
    4545%ifdef TMPL_PAE32
    4646        ret
     47
     48%elif BS3_MODE_IS_V86(TMPL_MODE)
     49        ;
     50        ; V8086 - Switch to 16-bit ring-0 and call worker for that mode.
     51        ;
     52        extern  BS3_CMN_NM(Bs3SwitchToRing0)
     53        call    BS3_CMN_NM(Bs3SwitchToRing0)
     54        extern %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPAE32)
     55        jmp    %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPAE32)
    4756
    4857%else
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-SwitchToPE16.asm

    r59287 r59950  
    4343%ifdef TMPL_PE16
    4444        ret
     45
     46%elif BS3_MODE_IS_V86(TMPL_MODE)
     47        ;
     48        ; V8086 - Switch to 16-bit ring-0 and call worker for that mode.
     49        ;
     50        extern  BS3_CMN_NM(Bs3SwitchToRing0)
     51        call    BS3_CMN_NM(Bs3SwitchToRing0)
     52        extern %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPE16)
     53        jmp    %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPE16)
    4554
    4655%else
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-SwitchToPE32.asm

    r59287 r59950  
    4444%ifdef TMPL_PE32
    4545        ret
     46
     47%elif BS3_MODE_IS_V86(TMPL_MODE)
     48        ;
     49        ; V8086 - Switch to 16-bit ring-0 and call worker for that mode.
     50        ;
     51        extern  BS3_CMN_NM(Bs3SwitchToRing0)
     52        call    BS3_CMN_NM(Bs3SwitchToRing0)
     53        extern %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPE32)
     54        jmp    %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPE32)
    4655
    4756%else
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-SwitchToPP16.asm

    r59941 r59950  
    55
    66;
    7 ; Copyright (C) 2007-2015 Oracle Corporation
     7; Copyright (C) 2007-2016 Oracle Corporation
    88;
    99; This file is part of VirtualBox Open Source Edition (OSE), as
     
    5050%ifdef TMPL_PP16
    5151        ret
     52
     53%elif BS3_MODE_IS_V86(TMPL_MODE)
     54        ;
     55        ; V8086 - Switch to 16-bit ring-0 and call worker for that mode.
     56        ;
     57        extern  BS3_CMN_NM(Bs3SwitchToRing0)
     58        call    BS3_CMN_NM(Bs3SwitchToRing0)
     59        extern %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPP16)
     60        jmp    %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPP16)
     61
    5262%else
    5363        ;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-SwitchToPP32.asm

    r59287 r59950  
    4545%ifdef TMPL_PP32
    4646        ret
     47
     48%elif BS3_MODE_IS_V86(TMPL_MODE)
     49        ;
     50        ; V8086 - Switch to 16-bit ring-0 and call worker for that mode.
     51        ;
     52        extern  BS3_CMN_NM(Bs3SwitchToRing0)
     53        call    BS3_CMN_NM(Bs3SwitchToRing0)
     54        extern %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPP32)
     55        jmp    %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToPP32)
    4756
    4857%else
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-SwitchToRM.asm

    r59949 r59950  
    5757        extern  BS3_CMN_NM(Bs3SwitchToRing0)
    5858        call    BS3_CMN_NM(Bs3SwitchToRing0)
    59 
    60  %if   TMPL_MODE == BS3_MODE_PE16_V86
    61         extern  _Bs3SwitchToRM_pe16
    62         jmp     _Bs3SwitchToRM_pe16
    63  %elif TMPL_MODE == BS3_MODE_PEV86
    64         extern  _Bs3SwitchToRM_pe32_16
    65         jmp     _Bs3SwitchToRM_pe32_16
    66  %elif TMPL_MODE == BS3_MODE_PP16_V86
    67         extern  _Bs3SwitchToRM_pp16
    68         jmp     _Bs3SwitchToRM_pp16
    69  %elif TMPL_MODE == BS3_MODE_PPV86
    70         extern  _Bs3SwitchToRM_pp32_16
    71         jmp     _Bs3SwitchToRM_pp32_16
    72  %elif TMPL_MODE == BS3_MODE_PAE16_V86
    73         extern  _Bs3SwitchToRM_pae16
    74         jmp     _Bs3SwitchToRM_pae16
    75  %elif TMPL_MODE == BS3_MODE_PAEV86
    76         extern  _Bs3SwitchToRM_pae32_16
    77         jmp     _Bs3SwitchToRM_pae32_16
    78  %else
    79   %error "Unexpected TMPL_MODE=" TMPL_MODE
    80  %endif
     59        extern %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToRM)
     60        jmp    %[BS3_MODE_R0_NM_ %+ TMPL_MODE](Bs3SwitchToRM)
    8161
    8262%else
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.mac

    r59949 r59950  
    808808;; @}
    809809
     810;; @name For mode specfic lookups:
     811;;          %[BS3_MODE_NM %+ BS3_MODE_PE32](SomeBaseName)
     812;;          %[BS3_MODE_LNAME_ %+ TMPL_MODE]
     813;; @{
     814%define BS3_MODE_NM_001h(a_Name)        _ %+ a_Name %+ _rm
     815%define BS3_MODE_NM_011h(a_Name)        _ %+ a_Name %+ _pe16
     816%define BS3_MODE_NM_012h(a_Name)        _ %+ a_Name %+ _pe16_32
     817%define BS3_MODE_NM_013h(a_Name)        _ %+ a_Name %+ _pe16_v86
     818%define BS3_MODE_NM_022h(a_Name)        _ %+ a_Name %+ _pe32
     819%define BS3_MODE_NM_021h(a_Name)        _ %+ a_Name %+ _pe32_16
     820%define BS3_MODE_NM_023h(a_Name)        _ %+ a_Name %+ _pev86
     821%define BS3_MODE_NM_031h(a_Name)        _ %+ a_Name %+ _pp16
     822%define BS3_MODE_NM_032h(a_Name)        _ %+ a_Name %+ _pp16_32
     823%define BS3_MODE_NM_033h(a_Name)        _ %+ a_Name %+ _pp16_v86
     824%define BS3_MODE_NM_042h(a_Name)        _ %+ a_Name %+ _pp32
     825%define BS3_MODE_NM_041h(a_Name)        _ %+ a_Name %+ _pp32_16
     826%define BS3_MODE_NM_043h(a_Name)        _ %+ a_Name %+ _ppv86
     827%define BS3_MODE_NM_051h(a_Name)        _ %+ a_Name %+ _pae16
     828%define BS3_MODE_NM_052h(a_Name)        _ %+ a_Name %+ _pae16_32
     829%define BS3_MODE_NM_053h(a_Name)        _ %+ a_Name %+ _pae16_v86
     830%define BS3_MODE_NM_062h(a_Name)        _ %+ a_Name %+ _pae32
     831%define BS3_MODE_NM_061h(a_Name)        _ %+ a_Name %+ _pae32_16
     832%define BS3_MODE_NM_063h(a_Name)        _ %+ a_Name %+ _paev86
     833%define BS3_MODE_NM_071h(a_Name)        _ %+ a_Name %+ _lm16
     834%define BS3_MODE_NM_072h(a_Name)        _ %+ a_Name %+ _lm32
     835%define BS3_MODE_NM_074h(a_Name)             a_Name %+ _lm64
     836
     837%define BS3_MODE_LNAME_001h             rm
     838%define BS3_MODE_LNAME_011h             pe16
     839%define BS3_MODE_LNAME_012h             pe16_32
     840%define BS3_MODE_LNAME_013h             pe16_v86
     841%define BS3_MODE_LNAME_022h             pe32
     842%define BS3_MODE_LNAME_021h             pe32_16
     843%define BS3_MODE_LNAME_023h             pev86
     844%define BS3_MODE_LNAME_031h             pp16
     845%define BS3_MODE_LNAME_032h             pp16_32
     846%define BS3_MODE_LNAME_033h             pp16_v86
     847%define BS3_MODE_LNAME_042h             pp32
     848%define BS3_MODE_LNAME_041h             pp32_16
     849%define BS3_MODE_LNAME_043h             ppv86
     850%define BS3_MODE_LNAME_051h             pae16
     851%define BS3_MODE_LNAME_052h             pae16_32
     852%define BS3_MODE_LNAME_053h             pae16_v86
     853%define BS3_MODE_LNAME_062h             pae32
     854%define BS3_MODE_LNAME_061h             pae32_16
     855%define BS3_MODE_LNAME_063h             paev86
     856%define BS3_MODE_LNAME_071h             lm16
     857%define BS3_MODE_LNAME_072h             lm32
     858%define BS3_MODE_LNAME_074h             lm64
     859
     860%define BS3_MODE_UNAME_001h             RM
     861%define BS3_MODE_UNAME_011h             PE16
     862%define BS3_MODE_UNAME_012h             PE16_32
     863%define BS3_MODE_UNAME_013h             PE16_V86
     864%define BS3_MODE_UNAME_022h             PE32
     865%define BS3_MODE_UNAME_021h             PE32_16
     866%define BS3_MODE_UNAME_023h             PEV86
     867%define BS3_MODE_UNAME_031h             PP16
     868%define BS3_MODE_UNAME_032h             PP16_32
     869%define BS3_MODE_UNAME_033h             PP16_V86
     870%define BS3_MODE_UNAME_042h             PP32
     871%define BS3_MODE_UNAME_041h             PP32_16
     872%define BS3_MODE_UNAME_043h             PPV86
     873%define BS3_MODE_UNAME_051h             PAE16
     874%define BS3_MODE_UNAME_052h             PAE16_32
     875%define BS3_MODE_UNAME_053h             PAE16_V86
     876%define BS3_MODE_UNAME_062h             PAE32
     877%define BS3_MODE_UNAME_061h             PAE32_16
     878%define BS3_MODE_UNAME_063h             PAEV86
     879%define BS3_MODE_UNAME_071h             LM16
     880%define BS3_MODE_UNAME_072h             LM32
     881%define BS3_MODE_UNAME_074h             LM64
     882
     883%define BS3_MODE_UNDERSCORE_001h        _
     884%define BS3_MODE_UNDERSCORE_011h        _
     885%define BS3_MODE_UNDERSCORE_012h        _
     886%define BS3_MODE_UNDERSCORE_013h        _
     887%define BS3_MODE_UNDERSCORE_022h        _
     888%define BS3_MODE_UNDERSCORE_021h        _
     889%define BS3_MODE_UNDERSCORE_023h        _
     890%define BS3_MODE_UNDERSCORE_031h        _
     891%define BS3_MODE_UNDERSCORE_032h        _
     892%define BS3_MODE_UNDERSCORE_033h        _
     893%define BS3_MODE_UNDERSCORE_042h        _
     894%define BS3_MODE_UNDERSCORE_041h        _
     895%define BS3_MODE_UNDERSCORE_043h        _
     896%define BS3_MODE_UNDERSCORE_051h        _
     897%define BS3_MODE_UNDERSCORE_052h        _
     898%define BS3_MODE_UNDERSCORE_053h        _
     899%define BS3_MODE_UNDERSCORE_062h        _
     900%define BS3_MODE_UNDERSCORE_061h        _
     901%define BS3_MODE_UNDERSCORE_063h        _
     902%define BS3_MODE_UNDERSCORE_071h        _
     903%define BS3_MODE_UNDERSCORE_072h        _
     904%define BS3_MODE_UNDERSCORE_074h
     905
     906%define BS3_MODE_CNAME_001h             c16
     907%define BS3_MODE_CNAME_011h             c16
     908%define BS3_MODE_CNAME_012h             c32
     909%define BS3_MODE_CNAME_013h             c16
     910%define BS3_MODE_CNAME_022h             c32
     911%define BS3_MODE_CNAME_021h             c16
     912%define BS3_MODE_CNAME_023h             c16
     913%define BS3_MODE_CNAME_031h             c16
     914%define BS3_MODE_CNAME_032h             c32
     915%define BS3_MODE_CNAME_033h             c16
     916%define BS3_MODE_CNAME_042h             c32
     917%define BS3_MODE_CNAME_041h             c16
     918%define BS3_MODE_CNAME_043h             c16
     919%define BS3_MODE_CNAME_051h             c16
     920%define BS3_MODE_CNAME_052h             c32
     921%define BS3_MODE_CNAME_053h             c16
     922%define BS3_MODE_CNAME_062h             c32
     923%define BS3_MODE_CNAME_061h             c16
     924%define BS3_MODE_CNAME_063h             c16
     925%define BS3_MODE_CNAME_071h             c16
     926%define BS3_MODE_CNAME_072h             c32
     927%define BS3_MODE_CNAME_074h             c64
     928;; @}
     929
     930;; @name For getting the ring-0 mode for v86 modes: %[BS3_MODE_R0_NM_001h %+ TMPL_MODE](Bs3SwitchToRM)
     931;; @{
     932%define BS3_MODE_R0_NM_001h(a_Name)     _ %+ a_Name %+ _rm
     933%define BS3_MODE_R0_NM_011h(a_Name)     _ %+ a_Name %+ _pe16
     934%define BS3_MODE_R0_NM_012h(a_Name)     _ %+ a_Name %+ _pe16_32
     935%define BS3_MODE_R0_NM_013h(a_Name)     _ %+ a_Name %+ _pe16
     936%define BS3_MODE_R0_NM_022h(a_Name)     _ %+ a_Name %+ _pe32
     937%define BS3_MODE_R0_NM_021h(a_Name)     _ %+ a_Name %+ _pe32_16
     938%define BS3_MODE_R0_NM_023h(a_Name)     _ %+ a_Name %+ _pe32
     939%define BS3_MODE_R0_NM_031h(a_Name)     _ %+ a_Name %+ _pp16
     940%define BS3_MODE_R0_NM_032h(a_Name)     _ %+ a_Name %+ _pp16_32
     941%define BS3_MODE_R0_NM_033h(a_Name)     _ %+ a_Name %+ _pp16
     942%define BS3_MODE_R0_NM_042h(a_Name)     _ %+ a_Name %+ _pp32
     943%define BS3_MODE_R0_NM_041h(a_Name)     _ %+ a_Name %+ _pp32_16
     944%define BS3_MODE_R0_NM_043h(a_Name)     _ %+ a_Name %+ _pp32
     945%define BS3_MODE_R0_NM_051h(a_Name)     _ %+ a_Name %+ _pae16
     946%define BS3_MODE_R0_NM_052h(a_Name)     _ %+ a_Name %+ _pae16_32
     947%define BS3_MODE_R0_NM_053h(a_Name)     _ %+ a_Name %+ _pae16
     948%define BS3_MODE_R0_NM_062h(a_Name)     _ %+ a_Name %+ _pae32
     949%define BS3_MODE_R0_NM_061h(a_Name)     _ %+ a_Name %+ _pae32_16
     950%define BS3_MODE_R0_NM_063h(a_Name)     _ %+ a_Name %+ _pae32
     951%define BS3_MODE_R0_NM_071h(a_Name)     _ %+ a_Name %+ _lm16
     952%define BS3_MODE_R0_NM_072h(a_Name)     _ %+ a_Name %+ _lm32
     953%define BS3_MODE_R0_NM_074h(a_Name)          a_Name %+ _lm64
     954;; @}
     955
     956
    810957;;
    811958; Includes the file %1 with TMPL_MODE set to all possible value.
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