Page MenuHomeFreeBSD

arm64: update early printf support

Authored by jchandra on Feb 4 2019, 7:44 PM.


Group Reviewers

Using mov to load the UART address limits the possible values for
SOCDEV_PA and SOCDEV_VA. Change to use ldr.

[RFC, trying to see if this will be useful for others]

Diff Detail

rS FreeBSD src repository
Lint Skipped
Unit Tests Skipped
Build Status
Buildable 22342

Event Timeline

jchandra created this revision.Feb 4 2019, 7:44 PM
andrew accepted this revision.Feb 4 2019, 8:58 PM

I've been thinking about reserving a fixed VA on arm64 for this and reworking how we set the range for EARLY_PRINTF. The idea would be we only need to set the physical address, the virtual address base will be fixed, with the offset dependent on the physical address.

My idea is to then rework EARLY_PRINTF to be set in the config with something like:

options SOCDEV_PA=0x12345000
options EARLY_PRINTF=pl011

It would then enable EARLY_PRINTF in the pl011 driver with a physical base of 0x12345000.

Having said this, I'm happy with this to get it working for now.

This revision is now accepted and ready to land.Feb 4 2019, 8:58 PM
jchandra accepted this revision.Feb 4 2019, 10:34 PM
This comment was removed by jchandra.
jchandra abandoned this revision.EditedFeb 4 2019, 10:35 PM

Dropping this for now. We need better EARLY_PRINTF support like andrew noted above before adding this.