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.
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source