[PATCH v2 4/6] ARM: mm: LPAE: Correct virt_to_phys patching for 64 bit physical addresses

Nicolas Pitre nicolas.pitre at linaro.org
Sun Aug 4 01:32:57 EDT 2013


On Sat, 3 Aug 2013, Santosh Shilimkar wrote:

> On Saturday 03 August 2013 10:01 AM, Nicolas Pitre wrote:
> > On Sat, 3 Aug 2013, Sricharan R wrote:
> > 
> >> On Saturday 03 August 2013 08:58 AM, Nicolas Pitre wrote:
> >>> ... meaning that, instead of using 0x81 for the stub value on the mov 
> >>> instruction, it only has to be 0x83.  Bits 7 and 0 still act as anchors 
> >>> for the rotation field in the opcode, while bit 1 indicates which value 
> >>> to patch in.
> >>   I started with this kind of augmenting with the immediate operand
> >>   while starting V2. But the problem was, we do the runtime patching twice.
> > 
> > Ahhh... Bummer.
> >
> Sorry if it wasn't clear but I thought we discussed why patching is
> done twice.

Yeah, I know the reasons.  I just had forgotten about the effects on the 
anchor bits.

> This was purely based on the discussion where RMK suggested to follow 
> that approach to minimize code changes.
>  
> Looks like we need to revisit that now based on Russell's latest
> comment.

Note that my comments on this particular patch are still valid and 
independent from whatever approach is used globally to deal with the 
memory alias.  I do think that the value to patch should be selected 
depending on the opcode's rotation field which makes it compatible with 
a double patching approach as well.


Nicolas



More information about the linux-arm-kernel mailing list