]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
ARM: 8132/1: LPAE: drop wrong carry flag correction after adding TTBR1_OFFSET
authorKonstantin Khlebnikov <k.khlebnikov@samsung.com>
Thu, 28 Aug 2014 11:49:36 +0000 (12:49 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 2 Sep 2014 19:55:23 +0000 (20:55 +0100)
commit7e66cbc93f876e24c2f8434cf011b94be242005e
tree8a1d32cedd03f94fdac776d6879be18c096512dd
parenteba1c71819d210f5e0d522571f9b8abce94fe9c5
ARM: 8132/1: LPAE: drop wrong carry flag correction after adding TTBR1_OFFSET

ARM: LPAE: drop wrong carry flag correction after adding TTBR1_OFFSET

In commit 7fb00c2fca4b6c58be521eb3676cf4b4ba8dde3b ("ARM: 8114/1: LPAE:
load upper bits of early TTBR0/TTBR1") part which fixes carrying in adding
TTBR1_OFFSET to TTRR1 was wrong:

        addls   ttbr1, ttbr1, #TTBR1_OFFSET
        adcls   tmp, tmp, #0

addls doesn't update flags, adcls adds carry from cmp above:

        cmp     ttbr1, tmp                    @ PHYS_OFFSET > PAGE_OFFSET?

Condition 'ls' means carry flag is clear or zero flag is set, thus only one
case is affected: when PHYS_OFFSET == PAGE_OFFSET.

It seems safer to remove this fixup. Bug is here for ages and nobody
complained. Let's fix it separately.

Reported-and-Tested-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/proc-v7-3level.S