Hi, Alex Bennée Yes, you are right. I tried again with that -dtb option like this.
qemu-system-aarch64 -machine ab21q,gic-version=max,secure=on,virtualization=true -cpu max -kernel u-boot-spl -m 8M -nographic -device loader,file=Image,addr=0x80200000 -dtb ab21m.dtb -chardev stdio,mux=on,id=char0 -serial chardev:char0 -serial chardev:char0 And it proceeded with the linux booting. Thanks! (I thought I tried this before and had the same error, but it works ok now. Maybe I have done something wrong then.) So I gather qemu loads the file I provide with -dtb option at the first address of the memory(0x80000000 in my case) and doesn't load the dtb it generated instead. My virtual machine is a modified version of arm/virt). Chan Kim >-----Original Message----- >From: Alex Bennée <alex.ben...@linaro.org> >Sent: Thursday, August 4, 2022 7:04 PM >To: Chan Kim <c...@etri.re.kr> >Cc: qemu-discuss@nongnu.org >Subject: Re: how to prevent automatic dtb load? > > >"Chan Kim" <c...@etri.re.kr> writes: > >> Hello experts, >> >> While emulating u-boot program which loads linux, I found even if I >> load my dtb file at 0x80000000 using -device loader,file=xxx,addr=yyy >> the qemu program loads the dtb it generated at 0x80000000. And it gives >me this error. > >What is your full command line? QEMU only generates DTBs for some dynamic >models, otherwise you should be providing one via the -dtb option. > >> >> The following two regions overlap (in the cpu-memory-0 address space): >> >> arch/arm64/boot/dts/arm/ab21m.dtb (addresses 0x0000000080000000 - >> 0x0000000080000994) >> >> dtb (addresses 0x0000000080000000 - 0x0000000080100000) >> >> make: *** [Makefile.qemu:22: run_uboot] Error 1 >> >> I tried setting skip_dtb_autoload to true in my machine to no avail. >> >> How can I avoid automatic dtb load? >> >> Thanks in advance. >> >> Chan Kim > > >-- >Alex Bennée