On Mon, Oct 17, 2011 at 4:44 PM, Stefan Reinauer stefan.reinauer@coreboot.org wrote:
- Marc Jones marcj303@gmail.com [111016 10:10]:
I have created 2 devicetree file :
devicetree_f15.cb for platform with family 15 CPU
devicetree_f10.cb for platform with family 10 CPU
I changed the makefile to create a symbol link “devicetree.cb” link to devicetree_f10.cb or devicetree_f15.cb at compile time.
The problem is that I can’t delete the symbol link when make clean/distclean.
Please fix the problem by using one device tree for both platforms.
Stefan,
Can you explain your thoughts on how that would work? Can we put a #if in the devicetree.cb? It uses the c precompiler? It requires different CPU files/device locations. We can try it next week.
Usually the way this is handled in coreboot is that there is one socket that binds together all CPU types. Then in the device tree only the socket type is specified, and code for both CPUs is pulled in. Maybe we need something like a socket for northbridge code, since the northbridge now lives in the CPU?
It seems like a bad idea to have to recompile your BIOS because you change the CPU. We did a lot of nastyness with K8 and Fam10, but we should find a better way to do this for future chipsets/CPUs.
Yes, we are discussing how the AGESA code would work. The socket decision is rather complicated as we need a way to handle multiple calls with the same names (function point tables etc). I think that there may be a solution within AGESA, but the device tree may still be a problem as the CPUs have different HT link numbering. This makes it hard to have the same device tree layout for the same socket.
Marc