> 
> Index: arch/amd64/stand/libsa/gidt.S
> ===================================================================
> RCS file: /cvs/src/sys/arch/amd64/stand/libsa/gidt.S,v
> retrieving revision 1.11
> diff -u -p -u -r1.11 gidt.S
> --- arch/amd64/stand/libsa/gidt.S     27 Oct 2012 15:43:42 -0000      1.11
> +++ arch/amd64/stand/libsa/gidt.S     9 Nov 2019 06:50:57 -0000
> @@ -423,14 +423,6 @@ intno    = . - 1
>       movl    %edx, 0x9*4(%esp)
>       movb    %bh , 0xe*4(%esp)
> 
> -     /* clear NT flag in eflags */
> -     /* Martin Fredriksson <mar...@gbg.netman.se> */
> -     pushf
> -     pop     %eax
> -     and     $0xffffbfff, %eax
> -     push    %eax
> -     popf
> -
>       /* save registers into save area */
>       movl    %eax, _C_LABEL(BIOS_regs)+BIOSR_AX
>       movl    %ecx, _C_LABEL(BIOS_regs)+BIOSR_CX
> @@ -438,6 +430,13 @@ intno    = . - 1
>       movl    %ebp, _C_LABEL(BIOS_regs)+BIOSR_BP
>       movl    %esi, _C_LABEL(BIOS_regs)+BIOSR_SI
>       movl    %edi, _C_LABEL(BIOS_regs)+BIOSR_DI
> +
> +     /* clear NT flag in eflags */
> +     pushf
> +     pop     %eax
> +     and     $0xffffbfff, %eax
> +     push    %eax
> +     popf
> 
>       pop     %gs
>       pop     %fs
> Index: arch/i386/stand/libsa/gidt.S
> ===================================================================
> RCS file: /cvs/src/sys/arch/i386/stand/libsa/gidt.S,v
> retrieving revision 1.36
> diff -u -p -u -r1.36 gidt.S
> --- arch/i386/stand/libsa/gidt.S      31 Oct 2012 13:55:58 -0000      1.36
> +++ arch/i386/stand/libsa/gidt.S      9 Nov 2019 06:51:29 -0000
> @@ -426,14 +426,6 @@ intno    = . - 1
>       movl    %edx, 0x9*4(%esp)
>       movb    %bh , 0xe*4(%esp)
> 
> -     /* clear NT flag in eflags */
> -     /* Martin Fredriksson <mar...@gbg.netman.se> */
> -     pushf
> -     pop     %eax
> -     and     $0xffffbfff, %eax
> -     push    %eax
> -     popf
> -
>       /* save registers into save area */
>       movl    %eax, _C_LABEL(BIOS_regs)+BIOSR_AX
>       movl    %ecx, _C_LABEL(BIOS_regs)+BIOSR_CX
> @@ -441,6 +433,13 @@ intno    = . - 1
>       movl    %ebp, _C_LABEL(BIOS_regs)+BIOSR_BP
>       movl    %esi, _C_LABEL(BIOS_regs)+BIOSR_SI
>       movl    %edi, _C_LABEL(BIOS_regs)+BIOSR_DI
> +
> +     /* clear NT flag in eflags */
> +     pushf
> +     pop     %eax
> +     and     $0xffffbfff, %eax
> +     push    %eax
> +     popf
> 
>       pop     %gs
>       pop     %fs

These changes work for me. As part of my Masterthesis im working on a
measured boot with OpenBSD and to communicate with the TPM from within boot
(8) BIOS calls are a convenient way to do so.

Thanks for the fast response

Julius


Reply via email to