Function report |
Source Code:kernel\power\hibernate.c |
Create Date:2022-07-28 09:59:11 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:reate_image - Create a hibernation image.*@platform_mode: Whether or not to use the platform driver.* Execute device drivers' "late" and "noirq" freeze callbacks, create a* hibernation image and run the drivers' "noirq" and "early" thaw callbacks.
Proto:static int create_image(int platform_mode)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| int | platform_mode |
| 278 | error = dpm_suspend_end(PMSG_FREEZE) |
| 279 | If error Then |
| 285 | If error || hibernation_test(TEST_PLATFORM) Then Go to Platform_finish |
| 288 | error = suspend_disable_secondary_cpus() |
| 289 | If error || hibernation_test(TEST_CPUS) Then Go to Enable_cpus |
| 292 | local_irq_disable() |
| 294 | Values used for system_state. Ordering of the states must not be changed* as code checks for <, <=, >, >= STATE. = SYSTEM_SUSPEND |
| 296 | error = syscore_suspend() |
| 297 | If error Then |
| 298 | pr_err("Some system devices failed to power down, aborting hibernation\n") |
| 299 | Go to Enable_irqs |
| 302 | If hibernation_test(TEST_CORE) || pm_wakeup_pending() Then Go to Power_up |
| 305 | in_suspend = 1 |
| 306 | save_processor_state() |
| 307 | trace_suspend_resume(TPS("machine_suspend"), Hibernation image has been saved, true) |
| 308 | error = swsusp_arch_suspend() |
| 310 | restore_processor_state() |
| 311 | trace_suspend_resume(TPS("machine_suspend"), Hibernation image has been saved, false) |
| 315 | If Not in_suspend Then |
| 316 | events_check_enabled = false |
| 317 | clear_free_pages() |
| 322 | Power_up : |
| 323 | syscore_resume() |
| 325 | Enable_irqs : |
| 326 | Values used for system_state. Ordering of the states must not be changed* as code checks for <, <=, >, >= STATE. = SYSTEM_RUNNING |
| 329 | Enable_cpus : |
| 333 | If Not in_suspend Then error = arch_resume_nosmt() |
| 336 | Platform_finish : |
| 339 | dpm_resume_start(in_suspend ? (error ? PMSG_RECOVER : PMSG_THAW) : PMSG_RESTORE) |
| 342 | Return error |
| Name | Describe |
|---|---|
| hibernation_snapshot | hibernation_snapshot - Quiesce devices and create a hibernation image.*@platform_mode: If set, use platform driver to prepare for the transition.* This routine must be called with system_transition_mutex held. |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |