Re: [PATCH v3 03/19] powerpc: bad_page_fault, do_break get registers from regs
From: Nicholas Piggin <npiggin@gmail.com>
Date: 2020-12-26 10:59:40
Excerpts from Nicholas Piggin's message of December 26, 2020 6:19 pm:
quoted hunk ↗ jump to hunk
Excerpts from Christophe Leroy's message of December 23, 2020 12:42 am:quoted
Le 28/11/2020 à 15:40, Nicholas Piggin a écrit :quoted
Similar to the previous patch this makes interrupt handler function types more regular so they can be wrapped with the next patch. bad_page_fault and do_break are not performance critical.I partly took your changes into one of my series, in different order though. Please have a look at https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=221656 patches 4 to 7Thanks, I had a look. Seems like the result is basically the same as my series, so that's good if you like the end result now :)quoted
I think some of the changes are missing in your series, especially the changes in entry_32.S from patch 7.Okay I could take them in. In your patch 7/15, why do you leave this load of DSISR?diff --git a/arch/powerpc/kernel/head_book3s_32.S b/arch/powerpc/kernel/head_book3s_32.S index 15e6003fd3b8..0133a02d1d47 100644 --- a/arch/powerpc/kernel/head_book3s_32.S +++ b/arch/powerpc/kernel/head_book3s_32.S@@ -369,9 +369,9 @@ BEGIN_MMU_FTR_SECTION END_MMU_FTR_SECTION_IFSET(MMU_FTR_HPTE_TABLE) #endif #endif /* CONFIG_VMAP_STACK */ -1: mr r4,r12 andis. r5,r9,DSISR_SRR1_MATCH_32S@h /* Filter relevant SRR1 bits */ - stw r4, _DAR(r11) + stw r12, _DAR(r11) + stw r5, _DSISR(r11) EXC_XFER_LITE(0x400, handle_page_fault) /* External interrupt */@@ -693,7 +693,6 @@ handle_page_fault_tramp_1: #ifdef CONFIG_VMAP_STACK EXCEPTION_PROLOG_2 handle_dar_dsisr=1 #endif - lwz r4, _DAR(r11) lwz r5, _DSISR(r11)^^^^^^^^^^^^^^^^^^^^^^ /* fall through */ handle_page_fault_tramp_2: ?
Ah never mind, this needs to come back after your DABR match move patch, which you have earlier in the series. I confused myself. I'll rebase my series on your patch 4 rather than have it squashed in with other do_break stuff. Thanks, Nick