qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

why doesn't arm virt machine boot linux when uart address size is increa


From: ckim
Subject: why doesn't arm virt machine boot linux when uart address size is increased?
Date: Mon, 12 Apr 2021 18:01:08 +0900

Hello all,

 

Earlier, I have copied the arm/virt machine and named it ab21q.

I changed the memory map of ab21q to match our system (under development).

Among others the original UART address/size was changed from {0x09000000, 0x1000} to {0x10210000, 0xf000}. (the numbers were given to me)

I checked a couple of baremetal programs run ok on the new machine.

But when I tried running linux on ab21q this morning, the linux kernel didn’t to the shell prompt.

(Seen using debugger, it runs to the end of start_kernel function, but nothing happens after that point, whereas the original ‘virt’ machine gives me booting messages from that point)

But if I change the UART address/size to {0x10210000, 0x1000}, it boots ok.

I know the UART doesn’t need that amount (0xf000) of space, but why doesn’t linux boot with this UART address range size?

I checked even for ‘virt’ machine, if I increase the UART address size to 0x2000 from 0x1000, it doesn’t boot.

I am curious about what mechanism is preventing it from booting when the UART address space size is bigger than necessary and also what the kernel is doing during the 3~4 seconds after the end of start_kernel function and printing “Booting from ..” message.

(I am aware the ‘virt’ machine makes the flattend device tree and passes it to the OS for booting)

Thanks!

 

Chan Kim

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]