On Fri, Nov 29, 2013 at 02:02:02PM +0000, David Woodhouse wrote:
This provides basic debug output on the Quark system,
*something* (i.e. coreboot or UEFI) has set it up in advance for us.
Signed-off-by: David Woodhouse <David.Woodhouse(a)intel.com>
I looked briefly at making this part of the CONFIG_DEBUG_SERIAL code,
and making that generic enough to handle I/O access *or* MMIO access
depending on what's present... but in fact that's probably overkill.
This isn't really limited to Quark; it would work with any 16550 device
wired up as MMIO32. But we can expand it as required, I think. No point
in starting off with the same functionality as the 5000-odd lines of the
Linux kernel's 8250_pci.c.
What do I need to do if called in 32-bit segmented mode? I'm guessing
that's not going to work right now...
Do you need debug output from 16bit mode or 32bit segmented mode? The
post and boot phases are all 32bit code so typical boot time debugging
shouldn't be impacted. Gerd's cbmem debugging code uses this
Using call32() in 16bit mode is always risky because it trashes the
"hidden" segment registers.
I think we need to move the low-level serial code out of output.c.
I'll put together a patch that does that.