On 5/18/07, Juergen Beisert juergen127@kreuzholzen.de wrote:
Hi,
currently I'm trying to understand how it works in assembly until C starts. Could we divide the stage0_i586.S file into its three parts? Resetvector, Jump to protected mode and the CAR code? Maybe it would be easier to understand and to maintain.
No. We've tried that and it failed badly. I am finding it much easier to deal with 1 file.
Once you start to go down that include path, it gets messy very fast. Trying to solve it with linker hackery only makes it worse.
I also don't think splitting it really eases readability that much. Again, we've tried both ways, and I like the new way best.
With my GeodeGX1 systems I cannot use the mtrr registers to get some memory from the cache. To replace it a complete new file would be required. Maybe it would be better to support different methods how to get CAR and link them on demand?
no linker tricks. GNU bintools are not reliable enough to do anything but the simplest things. Again, this file is carefully designed, based on 7 years experience, to minimize potential problems with GNU tools.
Also, we don't want to make assembly too easy for people. We had a few people do assembly, even where they could have used C. Never again.
thanks, and keep asking questions, and making suggestions, even if we disagree with them :-)
ron