SystemCpuInformation seems not defined anywhere outside Wine. It's not defined on MSDN, neither can it be found on any Wine-unrelated Documentations/Source-codes or Documentations. If you have any links or documentation for SystemCpuInformation, could you send them please ?
If i can't extend the struct, i think it would be easier to just move the parser into kernel32/process as well and avoid modifiying this interface as NtQuerySystemInformation is marked as deprecated on MSDN anyway.
try SystemProcessorInformation and SYSTEM_PROCESSOR_INFORMATION (instead of SystemCpuInformation and SYSTEM_CPU_INFORMATION) and you'll see that it's not Wine specific. so you cannot extend them
moreover, don't trust MSDN... they're simply saying that if there's the same API in kernel32 it should be prefered over it's ntdll counterpart...
regarding your patch, the core of the work has to be done in ntdll. you just have to find the correct API in ntdll that does the job you're not using the right one (at least for the class of the query) for example, SystemNumaProcessorMap could help you... (even I coudn't find some docs about the structures, but I didn't search a lot), and reverse engineering (using ntdll as a blackbox) may be of some help
A+