* Cyril Chemparathy <cyril@xxxxxx> [100430 09:22]: > 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? Sounds good to me. There's already the tmp register added to addruart that can be used for passing the machine id to addruart. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html