[PATCH 02/14] omap: Make uncompress code and DEBUG_LL code generic
Cyril Chemparathy
cyril at ti.com
Fri Apr 30 12:20:35 EDT 2010
Hi,
[...]
> To fix both problems, maybe we should just use a fixed memory location
> to pass this temporary data from uncompress to the kernel. We've had a
> similar problem on DaVinci recently and a proposal has been made (and
> tested) to use memory just below the page tables[3].)
Essentially both of these approaches (internal scratch register and
fixed address) implement a weird back-channel communication scheme
between the decompresser and the debug macros.
A more elegant solution may be as follows:
- pass machine_arch_type as an argument into addruart.
- move the uart base lookup logic to addruart using macros similar
to DEBUG_LL_*, except that these expand to assembly code this
time.
- reuse these debug-macros in uncompress.h and implement putc() and
flush() using addruart(), senduart(), etc.
This way, both the decompresser and the kernel debug macros end up using
machine_arch_type to get to the right debug uart, without resorting to
underhand back-channel tricks.
Any thoughts?
-- Cyril.
More information about the linux-arm-kernel
mailing list