In the hope of moving this along, here's a smaller patch with pieces that do not introduce functional changes, but reorganize the code a little in preparation for the full patch. I hope this will make review easier. Tested on arm-linux-gnueabi(qemu-system-armv7{arch=armv7-a/thumb,thumb,}). Ok? Bernd