You could try to change the base address in bbl/bbl.lds. This might help, if for example bbl finds _payload_start with a LUI instruction rather than a AUIPC instruction.
There is no problem loading the address of _payload_start, the machine code is as follows 8020038c: 00200797 auipc a5,0x200 80200390: c7478793 addi a5,a5,-908 # 80400000 <_payload_start> 80200394: 4501 li a0,0 80200396: 00012717 auipc a4,0x12 8020039a: c6f73523 sd a5,-918(a4) # 80212000 <entry_point> 8020039e: f4bff0ef jal ra,802002e8 <boot_other_hart>
Does bbl print its logo (the RV banner)?
Yes, bbl print its logo.
------------------
王翔
安全研究员
广州市腾御安信息科技有限公司
广州市天河区珠江新城华穗路406号保利克洛维二期中景A座1020-1024
------------------ Original ------------------ From: "Jonathan Neuschäfer"j.neuschaefer@gmx.net; Date: Fri, Dec 21, 2018 03:59 PM To: "王翔"merle@tya.email; Cc: "coreboot"coreboot@coreboot.org; "j.neuschaefer"j.neuschaefer@gmx.net; "philipp"philipp@hug.cx; "citypw"citypw@gmail.com; Subject: Re: Please help me adapt coreboot to HiFive-Unleashed
Hi,
I'll be busy with christmas or travelling until January, so I can't spend much time on this now. Sorry. Please remind me in January.
On Thu, Dec 20, 2018 at 11:56:17AM +0800, 王翔 wrote:
I tried to adapt coreboot to HiFive-Unleashed and boot bbl with coreboot and run linux. My changes are as follows: https://github.com/hardenedlinux/coreboot-HiFiveUnleashed/tree/HiFive-Unleas...
My code can run bbl, but it doesn't respond when bbl exits m-mode and enters linux.
I use freedom-u-sdk to compile bbl. In order not to conflict with the coreboot memory address, execute the following command. riscv64-elf-objcopy --change-addresses 0x200000 work/riscv-pk/bbl ../coreboot/payload.elf
I don't know what I missed, what should I do, I hope to get your help.
You could try to change the base address in bbl/bbl.lds. This might help, if for example bbl finds _payload_start with a LUI instruction rather than a AUIPC instruction.
Does bbl print its logo (the RV banner)?
Jonathan