a6daab1 UefiCpuPkg/RegisterCpuFeaturesLib: Combine implementation.

Authored and Committed by Eric Dong 5 years ago
    UefiCpuPkg/RegisterCpuFeaturesLib: Combine implementation.
    
    V1 changes:
    > Current code logic can't confirm CpuS3DataDxe driver start before
    > CpuFeaturesDxe driver. So the assumption in CpuFeaturesDxe not valid.
    > Add implementation for AllocateAcpiCpuData function to remove this
    > assumption.
    
    V2 changes:
    > Because CpuS3Data memory will be copy to smram at SmmReadToLock point,
    > so the memory type no need to be ACPI NVS type, also the address not
    > limit to below 4G.
    > This change remove the limit of ACPI NVS memory type and below 4G.
    
    V3 changes:
    > Remove function definition in header file.
    > Add STATIC in function implementation.
    
    Pass OS boot and resume from S3 test.
    
    Bugz: https://bugzilla.tianocore.org/show_bug.cgi?id=959
    
    Reported-by: Marvin Häuser <Marvin.Haeuser@outlook.com>
    Suggested-by: Fan Jeff <vanjeff_919@hotmail.com>
    Cc: Marvin Häuser <Marvin.Haeuser@outlook.com>
    Cc: Fan Jeff <vanjeff_919@hotmail.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Ruiyu Ni <ruiyu.ni@intel.com>
    Contributed-under: TianoCore Contribution Agreement 1.1
    Signed-off-by: Eric Dong <eric.dong@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>