mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 19:00:17 +02:00
When running the cpuid application (http://www.etallen.com/cpuid.html) I noticed that we were returning some garbage data here. After initially implementing support for leaf functions, it still didn't resolve the issue. So I had to fix those in the x86-64 JIT. I then went through and solved more issues with the function results. - We now return a more sane CPU family that is near the feature set we support - APICID now understands how to fill out the data correctly depending on emulated core counts - Disabled some CPU features that we don't actually support - Found two more cache functions that we weren't populating - Filled with generic data cache size data - Only thing that matters is that we ensure that cacheline size is reported as 64bytes - L1D: 32KB, L1I: 32KB, L2: 512KB, L3: 8MB claimed for caches - Implemented Leafs for functions - 7h - Only has leaf 0 - Dh - Extended CPU features support - Another register that lets you claim support for x87, SSE, and AVX - Leaf 1 & 2 has some additional data - 4h & 8000'0001Dh - Extended cache properties - Almost the same as each other. One reports slightly less data though