On 18/04/2022 07:21, Linus Walleij wrote:
On Wed, Mar 16, 2022 at 3:33 AM Victor Hassan <victor@xxxxxxxxxxxxxxxxx> wrote:Hi Linus,
earlycon uses fixmap to create a memory map,
So we need to close earlycon before closing fixmap,
otherwise printk will access illegal addresses.
After creating a new memory map, we open earlycon again.
Signed-off-by: Victor Hassan <victor@xxxxxxxxxxxxxxxxx>
I think noone really noticed this because everyone on Arm systems
use CONFIG_DEBUG_LL, and that makes printascii hammer out
stuff on the console very early, it even accounts for whether we have
MMU on or not.
Thank you for the reply. I used earlycon, in early_fixmap_shutdown, the base address of earlycon is in the critical stage of release and reassignment, so early_fixmap_shutdown -> create_mapping should not call earlycon in this process, and create_mapping has a lot of conditions that trigger print, memblock=debug just makes it easier to expose problems.
How are you using this on Arm even? What system and what serialI'm using serial driver 8250 on arm32, with cmdline: memblock=debug.
driver?
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8520_CONSOLE=y
That said, it looks correct.
Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx>