VirtualBox

Ignore:
Timestamp:
Jul 1, 2021 8:17:41 AM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
145450
Message:

Devices/EFI: Merge edk-stable202105 and openssl 1.1.1j and make it build, bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.nasm

    r80721 r89983  
    3535    xor     ecx, ecx
    3636    sub     ecx, edi
    37     and     ecx, 15                     ; ecx + edi aligns on 16-byte boundary
     37    and     ecx, 63                     ; ecx + edi aligns on 16-byte boundary
    3838    jz      .0
    3939    cmp     ecx, edx
     
    4343.0:
    4444    mov     ecx, edx
    45     and     edx, 15
    46     shr     ecx, 4                      ; ecx <- # of DQwords to set
     45    and     edx, 63
     46    shr     ecx, 6                      ; ecx <- # of DQwords to set
    4747    jz      @SetBytes
    4848    mov     ah, al                      ; ax <- Value | (Value << 8)
     
    5454.1:
    5555    movntdq [edi], xmm0                 ; edi should be 16-byte aligned
    56     add     edi, 16
     56    movntdq [edi + 16], xmm0
     57    movntdq [edi + 32], xmm0
     58    movntdq [edi + 48], xmm0
     59    add     edi, 64
    5760    loop    .1
    5861    mfence
  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.nasm

    r80721 r89983  
    3434    xor     ecx, ecx
    3535    sub     ecx, edi
    36     and     ecx, 15                     ; ecx + edi aligns on 16-byte boundary
     36    and     ecx, 63                     ; ecx + edi aligns on 16-byte boundary
    3737    mov     eax, [esp + 16]
    3838    jz      .0
     
    4444.0:
    4545    mov     ecx, edx
    46     and     edx, 7
    47     shr     ecx, 3
     46    and     edx, 31
     47    shr     ecx, 5
    4848    jz      @SetWords
    4949    movd    xmm0, eax
     
    5252.1:
    5353    movntdq [edi], xmm0                 ; edi should be 16-byte aligned
    54     add     edi, 16
     54    movntdq [edi + 16], xmm0
     55    movntdq [edi + 32], xmm0
     56    movntdq [edi + 48], xmm0
     57    add     edi, 64
    5558    loop    .1
    5659    mfence
  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.nasm

    r80721 r89983  
    4444.0:
    4545    mov     ecx, edx
    46     and     edx, 3
    47     shr     ecx, 2
     46    and     edx, 15
     47    shr     ecx, 4
    4848    jz      @SetDwords
    4949    movd    xmm0, eax
     
    5151.1:
    5252    movntdq [edi], xmm0
    53     add     edi, 16
     53    movntdq [edi + 16], xmm0
     54    movntdq [edi + 32], xmm0
     55    movntdq [edi + 48], xmm0
     56    add     edi, 64
    5457    loop    .1
    5558    mfence
  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.nasm

    r80721 r89983  
    3939    dec     ecx
    4040.0:
    41     shr     ecx, 1
     41    push    ebx
     42    mov     ebx, ecx
     43    and     ebx, 7
     44    shr     ecx, 3
    4245    jz      @SetQwords
    4346    movlhps xmm0, xmm0
    4447.1:
    4548    movntdq [edx], xmm0
    46     lea     edx, [edx + 16]
     49    movntdq [edx + 16], xmm0
     50    movntdq [edx + 32], xmm0
     51    movntdq [edx + 48], xmm0
     52    lea     edx, [edx + 64]
    4753    loop    .1
    4854    mfence
    4955@SetQwords:
    50     jnc     .2
     56    test    ebx, ebx
     57    jz .3
     58    mov     ecx, ebx
     59.2
    5160    movq    qword [edx], xmm0
    52 .2:
     61    lea     edx, [edx + 8]
     62    loop    .2
     63.3:
     64    pop ebx
    5365    ret
    5466
  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.nasm

    r80721 r89983  
    3434    sub     ecx, edi
    3535    xor     eax, eax
    36     and     ecx, 15
     36    and     ecx, 63
    3737    jz      .0
    3838    cmp     ecx, edx
     
    4242.0:
    4343    mov     ecx, edx
    44     and     edx, 15
    45     shr     ecx, 4
     44    and     edx, 63
     45    shr     ecx, 6
    4646    jz      @ZeroBytes
    4747    pxor    xmm0, xmm0
    4848.1:
    4949    movntdq [edi], xmm0
    50     add     edi, 16
     50    movntdq [edi + 16], xmm0
     51    movntdq [edi + 32], xmm0
     52    movntdq [edi + 48], xmm0
     53    add     edi, 64
    5154    loop    .1
    5255    mfence
  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.nasm

    r80721 r89983  
    4343.0:
    4444    mov     rcx, rdx
    45     and     rdx, 15
    46     shr     rcx, 4
     45    and     rdx, 63
     46    shr     rcx, 6
    4747    jz      @SetBytes
    4848    mov     ah, al                      ; ax <- Value repeats twice
     
    5353.1:
    5454    movntdq [rdi], xmm0                 ; rdi should be 16-byte aligned
    55     add     rdi, 16
     55    movntdq [rdi + 16], xmm0
     56    movntdq [rdi + 32], xmm0
     57    movntdq [rdi + 48], xmm0
     58    add     rdi, 64
    5659    loop    .1
    5760    mfence
  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.nasm

    r80721 r89983  
    3434    xor     rcx, rcx
    3535    sub     rcx, rdi
    36     and     rcx, 15
     36    and     rcx, 63
    3737    mov     rax, r8
    3838    jz      .0
     
    4444.0:
    4545    mov     rcx, rdx
    46     and     edx, 7
    47     shr     rcx, 3
     46    and     edx, 31
     47    shr     rcx, 5
    4848    jz      @SetWords
    4949    movd    xmm0, eax
     
    5252.1:
    5353    movntdq [rdi], xmm0
    54     add     rdi, 16
     54    movntdq [rdi + 16], xmm0
     55    movntdq [rdi + 32], xmm0
     56    movntdq [rdi + 48], xmm0
     57    add     rdi, 64
    5558    loop    .1
    5659    mfence
  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.nasm

    r80721 r89983  
    4444.0:
    4545    mov     rcx, rdx
    46     and     edx, 3
    47     shr     rcx, 2
     46    and     edx, 15
     47    shr     rcx, 4
    4848    jz      @SetDwords
    4949    movd    xmm0, eax
     
    5151.1:
    5252    movntdq [rdi], xmm0
    53     add     rdi, 16
     53    movntdq [rdi + 16], xmm0
     54    movntdq [rdi + 32], xmm0
     55    movntdq [rdi + 48], xmm0
     56    add     rdi, 64
    5457    loop    .1
    5558    mfence
  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.nasm

    r80721 r89983  
    3838    dec     rcx
    3939.0:
    40     shr     rcx, 1
     40    push    rbx
     41    mov     rbx, rcx
     42    and     rbx, 7
     43    shr     rcx, 3
    4144    jz      @SetQwords
    4245    movlhps xmm0, xmm0
    4346.1:
    4447    movntdq [rdx], xmm0
    45     lea     rdx, [rdx + 16]
     48    movntdq [rdx + 16], xmm0
     49    movntdq [rdx + 32], xmm0
     50    movntdq [rdx + 48], xmm0
     51    lea     rdx, [rdx + 64]
    4652    loop    .1
    4753    mfence
    4854@SetQwords:
    49     jnc     .2
    50     mov     [rdx], r8
     55    push    rdi
     56    mov     rcx, rbx
     57    mov     rax, r8
     58    mov     rdi, rdx
     59    rep     stosq
     60    pop     rdi
    5161.2:
     62    pop rbx
    5263    ret
    5364
  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.nasm

    r80721 r89983  
    3333    xor     eax, eax
    3434    sub     rcx, rdi
    35     and     rcx, 15
     35    and     rcx, 63
    3636    mov     r8, rdi
    3737    jz      .0
     
    4242.0:
    4343    mov     rcx, rdx
    44     and     edx, 15
    45     shr     rcx, 4
     44    and     edx, 63
     45    shr     rcx, 6
    4646    jz      @ZeroBytes
    4747    pxor    xmm0, xmm0
    4848.1:
    49     movntdq [rdi], xmm0                 ; rdi should be 16-byte aligned
    50     add     rdi, 16
     49    movntdq [rdi], xmm0
     50    movntdq [rdi + 16], xmm0
     51    movntdq [rdi + 32], xmm0
     52    movntdq [rdi + 48], xmm0
     53    add     rdi, 64
    5154    loop    .1
    5255    mfence
Note: See TracChangeset for help on using the changeset viewer.

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