The XNU source code for Sierra 10.12.6, the source code that Apple is sharing with us, is missing some vital definitions. This makes it even more incomplete than it already was. I mean just look at this (cpuid.h):
#define CPU_MODEL_SKYLAKE 0x4E #define CPU_MODEL_SKYLAKE_ULT 0x4E #define CPU_MODEL_SKYLAKE_ULX 0x4E #define CPU_MODEL_SKYLAKE_DT 0x5E
That should really be this:
#define CPU_MODEL_SKYLAKE 0x4E #define CPU_MODEL_SKYLAKE_ULT 0x4E #define CPU_MODEL_SKYLAKE_ULX 0x4E #define CPU_MODEL_SKYLAKE_DT 0x5E #define CPU_MODEL_SKYLAKE_W 0x55 #define CPU_MODEL_KABYLAKE 0x8E #define CPU_MODEL_KABYLAKE_ULT 0x8E #define CPU_MODEL_KABYLAKE_ULX 0x8E #define CPU_MODEL_KABYLAKE_DT 0x9E
And this line is also missing in machine.h:
#define CPUFAMILY_INTEL_KABYLAKE 0x0f817246
Why? Because Kaby Lake processors where introduced in Mac’s long before the High Sierra GM. Without these even Apple cannot compile the source code. But hey. I guess that Apple isn’t expecting us to pay attention to detail.
Note: The source code for High Sierra 10.13 is correct. As in the lines are there in the SDK already.