mirror of
https://github.com/opnsense/src.git
synced 2026-02-22 01:11:30 -05:00
ndis_timercall() in NdisMInitializeTimer(), we can't use the raw function pointer. This is because ntoskrnl_run_dpc() expects to invoke a function with Microsoft calling conventions. On i386, this works because ndis_timercall() is declared with the __stdcall attribute, but this is a no-op on amd64. To do it correctly, we have to generate a wrapper for ndis_timercall() and us the wrapper instead of of the raw function pointer. Fix this by adding ndis_timercall() to the funcptr table in subr_ndis.c, and create ndis_findwrap() to extract the wrapped function from the table in NdisMInitializeTimer() instead of just passing ndis_timercall() to KeInitializeDpc() directly. |
||
|---|---|---|
| .. | ||
| freebsd32 | ||
| ia32 | ||
| linprocfs | ||
| linux | ||
| ndis | ||
| netbsd | ||
| pecoff | ||
| svr4 | ||