summaryrefslogtreecommitdiff
path: root/kexec/arch/i386/x86-linux-setup.c
diff options
context:
space:
mode:
authorJulian Winkler <julian.winkler1@web.de>2023-02-23 07:01:07 +0100
committerSimon Horman <horms@kernel.org>2023-02-23 13:35:22 +0100
commit806711fca9e9d52a677bf090565c32c858f2b12e (patch)
tree5de7fa54ede7595df0f987840cd69415a444bd94 /kexec/arch/i386/x86-linux-setup.c
parent29fe5067ed07452bcbbbe5fcd0b4e4215f598014 (diff)
x86: add devicetree support
Since linux kernel has dropped support for simple firmware interface (SFI), the only way of boot newer versions on intel MID platform is using devicetree Signed-off-by: Julian Winkler <julian.winkler1@web.de> Signed-off-by: Simon Horman <horms@kernel.org>
Diffstat (limited to 'kexec/arch/i386/x86-linux-setup.c')
-rw-r--r--kexec/arch/i386/x86-linux-setup.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
index 14263b0..9a281dc 100644
--- a/kexec/arch/i386/x86-linux-setup.c
+++ b/kexec/arch/i386/x86-linux-setup.c
@@ -954,3 +954,18 @@ void setup_linux_system_parameters(struct kexec_info *info,
/* Always try to fill acpi_rsdp_addr */
real_mode->acpi_rsdp_addr = get_acpi_rsdp();
}
+
+void setup_linux_dtb(struct kexec_info *info, struct x86_linux_param_header *real_mode,
+ const char *dtb_buf, int dtb_len)
+{
+ struct setup_data *sd;
+
+ sd = xmalloc(sizeof(struct setup_data) + dtb_len);
+ sd->next = 0;
+ sd->len = dtb_len;
+ sd->type = SETUP_DTB;
+ memcpy(sd->data, dtb_buf, dtb_len);
+
+
+ add_setup_data(info, real_mode, sd);
+}