Now that bootm_final() does most of what we want, drop this separate function. Series-to: concept Cover-letter: bootm: Clean up arch-specific, pre-OS clean-up Each arch does something slightly different before booting the OS. Some archs even do different things depending on the CPU type. EFT_LOADER has its own special code, regardless of which arch is being booted. It is quite hard to know what actually happens in the final milliseconds before the OS boot. This series attempts to clean up U-Boot in this area. The basic approach is to create a new bootm_final() function which is called by all archs. It provides some flags for a couple of necessary variations but otherwise it is generic. RISC-V, x86 and ARM are converted over to use this new function. For consistency, EFI loader is converted as well. A noteable change is that EFI_LOADER now does bootstage processing before boot, if enabled, thus producing a report. Future work could take this a little further: - Drop board_quiesce_devices() and rely on driver model for that - Similarly with udc_disconnect() - cleanup_before_linux() could use more details as to what it is supposed to do, to reduce the number of arch-specific variations END Signed-off-by: Simon Glass <sjg@chromium.org>
26 lines
817 B
C
26 lines
817 B
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright (c) 2013, Google Inc.
|
|
*/
|
|
|
|
#ifndef ARM_BOOTM_H
|
|
#define ARM_BOOTM_H
|
|
|
|
/**
|
|
* boot_linux_kernel() - boot a linux kernel
|
|
*
|
|
* This boots a kernel image, either 32-bit or 64-bit. It will also work with
|
|
* a self-extracting kernel, if you set @image_64bit to false.
|
|
*
|
|
* @setup_base: Address of the setup.bin information for the kernel
|
|
* @entry: Address of the kernel entry point
|
|
* @image_64bit: true if the image is a raw 64-bit kernel, or a kernel
|
|
* which supports booting in 64-bit mode; false if it is raw 32-bit or any type
|
|
* of self-extracting kernel such as a bzImage.
|
|
* Return: -ve error code. This function does not return if the kernel was
|
|
* booted successfully.
|
|
*/
|
|
int boot_linux_kernel(ulong setup_base, ulong entry, bool image_64bit);
|
|
|
|
#endif
|