qemu/hw-riscv-boot-Reduce-FDT-address-alignment-constrain.patch
Jiabo Feng 39a0a891d8 QEMU update to version 6.2.0-86(master)
- vdpa: move memory listener to the realize stage
- vdpa: implement vdpa device migration
- vhost: implement post resume bh
- vhost: implement migration state notifier for vdpa device
- vhost: implement savevm_hanlder for vdpa device
- vhost: implement vhost_vdpa_device_suspend/resume
- vhost: implement vhost-vdpa suspend/resume
- vhost: add vhost_dev_suspend/resume_op
- vhost: introduce bytemap for vhost backend logging
- vhost-vdpa: add migration log ops for VhostOps
- vhost-vdpa: add VHOST_BACKEND_F_BYTEMAPLOG
- vhost: fix null pointer access
- ui/gtk: prevent ui lock up when dpy_gl_update called again before current draw event occurs
- hw/usb: dev-mtp: Use g_mkdir()
- target/ppc/cpu-models: Remove the "default" CPU alias
- hw/intc/arm_gicv3: ICC_PMR_EL1 high bits should be RAZ
- Fixed a QEMU hang when guest poweroff in COLO mode
- migration/colo: More accurate update checkpoint time
- scripts/entitlement.sh: Use backward-compatible cp flags
- block/nvme: fix infinite loop in nvme_free_req_queue_cb()
- hw/net: npcm7xx_emc fix missing queue_flush
- Add dummy Aspeed AST2600 Display Port MCU (DPMCU)
- hw/arm: ast2600: Fix address mapping of second SPI controller
- vhost-user-blk: reconnect on any error during realize
- vhost-user-blk: propagate error return from generic vhost
- hw/riscv: boot: Reduce FDT address alignment constraints
- Revert "hw/virtio/virtio-iommu-pci: Enforce the device is plugged on the root bus"
- Fix STM32F2XX USART data register readout
- block: use 'unsigned' for in_flight field on driver state
- sphinx: change default language to 'en'
- tests/qtest: Fix two format strings
- trivial typos: namesapce
- hw/ide/atapi.c: Correct typos (CD-CDROM -> CD-ROM)
- hw/virtio/virtio-iommu-pci: Enforce the device is plugged on the root bus
- hw/display/next-fb: Fix comment typo
- xen/pass-through: merge emulated bits correctly mainline inclusion commit be9c61da9fc57eb7d293f380d0805ca6f46c2657 category: bugfix
- tests/qtest/migration-test.c: spelling fix: bandwith
- target/i386/cpu: Improve error message for property "vendor"
- balloon: Fix a misleading error message
- target/arm: Don't set syndrome ISS for loads and  stores with writeback mainline inclusion commit 53ae2fdef1f5661cbaa2ea571c517f98e6041cb8 category: bugfix
- disas/hppa: Show hexcode of instruction along with disassembly
- tcg/loongarch64: Fix tcg_out_mov() Aborted
- ui/qmp-cmds: Improve two error messages
- qga: Improve guest-exec-status error message
- hmp: Improve sync-profile error message
- spapr/pci: Correct "does not support hotplugging error messages
- xen/pass-through: don't create needless register  group mainline inclusion commit c0e86b7624cb9d6db03e0d48cf82659e5b89a6a6 category: bugfix

Signed-off-by: Jiabo Feng <fengjiabo1@huawei.com>
2023-12-05 18:01:05 +08:00

47 lines
2.0 KiB
Diff

From 919af9a7472996b17c45fcd508ae29ec58117e8c Mon Sep 17 00:00:00 2001
From: Wanghe Xiao <xiaowanghe_yewu@cmss.chinamobile.com>
Date: Sat, 25 Nov 2023 02:39:26 -0800
Subject: [PATCH] hw/riscv: boot: Reduce FDT address alignment constraints
cherry picked from commit ec2c62dacc186893a6ce63089f96b1906dd68804
We previously stored the device tree at a 16MB alignment from the end of
memory (or 3GB). This means we need at least 16MB of memory to be able
to do this. We don't actually need the FDT to be 16MB aligned, so let's
drop it down to 2MB so that we can support systems with less memory,
while also allowing FDT size expansion.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/992
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Atish Patra <atishp@rivosinc.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Bin Meng <bin.meng@windriver.com>
Message-Id: <20220608062015.317894-1-alistair.francis@opensource.wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Wanghe Xiao <xiaowanghe_yewu@cmss.chinamobile.com>
---
hw/riscv/boot.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c
index 519fa455a1..c035aa68f5 100644
--- a/hw/riscv/boot.c
+++ b/hw/riscv/boot.c
@@ -217,11 +217,11 @@ uint32_t riscv_load_fdt(hwaddr dram_base, uint64_t mem_size, void *fdt)
/*
* We should put fdt as far as possible to avoid kernel/initrd overwriting
* its content. But it should be addressable by 32 bit system as well.
- * Thus, put it at an 16MB aligned address that less than fdt size from the
+ * Thus, put it at an 2MB aligned address that less than fdt size from the
* end of dram or 3GB whichever is lesser.
*/
temp = MIN(dram_end, 3072 * MiB);
- fdt_addr = QEMU_ALIGN_DOWN(temp - fdtsize, 16 * MiB);
+ fdt_addr = QEMU_ALIGN_DOWN(temp - fdtsize, 2 * MiB);
ret = fdt_pack(fdt);
/* Should only fail if we've built a corrupted tree */
--
2.27.0