what api i can use to create interrupt service routine and do double floating point inside that routine
WdfInterruptCreate this is the one?
also enable sse in kernel x64 i should modify cr0/cr4 registers right?
VOID EnableSSE()
{
ULONG64 cr0, cr4;
cr0 = __readcr0();
cr0 &= ~(1ull << 2);
cr0 |= (1ull << 1);
__writecr0(cr0);
cr4 = __readcr4();
cr4 |= (3ull << 9);
__writecr4(cr4);
}
no you certainly don't do any of that.
Read the docs here: Using Floating Point in a WDM Driver - Windows drivers
1 Like
You shouldn't be doing ANY computation in an ISR. Just acknowledge the interrupt. remember in your context what happened, and fire your DPC to do the handling.