x86: ich9: let firmware negotiate 'CPU hot-unplug with SMI' feature
Keep CPU hotunplug with SMI disabled on 5.2 and older and enable it by default on newer machine types. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <20201207140739.3829993-9-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
							
								
									cd89134e24
								
							
						
					
					
						commit
						7ed3e1ebcb
					
				| @ -97,7 +97,9 @@ | ||||
| #include "trace.h" | ||||
| #include CONFIG_DEVICES | ||||
| 
 | ||||
| GlobalProperty pc_compat_5_2[] = {}; | ||||
| GlobalProperty pc_compat_5_2[] = { | ||||
|     { "ICH9-LPC", "x-smi-cpu-hotunplug", "off" }, | ||||
| }; | ||||
| const size_t pc_compat_5_2_len = G_N_ELEMENTS(pc_compat_5_2); | ||||
| 
 | ||||
| GlobalProperty pc_compat_5_1[] = { | ||||
|  | ||||
| @ -392,6 +392,12 @@ static void smi_features_ok_callback(void *opaque) | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     if (guest_cpu_hotplug_features == | ||||
|         BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT)) { | ||||
|         /* cpu hot-unplug is unsupported without cpu-hotplug */ | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     /* valid feature subset requested, lock it down, report success */ | ||||
|     lpc->smi_negotiated_features = guest_features; | ||||
|     lpc->smi_features_ok = 1; | ||||
| @ -774,7 +780,7 @@ static Property ich9_lpc_properties[] = { | ||||
|     DEFINE_PROP_BIT64("x-smi-cpu-hotplug", ICH9LPCState, smi_host_features, | ||||
|                       ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT, true), | ||||
|     DEFINE_PROP_BIT64("x-smi-cpu-hotunplug", ICH9LPCState, smi_host_features, | ||||
|                       ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT, false), | ||||
|                       ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT, true), | ||||
|     DEFINE_PROP_END_OF_LIST(), | ||||
| }; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Igor Mammedov
						Igor Mammedov