forked from Minki/linux
OpenRISC updates for 5.16
This includes 2 minor cleanups, plus a bug fix for OpenRISC TLB flush code that allows the the SMP kernel to boot again. -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE2cRzVK74bBA6Je/xw7McLV5mJ+QFAmGIOh4ACgkQw7McLV5m J+Ts7hAApLDmupgPlJfc9hsIIxiCZcMnP5vyF2gNSkaDVkWkLkM24WuAfcCusEUE VIrI/K6AV8wQUfG9n3sAQ/v5bkKrLCkt3UYsOViidHJsrTeW7CO8v+Nzair3gbNa zKZEs6EyoGrd9l5nMv3D0z/PFWnTCMehRBHYYp6D/chgT+2cpQsVsq9SbN3gV5CR sdFrGOzWSemtWCqVibdsKa4j0IqLVNRAPv1MYC7jECOkRvMkbkXFWZK8Q8ijs0Mv th4nt9SJOSH+OAzBhXoH7bW9BUwfCEwnBYXhsidHVwf1S6+5/yFj24zQAz/1YZ21 ydTS6PHS66oFqa5QITNbfNuqeprrnb+8JavkYvJnWiPfg8yJ2gURZ/4pCHS8iMsB mQpLaQlTsEHODj7Vc4GSTlbzWDgtCSB6v0fOPJP01Bzf+z2wsqG6dLJVrWMl6nT9 0sNvfnU9egne8UhbTJ8fot9SISRjc/sFMXKnMMdcY+7KWdw+Kh4t7/hL5ZbKCZ8H Pg3NNTA37puqTn9qvd0ZA5Ey9L0bSjeQpGa2A+nutE3zfRL9MQFWWrpHPgfJyoZe VOZSK0dtSfYtTsCnno5S2px2XqPpXIf0P5LiXzvtc+x7JjZsP3G4jZxB8ql+ZaQF IeBI4Kvg4QPU2T/TUwt5VIMEL/I3yZ63/0L+d1xnIqaVZVK0RDQ= =c5nj -----END PGP SIGNATURE----- Merge tag 'for-linus' of git://github.com/openrisc/linux Pull OpenRISC updates from Stafford Horne: "This includes two minor cleanups, plus a bug fix for OpenRISC TLB flush code that allows the the SMP kernel to boot again" * tag 'for-linus' of git://github.com/openrisc/linux: openrisc: fix SMP tlb flush NULL pointer dereference openrisc: signal: remove unused DEBUG_SIG macro openrisc: time: don't mark comment as kernel-doc
This commit is contained in:
commit
a2b03e48e9
@ -33,7 +33,7 @@ page_set_nocache(pte_t *pte, unsigned long addr,
|
||||
* Flush the page out of the TLB so that the new page flags get
|
||||
* picked up next time there's an access
|
||||
*/
|
||||
flush_tlb_page(NULL, addr);
|
||||
flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
|
||||
|
||||
/* Flush page out of dcache */
|
||||
for (cl = __pa(addr); cl < __pa(next); cl += cpuinfo->dcache_block_size)
|
||||
@ -56,7 +56,7 @@ page_clear_nocache(pte_t *pte, unsigned long addr,
|
||||
* Flush the page out of the TLB so that the new page flags get
|
||||
* picked up next time there's an access
|
||||
*/
|
||||
flush_tlb_page(NULL, addr);
|
||||
flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -28,8 +28,6 @@
|
||||
#include <asm/ucontext.h>
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
#define DEBUG_SIG 0
|
||||
|
||||
struct rt_sigframe {
|
||||
struct siginfo info;
|
||||
struct ucontext uc;
|
||||
|
@ -268,7 +268,7 @@ static inline void ipi_flush_tlb_range(void *info)
|
||||
local_flush_tlb_range(NULL, fd->addr1, fd->addr2);
|
||||
}
|
||||
|
||||
static void smp_flush_tlb_range(struct cpumask *cmask, unsigned long start,
|
||||
static void smp_flush_tlb_range(const struct cpumask *cmask, unsigned long start,
|
||||
unsigned long end)
|
||||
{
|
||||
unsigned int cpuid;
|
||||
@ -316,7 +316,9 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
|
||||
void flush_tlb_range(struct vm_area_struct *vma,
|
||||
unsigned long start, unsigned long end)
|
||||
{
|
||||
smp_flush_tlb_range(mm_cpumask(vma->vm_mm), start, end);
|
||||
const struct cpumask *cmask = vma ? mm_cpumask(vma->vm_mm)
|
||||
: cpu_online_mask;
|
||||
smp_flush_tlb_range(cmask, start, end);
|
||||
}
|
||||
|
||||
/* Instruction cache invalidate - performed on each cpu */
|
||||
|
@ -127,7 +127,7 @@ irqreturn_t __irq_entry timer_interrupt(struct pt_regs *regs)
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Clocksource: Based on OpenRISC timer/counter
|
||||
*
|
||||
* This sets up the OpenRISC Tick Timer as a clock source. The tick timer
|
||||
|
Loading…
Reference in New Issue
Block a user