Following patch adds proper inline assembly register clobbers to the AMD CAR code. The reason is that the GCC expects some values to be still valid, but those are overwritten by the inline code (ecx). The memcopy implementation is taken from linux kernel 2.6.32. The EBP relocation is to needed because the code does not use frame pointer. As an extra safety I added a clobber of all available registers. To make GCC extra sure that no value is valid, which should catch pointers to variables on the stack too.
Can someone test this change on something else than model 0fh please?
Signed-off-by: Rudolf Marek email@example.com