HalpNumaQueryProcessorNode
NTSTATUS __stdcall HalpNumaQueryProcessorNode(UINT64 ProcessorIndex, UINT64 *Identifier, UINT16 *Node){
int v3;
unsigned int v4;
NTSTATUS result;
unsigned int v8;
unsigned int v9;
unsigned int v10;
int a2;
v3 = *(_DWORD *)Identifier;
v4 = 0;
a2 = 0;
if( v3 == -1 )
{
result = HalpInterruptGetIdentifiers(ProcessorIndex, &a2, 0i64);
if( result < 0 )
return result;
v3 = a2;
*(_DWORD *)Identifier = a2;
}
if( HalpAcpiSrat )
{
v8 = 0;
v9 = *(_DWORD *)(HalpNumaConfig + 60);
if( !v9 )
return -1073741275;
while( *(_DWORD *)(*(_QWORD *)HalpNumaConfig + 4i64 * v8) != v3 )
{
if( ++v8 >= v9 )
return -1073741275;
}
v10 = *(_DWORD *)(HalpNumaConfig + 56);
if( !v10 )
return -1073741275;
while( *(_DWORD *)(*(_QWORD *)(HalpNumaConfig + 24) + 4i64 * v4) != *(_DWORD *)(*(_QWORD *)(HalpNumaConfig + 16)
+ 4i64 * v8) )
{
if( ++v4 >= v10 )
return -1073741275;
}
*Node = v4;
}
else
{
*Node = -1;
}
return 0;
}Referenced by:
No references.