x86: ich9: factor out "guest_cpu_hotplug_features"
it will be reused by next patch to check validity of unplug feature. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <20201207140739.3829993-8-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
e2487e4028
commit
cd89134e24
|
@ -366,6 +366,7 @@ static void smi_features_ok_callback(void *opaque)
|
||||||
{
|
{
|
||||||
ICH9LPCState *lpc = opaque;
|
ICH9LPCState *lpc = opaque;
|
||||||
uint64_t guest_features;
|
uint64_t guest_features;
|
||||||
|
uint64_t guest_cpu_hotplug_features;
|
||||||
|
|
||||||
if (lpc->smi_features_ok) {
|
if (lpc->smi_features_ok) {
|
||||||
/* negotiation already complete, features locked */
|
/* negotiation already complete, features locked */
|
||||||
|
@ -378,9 +379,12 @@ static void smi_features_ok_callback(void *opaque)
|
||||||
/* guest requests invalid features, leave @features_ok at zero */
|
/* guest requests invalid features, leave @features_ok at zero */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
guest_cpu_hotplug_features = guest_features &
|
||||||
|
(BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT) |
|
||||||
|
BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT));
|
||||||
if (!(guest_features & BIT_ULL(ICH9_LPC_SMI_F_BROADCAST_BIT)) &&
|
if (!(guest_features & BIT_ULL(ICH9_LPC_SMI_F_BROADCAST_BIT)) &&
|
||||||
guest_features & (BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT) |
|
guest_cpu_hotplug_features) {
|
||||||
BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT))) {
|
|
||||||
/*
|
/*
|
||||||
* cpu hot-[un]plug with SMI requires SMI broadcast,
|
* cpu hot-[un]plug with SMI requires SMI broadcast,
|
||||||
* leave @features_ok at zero
|
* leave @features_ok at zero
|
||||||
|
|
Loading…
Reference in a new issue