1
0
Fork 0

riscv: cleanup the parse_dtb calling conventions

No need to pass the hartid, and the dtb address passed is a physical
address, so don't pretend it is a kernel pointer.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
hifive-unleashed-5.2
Christoph Hellwig 2019-04-15 11:14:38 +02:00 committed by Palmer Dabbelt
parent c637b911e0
commit ba9c014194
No known key found for this signature in database
GPG Key ID: EF4CA1502CCBAB41
2 changed files with 5 additions and 4 deletions

View File

@ -72,8 +72,7 @@ clear_bss_done:
la sp, init_thread_union + THREAD_SIZE
/* Start the kernel */
mv a0, s0
mv a1, s1
mv a0, s1
call parse_dtb
tail start_kernel

View File

@ -52,9 +52,11 @@ struct screen_info screen_info = {
atomic_t hart_lottery;
unsigned long boot_cpu_hartid;
void __init parse_dtb(unsigned int hartid, void *dtb)
void __init parse_dtb(phys_addr_t dtb_phys)
{
if (early_init_dt_scan(__va(dtb)))
void *dtb = __va(dtb_phys);
if (early_init_dt_scan(dtb))
return;
pr_err("No DTB passed to the kernel\n");