Mainline android fiq glue patch in Linux kernel


 * Summary: Mainline android fiq_glue patch in Linux kernel


 * Proposer: Tim Bird, Sony Network Entertainment

Description
Android includes some patches to support serial-line debugging via the ARM FIQ (Fast IRQ). This support includes some wrappers (fiq_glue) for managing the interrupt handling for FIQs in C, as well as the actual debug code itself. This code is present in the Android common kernel repository, and Tim Bird has a broken-out patch for this feature, which includes the code for both the glue portion and the debugger portion of this feature."

It would be handy to have this FIQ glue code available for other embedded devices (whether the FIQ is used for debugging or some other thing). At Sony, we've used FIQ in some products as a way to generate process stack dumps. Maybe it should be tied as a wakeup mechanism to KDB?

This project consists of merely getting the FIQ glue code integrated, so that it is easier to install an FIQ handler. The current Android code only supports a single FIQ handler at a time. It might be nice to investigate supporting multiple handlers (that is, sharing the FIQ).

Related work

 * It looks like the glue code was added to OLPC
 * See https://github.com/andreiw/andreiw-wip/blob/master/linux/3.2/olpc/fiq/0002-ARM-Add-Google-FIQ-glue-code.patch
 * The current kernel appears to support some way to claim the FIQ
 * See /arch/arm/kernel/fiq.c
 * Need to investigate more to see why this API is not sufficient (why is fiq_glue.c needed?)
 * Partial answer: fiq_glue code sets up fiq stack, and code to transition to C. Existing fiq code appears only to allow claiming and relinquishing the FIQ.

Scope
3 to 4 person-weeks?

Contractor Candidates
Alessandro Rubini