mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-09 03:20:05 +00:00
Pull UML updates from Richard Weinberger: - Lots of cleanups, mostly from Benjamin Berg and Tiwei Bie - Removal of unused code - Fix for sparse warnings - Cleanup around stub_exe() * tag 'uml-for-linus-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux: (68 commits) hostfs: Fix the NULL vs IS_ERR() bug for __filemap_get_folio() um: move thread info into task um: Always dump trace for specified task in show_stack um: vector: Do not use drvdata in release um: net: Do not use drvdata in release um: ubd: Do not use drvdata in release um: ubd: Initialize ubd's disk pointer in ubd_add um: virtio_uml: query the number of vqs if supported um: virtio_uml: fix call_fd IRQ allocation um: virtio_uml: send SET_MEM_TABLE message with the exact size um: remove broken double fault detection um: remove duplicate UM_NSEC_PER_SEC definition um: remove file sync for stub data um: always include kconfig.h and compiler-version.h um: set DONTDUMP and DONTFORK flags on KASAN shadow memory um: fix sparse warnings in signal code um: fix sparse warnings from regset refactor um: Remove double zero check um: fix stub exe build with CONFIG_GCOV um: Use os_set_pdeathsig helper in winch thread/process ...
43 lines
743 B
C
43 lines
743 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
#include <linux/init.h>
|
|
#include <linux/of_fdt.h>
|
|
#include <linux/printk.h>
|
|
#include <linux/memblock.h>
|
|
#include <init.h>
|
|
|
|
#include "um_arch.h"
|
|
|
|
static char *dtb __initdata;
|
|
|
|
void uml_dtb_init(void)
|
|
{
|
|
long long size;
|
|
void *area;
|
|
|
|
area = uml_load_file(dtb, &size);
|
|
if (area) {
|
|
if (!early_init_dt_scan(area, __pa(area))) {
|
|
pr_err("invalid DTB %s\n", dtb);
|
|
memblock_free(area, size);
|
|
return;
|
|
}
|
|
|
|
early_init_fdt_scan_reserved_mem();
|
|
}
|
|
|
|
unflatten_device_tree();
|
|
}
|
|
|
|
static int __init uml_dtb_setup(char *line, int *add)
|
|
{
|
|
*add = 0;
|
|
dtb = line;
|
|
return 0;
|
|
}
|
|
|
|
__uml_setup("dtb=", uml_dtb_setup,
|
|
"dtb=<file>\n"
|
|
" Boot the kernel with the devicetree blob from the specified file.\n"
|
|
);
|