virt.c (48e4ba59a3756aad743982da16bf9b5120d91a0c) virt.c (55c136599f512a86e3fec9f77b6b5a30a6b34cca)
1/*
2 * QEMU RISC-V VirtIO Board
3 *
4 * Copyright (c) 2017 SiFive, Inc.
5 *
6 * RISC-V machine with 16550a UART and VirtIO MMIO
7 *
8 * This program is free software; you can redistribute it and/or modify it

--- 1321 unchanged lines hidden (view full) ---

1330}
1331
1332static void virt_machine_done(Notifier *notifier, void *data)
1333{
1334 RISCVVirtState *s = container_of(notifier, RISCVVirtState,
1335 machine_done);
1336 const MemMapEntry *memmap = virt_memmap;
1337 MachineState *machine = MACHINE(s);
1/*
2 * QEMU RISC-V VirtIO Board
3 *
4 * Copyright (c) 2017 SiFive, Inc.
5 *
6 * RISC-V machine with 16550a UART and VirtIO MMIO
7 *
8 * This program is free software; you can redistribute it and/or modify it

--- 1321 unchanged lines hidden (view full) ---

1330}
1331
1332static void virt_machine_done(Notifier *notifier, void *data)
1333{
1334 RISCVVirtState *s = container_of(notifier, RISCVVirtState,
1335 machine_done);
1336 const MemMapEntry *memmap = virt_memmap;
1337 MachineState *machine = MACHINE(s);
1338 target_ulong start_addr = memmap[VIRT_DRAM].base;
1338 hwaddr start_addr = memmap[VIRT_DRAM].base;
1339 target_ulong firmware_end_addr, kernel_start_addr;
1340 const char *firmware_name = riscv_default_firmware_name(&s->soc[0]);
1341 uint64_t fdt_load_addr;
1342 uint64_t kernel_entry = 0;
1343 BlockBackend *pflash_blk0;
1344
1345 /*
1346 * An user provided dtb must include everything, including

--- 15 unchanged lines hidden (view full) ---

1362 exit(1);
1363 }
1364 } else {
1365 machine->firmware = g_strdup("none");
1366 }
1367 }
1368
1369 firmware_end_addr = riscv_find_and_load_firmware(machine, firmware_name,
1339 target_ulong firmware_end_addr, kernel_start_addr;
1340 const char *firmware_name = riscv_default_firmware_name(&s->soc[0]);
1341 uint64_t fdt_load_addr;
1342 uint64_t kernel_entry = 0;
1343 BlockBackend *pflash_blk0;
1344
1345 /*
1346 * An user provided dtb must include everything, including

--- 15 unchanged lines hidden (view full) ---

1362 exit(1);
1363 }
1364 } else {
1365 machine->firmware = g_strdup("none");
1366 }
1367 }
1368
1369 firmware_end_addr = riscv_find_and_load_firmware(machine, firmware_name,
1370 start_addr, NULL);
1370 &start_addr, NULL);
1371
1372 pflash_blk0 = pflash_cfi01_get_blk(s->flash[0]);
1373 if (pflash_blk0) {
1374 if (machine->firmware && !strcmp(machine->firmware, "none") &&
1375 !kvm_enabled()) {
1376 /*
1377 * Pflash was supplied but bios is none and not KVM guest,
1378 * let's overwrite the address we jump to after reset to

--- 466 unchanged lines hidden ---
1371
1372 pflash_blk0 = pflash_cfi01_get_blk(s->flash[0]);
1373 if (pflash_blk0) {
1374 if (machine->firmware && !strcmp(machine->firmware, "none") &&
1375 !kvm_enabled()) {
1376 /*
1377 * Pflash was supplied but bios is none and not KVM guest,
1378 * let's overwrite the address we jump to after reset to

--- 466 unchanged lines hidden ---