> This patch adds support for 64-bit physical addresses in virt_to_phys> patching. This does not do real 64-bit add/sub, but instead patches in the> upper 32-bits of the phys_offset directly into the output of virt_to_phys.

You should explain _why_ you do not a real aadd/sub. I did deduce it but that might not be obvious to everyone. Also this subtlety should be commented in the code as well.

Given the high part is always the same, isn't there a better way than an add with 0 that could be done here? The add will force a load of 0 in a register needlessly just to add a constant value to it. Your new patching framework ought to be able to patch a mov (or a mvn) instruction directly.