mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-12 14:29:28 +00:00
Apparently, the Intel icc compiler doesn't like it when you use
attributes in casts (i.e. foo = (__stdcall sometype)bar). This only happens in two places where we need to set up function pointers, so work around the problem with some void pointer magic.
This commit is contained in:
parent
1019b76f79
commit
26805b1855
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=140827
@ -947,7 +947,7 @@ typedef void (*ndis_proc)(struct ndis_work_item *, void *);
|
||||
|
||||
struct ndis_work_item {
|
||||
void *nwi_ctx;
|
||||
ndis_proc nwi_func;
|
||||
void *nwi_func;
|
||||
uint8_t nwi_wraprsvd[sizeof(void *) * 8];
|
||||
};
|
||||
|
||||
|
@ -354,7 +354,7 @@ struct kdpc {
|
||||
uint8_t k_num;
|
||||
uint8_t k_importance;
|
||||
list_entry k_dpclistentry;
|
||||
kdpc_func k_deferedfunc;
|
||||
void *k_deferedfunc;
|
||||
void *k_deferredctx;
|
||||
void *k_sysarg1;
|
||||
void *k_sysarg2;
|
||||
|
@ -2881,7 +2881,7 @@ ndis_workfunc(ctx)
|
||||
__stdcall ndis_proc workfunc;
|
||||
|
||||
work = ctx;
|
||||
workfunc = (__stdcall ndis_proc) work->nwi_func;
|
||||
workfunc = work->nwi_func;
|
||||
workfunc(work, work->nwi_ctx);
|
||||
return;
|
||||
}
|
||||
|
@ -1732,7 +1732,7 @@ ntoskrnl_run_dpc(arg)
|
||||
uint8_t irql;
|
||||
|
||||
dpc = arg;
|
||||
dpcfunc = (__stdcall kdpc_func) dpc->k_deferedfunc;
|
||||
dpcfunc = dpc->k_deferedfunc;
|
||||
irql = KeRaiseIrql(DISPATCH_LEVEL);
|
||||
dpcfunc(dpc, dpc->k_deferredctx, dpc->k_sysarg1, dpc->k_sysarg2);
|
||||
KeLowerIrql(irql);
|
||||
|
Loading…
Reference in New Issue
Block a user