mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
arm: boot: Add board specific setup code API
Add an API for boards to inject their own preboot software (or firmware) sequence. The software then returns to the bootloader via the link register. This allows boards to do their own little bits of firmware setup without needed to replace the bootloader completely (which is the requirement for existing firmware support). The blob is loaded by a callback if and only if doing a linux boot (similar to the existing write_secondary support). Rewrite the comment for the primary boot blob. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Message-id: 070295644c6ac84696d743913296e8cfefb48c15.1446182614.git.crosthwaite.peter@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
84e5939779
commit
10b8ec73e6
2 changed files with 29 additions and 1 deletions
|
@ -87,6 +87,16 @@ struct arm_boot_info {
|
|||
* -pflash. It also implies that fw_cfg_find() will succeed.
|
||||
*/
|
||||
bool firmware_loaded;
|
||||
|
||||
/* Address at which board specific loader/setup code exists. If enabled,
|
||||
* this code-blob will run before anything else. It must return to the
|
||||
* caller via the link register. There is no stack set up. Enabled by
|
||||
* defining write_board_setup, which is responsible for loading the blob
|
||||
* to the specified address.
|
||||
*/
|
||||
hwaddr board_setup_addr;
|
||||
void (*write_board_setup)(ARMCPU *cpu,
|
||||
const struct arm_boot_info *info);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue