Richard Smith smithbone@gmail.com writes:
You choose the worst file in the whole tree to start. You are not supposed understand it unless you are Eric Biederman ;-)
I disagree with the above. When I was produceing the base files for the 440bx I looked at a lot of the different files in the tree and IMO the amd source code was some of the cleanist and well designed of all the files I looked at. I found those files easyiest to follow and the most consistent in naming and in methodoloy.
I think they are an excellent place to start. The only thing the user should recognize is that those devices are somewhat complicated and that all the layers are a result of that.
amd8111.c in particular is a challenge because it operates at such a high level of abstraction.
The hardest thing about learning the v2 tree is the code is written in a reusable fashion that when you don't know how all of the pieces fit make it a little hard to understand. It isn't a simple a calls b calls c.
Multiple levels of abstraction can be very useful, but until you learn then it is easy to get lost. At least I think that is what was happening with amd8111.c
Eric