qemu-ga: add guest-suspend-hybrid
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
		
							parent
							
								
									fbf42210c1
								
							
						
					
					
						commit
						95f4f404e1
					
				| @ -347,3 +347,26 @@ | ||||
| # Since: 1.1 | ||||
| ## | ||||
| { 'command': 'guest-suspend-ram' } | ||||
| 
 | ||||
| ## | ||||
| # @guest-suspend-hybrid | ||||
| # | ||||
| # Save guest state to disk and suspend to ram. | ||||
| # | ||||
| # This command requires the pm-utils package to be installed in the guest. | ||||
| # | ||||
| # IMPORTANT: guest-suspend-hybrid requires QEMU to support the 'system_wakeup' | ||||
| # command.  Thus, it's *required* to query QEMU for the presence of the | ||||
| # 'system_wakeup' command before issuing guest-suspend-hybrid. | ||||
| # | ||||
| # Returns: nothing on success | ||||
| #          If hybrid suspend is not supported, Unsupported | ||||
| # | ||||
| # Notes: o This is an asynchronous request. There's no guarantee a response | ||||
| #          will be sent | ||||
| #        o It's strongly recommended to issue the guest-sync command before | ||||
| #          sending commands when the guest resumes | ||||
| # | ||||
| # Since: 1.1 | ||||
| ## | ||||
| { 'command': 'guest-suspend-hybrid' } | ||||
|  | ||||
| @ -715,6 +715,16 @@ void qmp_guest_suspend_ram(Error **err) | ||||
|     guest_suspend("pm-suspend", "mem", err); | ||||
| } | ||||
| 
 | ||||
| void qmp_guest_suspend_hybrid(Error **err) | ||||
| { | ||||
|     bios_supports_mode("pm-is-supported", "--suspend-hybrid", NULL, err); | ||||
|     if (error_is_set(err)) { | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     guest_suspend("pm-suspend-hybrid", NULL, err); | ||||
| } | ||||
| 
 | ||||
| /* register init/cleanup routines for stateful command groups */ | ||||
| void ga_command_state_init(GAState *s, GACommandState *cs) | ||||
| { | ||||
|  | ||||
| @ -134,6 +134,11 @@ void qmp_guest_suspend_ram(Error **err) | ||||
|     error_set(err, QERR_UNSUPPORTED); | ||||
| } | ||||
| 
 | ||||
| void qmp_guest_suspend_hybrid(Error **err) | ||||
| { | ||||
|     error_set(err, QERR_UNSUPPORTED); | ||||
| } | ||||
| 
 | ||||
| /* register init/cleanup routines for stateful command groups */ | ||||
| void ga_command_state_init(GAState *s, GACommandState *cs) | ||||
| { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Luiz Capitulino
						Luiz Capitulino