]> git.baikalelectronics.ru Git - kernel.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)
commit22ff92dc9e7e7ef58b9fe1e1d93d855347c3df48
tree8a1d32cedd03f94fdac776d6879be18c096512dd
parent66ad96ec04d2ffa3c50405d84220adbed1c6b0cd
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 1a389118e0b1260ad125b9562b6f197e0b9b3f21 ("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