Hi again,
On Thu, Jun 24, 2010 at 09:44:25AM +0200, Harald Welte wrote:
On Wed, Jun 23, 2010 at 07:30:31PM +0200, Harald Welte
wrote:
Some
'gotchas' you might encounter that are not fixed yet:
- The L1 completion handler crashes.
In target/firmware/layer1/prim_tx_nb.c ,
l1s.completion[L1_COMPL_TX_NB] is set in l1s_tx_test() but that's
never called. So you need to comment out
l1s_compl_sched(L1_COMPL_TX_NB) in the 'resp' handler temporarly until
a proper fix.
the proper fix is to either move all the l1s.completion[] assignments to
l1s_init(), as they only need to be set once - or to have a initialization
function for each primitive. The first option requires making the completion
functions non-static, which I would actually try to avoid. But having an
init callback function for each primitive that only assigns one pointer is
probably a stupid idea, too.
I think the cleanest solution is to use __attribute__ ((constructor))
like this:
I've now finished the neccessary linker script magic and code to actually
call the constructor functions. It has all been merged to master.
--
- Harald Welte <laforge(a)gnumonks.org>
http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)