mirror of
https://gitlab.com/qemu-project/qemu.git
synced 2026-08-26 22:23:12 -04:00
hw/sparc64/niagara: use int64_t for vdisk size to avoid truncation
blk_getlength() returns int64_t, but niagara_init() stored it in an int, truncating the if=pflash virtual-ramdisk size for images >= 2 GiB. A ~4 GiB image truncated to 0/negative, failed the `size > 0` check, and exit(1)'d before the CPU ran, ending with: qemu-system-sparc64: could not load ram disk Signed-off-by: Dmitry Pimenov <sun4qemu@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Message-ID: <20260710222350.9185-1-sun4qemu@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
This commit is contained in:
parent
a3cc0069e1
commit
76dbe26fd6
1 changed files with 1 additions and 1 deletions
|
|
@ -137,7 +137,7 @@ static void niagara_init(MachineState *machine)
|
|||
outside of the partition RAM */
|
||||
if (dinfo) {
|
||||
BlockBackend *blk = blk_by_legacy_dinfo(dinfo);
|
||||
int size = blk_getlength(blk);
|
||||
int64_t size = blk_getlength(blk);
|
||||
if (size > 0) {
|
||||
memory_region_init_ram(&s->vdisk_ram, NULL, "sun4v_vdisk.ram", size,
|
||||
&error_fatal);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue