38 asm volatile (
"fxrstor (%0)" : :
"r"(SaveArea));
45 asm volatile (
"fxsave (%0)" : :
"r"(SaveArea));
52 asm volatile (
"fnsave (%0); wait" : :
"r"(SaveArea));
62 __asm__ __volatile__ (
"fxsave %0\n" : :
"m"(*SaveArea));
66 __asm__ __volatile__ (
"fnsave %0\n wait\n" : :
"m"(*SaveArea));
77 __asm__ __volatile__ (
"fxrstor %0\n" : :
"m"(*SaveArea));
81 __asm__ __volatile__ (
"frstor %0\n\t" :
"=m" (*SaveArea));
87Ke386ClearFpExceptions(
VOID)
89 __asm__ __volatile__ (
"fnclex");
103#define Ke386SetLocalDescriptorTable(X) \
104 __asm__("lldt %w0\n\t" \
108#define Ke386SetTr(X) __asm__ __volatile__("ltr %%ax" : :"a" (X));
120#define _Ke386GetSeg(N) ({ \
122 __asm__("movl %%" #N ",%0\n\t" :"=r" (__d)); \
126#define _Ke386SetSeg(N,X) __asm__ __volatile__("movl %0,%%" #N : :"r" (X));
128#define Ke386FnInit() __asm__("fninit\n\t");
129#define Ke386ClearDirectionFlag() __asm__ __volatile__ ("cld")
135#define Ke386SetCr2(X) __asm__ __volatile__("movl %0,%%cr2" : :"r" (X));
140#define Ke386GetSs() _Ke386GetSeg(ss)
141#define Ke386GetFs() _Ke386GetSeg(fs)
142#define Ke386GetDs() _Ke386GetSeg(ds)
143#define Ke386GetEs() _Ke386GetSeg(es)
144#define Ke386GetGs() _Ke386GetSeg(gs)
145#define Ke386SetFs(X) _Ke386SetSeg(fs, X)
146#define Ke386SetDs(X) _Ke386SetSeg(ds, X)
147#define Ke386SetEs(X) _Ke386SetSeg(es, X)
148#define Ke386SetSs(X) _Ke386SetSeg(ss, X)
149#define Ke386SetGs(X) _Ke386SetSeg(gs, X)
151#elif defined(_MSC_VER)
175 __asm mov
eax, SaveArea
183 __asm mov
eax, SaveArea
191 __asm mov
eax, SaveArea
199 __asm mov
eax, SaveArea
334Ke386SaveFpuState(
IN PVOID SaveArea)
362Ke386ClearFpExceptions(
VOID)
367#define Ke386FnSave __fnsave
368#define Ke386FxSave __fxsave
370#define Ke386FxStore __fxrstor
373#error Unknown compiler for inline assembler
376#define Ke386GetGlobalDescriptorTable __sgdt
377#define Ke386SetGlobalDescriptorTable __lgdt
378#define Ke386GetLocalDescriptorTable __sldt
static const WCHAR desc[]
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tsub $32, %rsp\n" "\t.seh_stackalloc 32\n" "\t.seh_endprologue\n" "\tmov %rdx, %rbp\n" "\tjmp *%rax\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $32, %rsp\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")
ecx edi movl ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl edx movl TEMP incl eax andl eax ecx incl ebx testl eax jnz xchgl ecx incl TEMP esp ecx subl ebx pushl ecx ecx edx ecx shrl ecx mm0 mm4 mm0 mm4 mm1 mm5 mm1 mm5 mm2 mm6 mm2 mm6 mm3 mm7 mm3 mm7 paddd mm0 paddd mm4 paddd mm0 paddd mm4 paddd mm0 paddd mm4 movq mm1 movq mm5 psrlq mm1 psrlq mm5 paddd mm0 paddd mm4 psrad mm0 psrad mm4 packssdw mm0 packssdw mm4 mm1 punpckldq mm0 pand mm1 pand mm0 por mm1 movq edi esi edx edi decl ecx jnz popl ecx andl ecx jecxz mm0 mm0 mm1 mm1 mm2 mm2 mm3 mm3 paddd mm0 paddd mm0 paddd mm0 movq mm1 psrlq mm1 paddd mm0 psrad mm0 packssdw mm0 movd eax movw ax
ecx edi movl ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl eax
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor