forked from Tasssadar/kexec-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for reworking flat device tree support
Currently, the device tree is passed as is. You can optionally update the command line and specifically listed nodes but nothing is updated automatically. This patch updates the memreserve regions, memory node, initrd nodes and attempts to make the device tree look as it should. Some code is borrowed from the u-boot routines which do similiar things Also, now if no flat device tree is passed to kexec it will attempt to rebuild one from the /proc/device-tree file system to use for the kexec'ed kernel for both uImage and elf formats [ [email protected]: kernel_addr is now outside #ifdef WITH_GAMECUBE ] Signed-off-by: Matthew McClintock <[email protected]> Signed-off-by: Simon Horman <[email protected]>
- Loading branch information
Showing
6 changed files
with
390 additions
and
140 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,10 @@ | ||
#ifndef __FIXUP_DTB_H | ||
#define __FIXUP_DTB_H | ||
|
||
char *fixup_dtb_nodes(char *blob_buf, off_t *blob_size, char *nodes[], char *cmdline); | ||
char *fixup_dtb_init(struct kexec_info *info, char *blob_buf, off_t *blob_size, | ||
unsigned long hole_addr, unsigned long *dtb_addr); | ||
|
||
char *fixup_dtb_finalize(struct kexec_info *info, char *blob_buf, off_t *blob_size, | ||
char *nodes[], char *cmdline); | ||
|
||
#endif |
Oops, something went wrong.