On Thu, 4 Jan 2018, Tim Chen wrote:
>  #ifdef APM_ZERO_SEGS
>  #    define APM_DO_ZERO_SEGS \
>               "pushl %%ds\n\t" \
> @@ -28,6 +30,7 @@ static inline void apm_bios_call_asm(u32 func, u32 ebx_in, 
> u32 ecx_in,
>                                       u32 *eax, u32 *ebx, u32 *ecx,
>                                       u32 *edx, u32 *esi)
>  {
> +     unprotected_firmware_begin();
>       /*
>        * N.B. We do NOT need a cld after the BIOS call
>        * because we always save and restore the flags.
> @@ -44,6 +47,7 @@ static inline void apm_bios_call_asm(u32 func, u32 ebx_in, 
> u32 ecx_in,
>                 "=S" (*esi)
>               : "a" (func), "b" (ebx_in), "c" (ecx_in)
>               : "memory", "cc");
> +     unprotected_formware_end();

This doesn't even compile unless the new compiler speculates that into
unprotected_firmware_end().

Thanks,

        tglx

Reply via email to