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