On Sun, 2009-10-25 at 12:31 +0100, Øyvind Harboe wrote: > You make excellent general points in your post and I agree > to what you are saying, however here I'm discussing mrc/mcr > specifically and how to proceed with that one. > > Did you read up on mrc/mcr in targets and consider > the current patches & changes in detail?
Am I wrong in my assertion that these commands are ARM-specific and do not belong in target.h? That seems like one reasonable objection for holding off with integrating this series. I think it is preferable to identify and implement a suitable architectural remedy first. The same goes for MMUs and phsy/virt callbacks, to a lesser extent. Presently, my gut tells me these changes have planted trees in an unhealthy part of the forest. We should be clearing the deadwood and restoring balance to our ecosystem, after getting a bird's eye view. Concretely, I would like us to consider prefacing this kind of development with updates to the "target architecture" section of the developer manual, rather than discussing it on the mailing list. Proposals via patches, updated just like a patch series. For now, the developer manual documentation lacks sufficient architectural details to provide the high-level perspective required, so we cannot claim to have a clearly conveyable view of the current system architecture (or its strengths and deficits). As such, your patches cannot be objectively considered until this has been remedied. While a doc/manual/target.txt section would be good, documenting our existing architecture more completely is one path for lowering resistance. As for the code... there are dozens of simple cleanups that could be made to the existing code. While comparatively trivial, the additive effect of such refactoring would benefit the architecture tremendously. If I get the opportunity, I will tackling these through series like the one I just posted on repo.or.cz (parsing-cleanup in openocd/ztw.git), but others have helped with this too. > If you still disagree with my piecemail approach after having read > up on the mcr/mrc details, then I'll be happy to go along with > whatever you propose from a general git/patch/branch > development point of view on the mcr/mrc case. I assume you are speaking of implementing as much as possible but still expecting a gradual cross-over. I understand the need for others with the right hardware to develop part of the series, but the principle stands intact. The effort should focus in a fork of the repository -- not in the master branch. In fact, you should probably expect to wait at least a week or two for other developers to step forward and submit the patches that finish your series (after cajoling them every couple of days on the list). Sure, you might eventually settle for less than successful 100% migration, because old platforms will die. However, there should never be a rush to push upstream, because you can always track your own patches locally. Incomplete series detract from the integrity of the master repository revision history, when compared to merging complete, polished, and signed-off branches into a linear version history on the master branch. > If I have to commit to doing *all* the work before I start > any mrc/mcr work at all, then I'm loathe to start at all and > I'd rather just revert the changes I've done so far. I am not advocating any particular resolution, and I would rather see us continue to move forward. That said, I have considered the possibility of asking to remove them to a branch for the time being. I know that would seem discouraging, but it could be positive than retiring the old commands and fixing any outstanding bugs. I can't judge that from here. 1) It could move us toward 0.3.0 faster. 2) The architectural problems can be handled first. 3) Other developers can contribute to a public branch to finish it. With GIT, more development should flow from and around the main repository than to and through it. So yes, developers must be made to finish their work in their own repository before the project merges it. Forcing you to do it in your own repository, always chasing the master, is great incentive to get it done. Since 'git rebase' makes this process painless, it should mean that work gets fully finished and tested before getting merged. There should never be a rush to push new features like this, particularly when further discussion points out that there may be better alternatives. For now, you should chose to merge your remaining patches or revert the initial patches. Sufficient architectural questions have been posed to suggest that they probably deserved to be removed for 0.3.0, but I leave it to you (or the mob) to decide. Cheers, Zach _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development