Skip to content
This repository has been archived by the owner on Jan 28, 2023. It is now read-only.

Add CPUID manager for guest CPUID instructions #335

Merged
merged 5 commits into from
Nov 24, 2020
Merged

Add CPUID manager for guest CPUID instructions #335

merged 5 commits into from
Nov 24, 2020

Commits on Nov 24, 2020

  1. cpuid: Add CPUID controller

    Add CPUID controller to control the user's settings for CPUID leaves,
    including the management of the configurable leaves, the validity
    checking and adjustment of input values.
    
    Signed-off-by: Wenchao Wang <wenchao.wang@intel.com>
    wcwang committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    9ce83ba View commit details
    Browse the repository at this point in the history
  2. cpuid: Optimize host features cache calculation

    Optimize host supported features cache algorithm during HAXM
    initialization.
    
    * Simplify the storage type for both host and guest supported features
    * Improve the calculation method of host supported features to be more
      efficient
    
    Signed-off-by: Wenchao Wang <wenchao.wang@intel.com>
    wcwang committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    af05fb1 View commit details
    Browse the repository at this point in the history
  3. cpuid: Add CPUID manager

    Add CPUID manager to manage the supported guest CPUID instructions. For
    the leaves in the manager list, if the execution function is specified,
    the return values of the host CPUID instruction will be overwritten; If
    not specified, the host values will be returned directly. For the leaves
    not in the manager list, it will return that those CPUID instructions
    are not supported.
    
    Signed-off-by: Wenchao Wang <wenchao.wang@intel.com>
    wcwang committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    0511791 View commit details
    Browse the repository at this point in the history
  4. cpuid: Cache the supported guest CPUID values

    Cache the supported guest CPUID instruction values in the initialization
    phase to avoid repeated calculations each time a guest CPUID instruction
    is executed. The supported guest CPUID leaves are managed by the CPUID
    manager, and the cache memory size is dynamically calculated. When
    setting the CPUID values, modify the cached values directly.
    
    Signed-off-by: Wenchao Wang <wenchao.wang@intel.com>
    wcwang committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    e26f21a View commit details
    Browse the repository at this point in the history
  5. cpuid: Add support for CPUID leaves 15H and 16H

    Enable support for guest CPUID instructions CPUID.15H and CPUID.16H.
    
    * Add CPUID.15H and CPUID.16H into CPUID manager as the supported guest
      CPUID instructions
    * Add CPUID.15H and CPUID.16H into CPUID controller to allow user to
      set their values
    * Adjust maximum return value of basic CPUID information to 0x16
    
    Signed-off-by: Wenchao Wang <wenchao.wang@intel.com>
    wcwang committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    0b79f1f View commit details
    Browse the repository at this point in the history