static void acpi_jump_to_wakeup(void *vector) { uintptr_t source = 0, target = 0; size_t size = 0; if (!acpi_s3_resume_allowed()) { printk(BIOS_WARNING, "ACPI: S3 resume not allowed.\n"); return; } if (!CONFIG(RELOCATABLE_RAMSTAGE)) { struct resume_backup *backup_mem = cbmem_find(CBMEM_ID_RESUME); if (backup_mem && backup_mem->valid) { backup_mem->valid = 0; target = backup_mem->lowmem; source = backup_mem->cbmem; size = backup_mem->size; } else { printk(BIOS_WARNING, "ACPI: Backup memory missing. " "No S3 resume.\n"); return; } } /* Copy wakeup trampoline in place. */ memcpy((void *)WAKEUP_BASE, &__wakeup, __wakeup_size); set_boot_successful(); timestamp_add_now(TS_ACPI_WAKE_JUMP); acpi_do_wakeup((uintptr_t)vector, source, target, size); }
void boot_successful(void) { #if CONFIG_FRAMEBUFFER_SET_VESA_MODE && !CONFIG_FRAMEBUFFER_KEEP_VESA_MODE void vbe_textmode_console(void); vbe_textmode_console(); #endif /* Remember this was a successful boot */ set_boot_successful(); /* turn off the boot watchdog */ watchdog_off(); }
void boot_successful(void) { #if CONFIG_BOOTSPLASH && !CONFIG_COREBOOT_KEEP_FRAMEBUFFER void vbe_textmode_console(void); vbe_textmode_console(); #endif /* Remember this was a successful boot */ set_boot_successful(); /* turn off the boot watchdog */ watchdog_off(); }