powerpc/64s/hash: remove user SLB data from the paca
User SLB mappig data is copied into the PACA from the mm->context so it can be accessed by the SLB miss handlers. After the C conversion, SLB miss handlers now run with relocation on, and user SLB misses are able to take recursive kernel SLB misses, so the user SLB mapping data can be removed from the paca and accessed directly. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
5e46e29e6a
commit
8fed04d0f6
@@ -501,6 +501,7 @@ struct slb_entry {
|
||||
};
|
||||
|
||||
extern void slb_initialize(void);
|
||||
extern void core_flush_all_slbs(struct mm_struct *mm);
|
||||
extern void slb_flush_and_rebolt(void);
|
||||
void slb_flush_all_realmode(void);
|
||||
void __slb_restore_bolted_realmode(void);
|
||||
|
@@ -143,18 +143,6 @@ struct paca_struct {
|
||||
struct tlb_core_data tcd;
|
||||
#endif /* CONFIG_PPC_BOOK3E */
|
||||
|
||||
#ifdef CONFIG_PPC_BOOK3S
|
||||
mm_context_id_t mm_ctx_id;
|
||||
#ifdef CONFIG_PPC_MM_SLICES
|
||||
unsigned char mm_ctx_low_slices_psize[BITS_PER_LONG / BITS_PER_BYTE];
|
||||
unsigned char mm_ctx_high_slices_psize[SLICE_ARRAY_SIZE];
|
||||
unsigned long mm_ctx_slb_addr_limit;
|
||||
#else
|
||||
u16 mm_ctx_user_psize;
|
||||
u16 mm_ctx_sllp;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* then miscellaneous read-write fields
|
||||
*/
|
||||
@@ -258,7 +246,6 @@ struct paca_struct {
|
||||
#endif /* CONFIG_PPC_BOOK3S_64 */
|
||||
} ____cacheline_aligned;
|
||||
|
||||
extern void copy_mm_to_paca(struct mm_struct *mm);
|
||||
extern struct paca_struct **paca_ptrs;
|
||||
extern void initialise_paca(struct paca_struct *new_paca, int cpu);
|
||||
extern void setup_paca(struct paca_struct *new_paca);
|
||||
|
Reference in New Issue
Block a user