riscv: qemu: spl: Fix booting Linux kernel with OpenSBI 1.0+
Since OpenSBI commit bf3ef53bb7f5 ("firmware: Enable FW_PIC by default"),
OpenSBI runs directly at the load address without any code movement.
This causes the SPL version of QEMU 'virt' U-Boot does not boot Linux
kernel anymore. In that case, OpenSBI is loaded and runs at 0x81000000,
and it creates a 512KiB PMP window from that address. When booting
the Linux kernel, moving kernel to its linking address 0x80200000
overlaps the PMP window, and a PMP access failure is raised.
Update SPL_OPENSBI_LOAD_ADDR to load OpenSBI to a safe address.
Reported-by: Yangjie Zhang <pyjmstr@gmail.com>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Yangjie Zhang <pyjmstr@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
			
			
This commit is contained in:
		
							parent
							
								
									e77ef0bb74
								
							
						
					
					
						commit
						cb052d7712
					
				|  | @ -23,7 +23,7 @@ config SPL_TEXT_BASE | ||||||
| 
 | 
 | ||||||
| config SPL_OPENSBI_LOAD_ADDR | config SPL_OPENSBI_LOAD_ADDR | ||||||
| 	hex | 	hex | ||||||
| 	default 0x81000000 | 	default 0x80100000 | ||||||
| 
 | 
 | ||||||
| config BOARD_SPECIFIC_OPTIONS # dummy | config BOARD_SPECIFIC_OPTIONS # dummy | ||||||
| 	def_bool y | 	def_bool y | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue