HomeFreeBSD

mips/broadcom: Implement CFE-based EARLY_PRINTF support.

Description

mips/broadcom: Implement CFE-based EARLY_PRINTF support.

This adds support for EARLY_PRINTF via the CFE console; the aim is to
provide a fix for the otherwise cyclic dependency between PMU discovery
and console printf/DELAY:

  • We need to parse the bhnd(4) core table to determine the address (and type) of the PMU/PLL registers and calculate the CPU clock frequency.
  • The core table parsing code will emit a printf() if a parse error is hit.
  • Safely calling printf() without EARLY_PRINTF requires a working DELAY+cninit, which means we need the PMU.

Errors in core table parsing shouldn't happen, but lack of EARLY_PRINTF
makes debugging more difficult.

Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D7498