• P
    cpu_x86: Refactor storage of CPUID data to add support for KVM features · f80a11c9
    Peter Krempa 提交于
    The CPUID functions were stored in multiple arrays according to a
    specified prefix of those. This made it very hard to add another prefix
    to store KVM CPUID features (0x40000000). Instead of hardcoding a third
    array this patch changes the approach used:
    
    The code is refactored to use a single array where the CPUID functions
    are stored ordered by the cpuid function so that they don't depend on
    the specific prefix and don't waste memory. The code is also less
    complex using this approach. A trateoff to this is the change from O(N)
    complexity to O(N^2) in x86DataAdd and x86DataSubtract. The rest of the
    functions were already using O(N^2) algorithms.
    f80a11c9
cpu_x86.c 49.7 KB