Lines Matching +full:boot +full:- +full:loader
2 * Guest Loader
6 * (based on the generic-loader by Li Guang <lig.fnst@cn.fujitsu.com>)
8 * SPDX-License-Identifier: GPL-2.0-or-later
11 * See the COPYING file in the top-level directory.
15 * Much like the generic-loader this is treated as a special device
16 * inside QEMU. However unlike the generic-loader this device is used
19 * lower levels of the stack (e.g. firmware/bootloader). If you boot
20 * the hypervisor directly you use the guest-loader to load the Dom0
22 * boot loader would.
30 #include "hw/loader.h"
31 #include "hw/qdev-properties.h"
34 #include "guest-loader.h"
45 void *fdt = machine->fdt; in loader_insert_platform_data()
47 s->addr); in loader_insert_platform_data()
48 uint64_t reg_attr[2] = {cpu_to_be64(s->addr), cpu_to_be64(size)}; in loader_insert_platform_data()
58 if (s->kernel) { in loader_insert_platform_data()
66 if (s->args) { in loader_insert_platform_data()
67 if (qemu_fdt_setprop_string(fdt, node, "bootargs", s->args) < 0) { in loader_insert_platform_data()
71 } else if (s->initrd) { in loader_insert_platform_data()
85 char *file = s->kernel ? s->kernel : s->initrd; in guest_loader_realize()
89 if (s->kernel && s->initrd) { in guest_loader_realize()
92 } else if (!s->kernel && !s->initrd) { in guest_loader_realize()
95 } else if (!s->addr) { in guest_loader_realize()
98 } else if (s->args && !s->kernel) { in guest_loader_realize()
99 error_setg(errp, "Boot args only relevant to kernel blobs"); in guest_loader_realize()
103 size = load_image_targphys_as(file, s->addr, current_machine->ram_size, in guest_loader_realize()
125 dc->realize = guest_loader_realize; in guest_loader_class_init()
127 dc->desc = "Guest Loader"; in guest_loader_class_init()
128 set_bit(DEVICE_CATEGORY_MISC, dc->categories); in guest_loader_class_init()