On Friday 20 November 2009, Øyvind Harboe wrote: > > 2. Eliminating the global variable jtag_command_queue. > > > > The existing jtag_add_... commands would remain similar but would > > operate on a local copy of the queue. jtag_execute_queue then receives > > the pointer to that local copy as parameter instead of using > > jtag_command_queue. The last user then disposes of the command queue. > > This assumes that there is a queue at all. It should be up to the interface > to implement a queue if that is what is needed.
Today's interface is built around the concept of a queue. The thing which permits synchronous execution is having that queue be implicit, with a handful of explicit flush points called jtag_execute_queue(). It might be worth exploring which way to go. Nothing is currently reusing the queues -- it's not possible since they are hidden!! -- but as others have pointed out, it'd be a win to be able to do that instead of constantly needing to reallocat and reinitialize the same command queues. > The current JTAG calls should be invoked on the interface rather > than assuming a single global instance. This is covered by todo.txt > section today as an architectural improvement. That's a separable issue. I personally don't have an issue with expecting one OpenOCD process to manage only a single scan chain, through a single JTAG adapter/interface. It's certainly the common case ... and it seems to me like useful simplification, rather than oversimplification. - Dave _______________________________________________ Openocd-development mailing list [email protected] https://lists.berlios.de/mailman/listinfo/openocd-development
