On 01/26/2010 12:28 AM, Mike Frysinger wrote:
> On Monday 25 January 2010 09:45:03 Jie Zhang wrote:
>> I'm starting to merge all our local changes of UrJTAG into upstream.
>>
>> This patch adds Blackfin commands to UrJTAG. Most of the patch is in
>> /sur/bfin/ directory and so not very intrusive. Besides these Blackfin
>> specific code, I also
>
> i wonder if we should start a src/cpu/ or src/arch/ tree and put bfin under
> there ?
>
> along these lines, we should probably start a new configure option for people
> to control which cpus they want to enable support for ... so if they dont want
> blackfin stuff in their jtag build, they can do:
> --enable-cpus=none
>
This is a good idea. But I think we can do it in future. Blackfin
commands will not affect other parts.
> the bfin.h header should use #ifdef protection naming like all the other
> headers, and when it includes local urjtag headers, it should use "..." not
> <urjtag/...>.
>
I think this is good. I considered this issue before. But we need also
change many existing C files, too. So I prefer do it in a batch for with
all other files.
> the type convention is to declare the struct in all caps in the respective
> file and to have the types.h do the typedef to the lowercase xxx_t. i'm
> referring to the urj_part_{params,init} stuff.
>
I will do this before I commit.
> there's a few mingw pieces in the Blackfin code that should get moved to
> sysdep.h.
>
I think you are more familiar with this piece of code. So it's more
suitable for you to move them. ;-)
>> * add URJ_ERROR_BFIN to enum URJ_ERROR
>
> if we generalize the cpu dirs, then this could be made into a generic
> URJ_ERROR_CPU so other cpu/ could reuse it ? it'd be "cpu-specific subsystem"
> then ...
>
I would like other cpus define their own error code.
>> * add a new field 'main_part' to struct URJ_CHAIN
>>
>> * add a new filed 'params' to struct URJ_PART and its related
>> initialization functions.
>
> could you describe these new pieces a bit more in detail ? like why we had to
> extend the common pieces when no other pieces needed it ...
I will explain main_part in reply to Kolja email.
There is a story why we need params in in struct URJ_PART. But I don't
know if I'm allowed to tell it. So I'd like to describe the
functionality. It will provide a method for each part to add part
specific hooks. For Blackfin, we provides hooks for several basic
emulation unit operations. In future if other parts want to add some
hooks, they can use this. There is no API for params, except that part
who wants to use it should provide a function to free params.
Jie
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
UrJTAG-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/urjtag-development