Stefan Reinauer wrote:
IMHO the patch makes it really hard to actually see what the code does.
I think this is the same argument as the one against pci_cfg8_set() and similar functions which would gather read+modify+write into one step.
I disagree that it's a problem. I think that anyone looking at this code should be able to remember e.g. that the bist is saved in ebp, or that enabling the cache clobbers eax..
I think it is far more valuable if this code can be slightly more high level, shorter, and much more heterogenous.
Also, apropos shorter, this code should not have to keep a lot of state across many operations, which IMO reduces the problem.
Now we seem have a lot more code that comes from somewhere else and touches registers without it being obvious to the reader of the code.
We could make a strict policy that all macros used in any CAR code must come from car.h.
//Peter