powerpc/32: Remove the counter in global_dbcr0
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Mon, 8 Feb 2021 15:10:41 +0000 (15:10 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 11 Feb 2021 12:35:12 +0000 (23:35 +1100)
global_dbcr0 has two parts, 4 bytes to save/restore the
value of SPRN_DBCR0, and 4 bytes that are incremented/decremented
everytime something is saving/loading the above value.

This counter is only incremented/decremented, its value is never
used and never read.

Remove the counter and devide the size of global_dbcr0 by 2.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/7e381dc58b3f583556cfab37ba5d813bfd5cce1e.1612796617.git.christophe.leroy@csgroup.eu
arch/powerpc/kernel/entry_32.S
arch/powerpc/kernel/head_32.h
arch/powerpc/kernel/head_booke.h

index cffe58e63356413de8ab334b74c97022ae62411b..9dd90be9f8a57662ad9cd5793c7d79d8853a4ec3 100644 (file)
@@ -175,14 +175,11 @@ transfer_to_handler:
        addi    r11,r11,global_dbcr0@l
 #ifdef CONFIG_SMP
        lwz     r9,TASK_CPU(r2)
-       slwi    r9,r9,3
+       slwi    r9,r9,2
        add     r11,r11,r9
 #endif
        lwz     r12,0(r11)
        mtspr   SPRN_DBCR0,r12
-       lwz     r12,4(r11)
-       addi    r12,r12,-1
-       stw     r12,4(r11)
 #endif
 
        b       3f
@@ -981,14 +978,11 @@ load_dbcr0:
        addi    r11,r11,global_dbcr0@l
 #ifdef CONFIG_SMP
        lwz     r9,TASK_CPU(r2)
-       slwi    r9,r9,3
+       slwi    r9,r9,2
        add     r11,r11,r9
 #endif
        stw     r10,0(r11)
        mtspr   SPRN_DBCR0,r0
-       lwz     r10,4(r11)
-       addi    r10,r10,1
-       stw     r10,4(r11)
        li      r11,-1
        mtspr   SPRN_DBSR,r11   /* clear all pending debug events */
        blr
@@ -997,7 +991,7 @@ load_dbcr0:
        .align  4
        .global global_dbcr0
 global_dbcr0:
-       .space  8*NR_CPUS
+       .space  4*NR_CPUS
        .previous
 #endif /* !(CONFIG_4xx || CONFIG_BOOKE) */
 
index 0e0e7b5b93ab08f01db07cb957fe57fa5f7099ea..1afad7bc3395f9630d506bd93790934293252856 100644 (file)
        addi    r11,r11,global_dbcr0@l
        lwz     r12,0(r11)
        mtspr   SPRN_DBCR0,r12
-       lwz     r12,4(r11)
-       addi    r12,r12,-1
-       stw     r12,4(r11)
 3:
 #endif
        b       transfer_to_syscall             /* jump to handler */
index bfbd240cc8a2e390413714bf7aac99bf5655f84e..5f565232b99df112e2791c88367363e09ce4a028 100644 (file)
@@ -142,14 +142,11 @@ ALT_FTR_SECTION_END_IFSET(CPU_FTR_EMB_HV)
        addi    r11,r11,global_dbcr0@l
 #ifdef CONFIG_SMP
        lwz     r10, TASK_CPU(r2)
-       slwi    r10, r10, 3
+       slwi    r10, r10, 2
        add     r11, r11, r10
 #endif
        lwz     r12,0(r11)
        mtspr   SPRN_DBCR0,r12
-       lwz     r12,4(r11)
-       addi    r12,r12,-1
-       stw     r12,4(r11)
 
 3:
        b       transfer_to_syscall     /* jump to handler */