Following up on this - Patrick helped in IRC this evening, and we came to the conclusion that it's probably *not* an MTRR issue, since we figured out the code seems to set MTRRs properly.
I wonder what else could cause it to be so slow? It's especially surprising for the memset, which is pretty simple. Does it use movnti for that?
We found out after adding an extra MTRR over the flash chip, which did not change anything.
Did you disable and re-enable the cache so that the settings take effect?
I guess I would: 1. Add some little benchmark loops reading/writing different areas a. read ROM & time it b. read from RAM (cached area) and time it c. read from RAM (non-cached area) d. write to RAM (cached area) ... 2. disable MTRRs to see if it would go even slower.
Sorry that's not much help, but I don't have a fam10 box to try things on.
Thanks, Myles