Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'mips_fixes_5.1_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux

Pull MIPS fixes from Paul Burton:
"A couple more MIPS fixes:

- Fix indirect syscall tracing & seccomp filtering for big endian
MIPS64 kernels, which previously loaded the syscall number
incorrectly & would always use zero.

- Fix performance counter IRQ setup for Atheros/ath79 SoCs, allowing
perf to function on those systems.

And not really a fix, but a useful addition:

- Add a Broadcom mailing list to the MAINTAINERS entry for BMIPS
systems to allow relevant engineers to track patch submissions"

* tag 'mips_fixes_5.1_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
MIPS: perf: ath79: Fix perfcount IRQ assignment
MIPS: scall64-o32: Fix indirect syscall number load
MAINTAINERS: BMIPS: Add internal Broadcom mailing list

+13 -7
+1
MAINTAINERS
··· 3121 3121 BROADCOM BMIPS MIPS ARCHITECTURE 3122 3122 M: Kevin Cernekee <cernekee@gmail.com> 3123 3123 M: Florian Fainelli <f.fainelli@gmail.com> 3124 + L: bcm-kernel-feedback-list@broadcom.com 3124 3125 L: linux-mips@vger.kernel.org 3125 3126 T: git git://github.com/broadcom/stblinux.git 3126 3127 S: Maintained
-6
arch/mips/ath79/setup.c
··· 210 210 return ath79_sys_type; 211 211 } 212 212 213 - int get_c0_perfcount_int(void) 214 - { 215 - return ATH79_MISC_IRQ(5); 216 - } 217 - EXPORT_SYMBOL_GPL(get_c0_perfcount_int); 218 - 219 213 unsigned int get_c0_compare_int(void) 220 214 { 221 215 return CP0_LEGACY_COMPARE_IRQ;
+1 -1
arch/mips/kernel/scall64-o32.S
··· 125 125 subu t1, v0, __NR_O32_Linux 126 126 move a1, v0 127 127 bnez t1, 1f /* __NR_syscall at offset 0 */ 128 - lw a1, PT_R4(sp) /* Arg1 for __NR_syscall case */ 128 + ld a1, PT_R4(sp) /* Arg1 for __NR_syscall case */ 129 129 .set pop 130 130 131 131 1: jal syscall_trace_enter
+11
drivers/irqchip/irq-ath79-misc.c
··· 22 22 #define AR71XX_RESET_REG_MISC_INT_ENABLE 4 23 23 24 24 #define ATH79_MISC_IRQ_COUNT 32 25 + #define ATH79_MISC_PERF_IRQ 5 26 + 27 + static int ath79_perfcount_irq; 28 + 29 + int get_c0_perfcount_int(void) 30 + { 31 + return ath79_perfcount_irq; 32 + } 33 + EXPORT_SYMBOL_GPL(get_c0_perfcount_int); 25 34 26 35 static void ath79_misc_irq_handler(struct irq_desc *desc) 27 36 { ··· 121 112 struct irq_domain *domain, int irq) 122 113 { 123 114 void __iomem *base = domain->host_data; 115 + 116 + ath79_perfcount_irq = irq_create_mapping(domain, ATH79_MISC_PERF_IRQ); 124 117 125 118 /* Disable and clear all interrupts */ 126 119 __raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_ENABLE);