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.4_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux

Pull MIPS fixes from Paul Burton:
"A few MIPS fixes:

- Fix VDSO time-related function behavior for systems where we need
to fall back to syscalls, but were instead returning bogus results.

- A fix to TLB exception handlers for Cavium Octeon systems where
they would inadvertently clobber the $1/$at register.

- A build fix for bcm63xx configurations.

- Switch to using my @kernel.org email address"

* tag 'mips_fixes_5.4_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
MIPS: tlbex: Fix build_restore_pagemask KScratch restore
MIPS: bmips: mark exception vectors as char arrays
mips: vdso: Fix __arch_get_hw_counter()
MAINTAINERS: Use @kernel.org address for Paul Burton

+35 -25
+2 -1
.mailmap
··· 196 196 Oleksij Rempel <linux@rempel-privat.de> <ore@pengutronix.de> 197 197 Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> 198 198 Patrick Mochel <mochel@digitalimplant.org> 199 - Paul Burton <paul.burton@mips.com> <paul.burton@imgtec.com> 199 + Paul Burton <paulburton@kernel.org> <paul.burton@imgtec.com> 200 + Paul Burton <paulburton@kernel.org> <paul.burton@mips.com> 200 201 Peter A Jonsson <pj@ludd.ltu.se> 201 202 Peter Oruba <peter@oruba.de> 202 203 Peter Oruba <peter.oruba@amd.com>
+5 -5
MAINTAINERS
··· 3098 3098 F: arch/arm64/net/ 3099 3099 3100 3100 BPF JIT for MIPS (32-BIT AND 64-BIT) 3101 - M: Paul Burton <paul.burton@mips.com> 3101 + M: Paul Burton <paulburton@kernel.org> 3102 3102 L: netdev@vger.kernel.org 3103 3103 L: bpf@vger.kernel.org 3104 3104 S: Maintained ··· 8002 8002 F: drivers/usb/atm/ueagle-atm.c 8003 8003 8004 8004 IMGTEC ASCII LCD DRIVER 8005 - M: Paul Burton <paul.burton@mips.com> 8005 + M: Paul Burton <paulburton@kernel.org> 8006 8006 S: Maintained 8007 8007 F: Documentation/devicetree/bindings/auxdisplay/img-ascii-lcd.txt 8008 8008 F: drivers/auxdisplay/img-ascii-lcd.c ··· 10829 10829 10830 10830 MIPS 10831 10831 M: Ralf Baechle <ralf@linux-mips.org> 10832 - M: Paul Burton <paul.burton@mips.com> 10832 + M: Paul Burton <paulburton@kernel.org> 10833 10833 M: James Hogan <jhogan@kernel.org> 10834 10834 L: linux-mips@vger.kernel.org 10835 10835 W: http://www.linux-mips.org/ ··· 10843 10843 F: drivers/platform/mips/ 10844 10844 10845 10845 MIPS BOSTON DEVELOPMENT BOARD 10846 - M: Paul Burton <paul.burton@mips.com> 10846 + M: Paul Burton <paulburton@kernel.org> 10847 10847 L: linux-mips@vger.kernel.org 10848 10848 S: Maintained 10849 10849 F: Documentation/devicetree/bindings/clock/img,boston-clock.txt ··· 10853 10853 F: include/dt-bindings/clock/boston-clock.h 10854 10854 10855 10855 MIPS GENERIC PLATFORM 10856 - M: Paul Burton <paul.burton@mips.com> 10856 + M: Paul Burton <paulburton@kernel.org> 10857 10857 L: linux-mips@vger.kernel.org 10858 10858 S: Supported 10859 10859 F: Documentation/devicetree/bindings/power/mti,mips-cpc.txt
+1 -1
arch/mips/bcm63xx/prom.c
··· 84 84 * Here we will start up CPU1 in the background and ask it to 85 85 * reconfigure itself then go back to sleep. 86 86 */ 87 - memcpy((void *)0xa0000200, &bmips_smp_movevec, 0x20); 87 + memcpy((void *)0xa0000200, bmips_smp_movevec, 0x20); 88 88 __sync(); 89 89 set_c0_cause(C_SW0); 90 90 cpumask_set_cpu(1, &bmips_booted_mask);
+5 -5
arch/mips/include/asm/bmips.h
··· 75 75 #endif 76 76 } 77 77 78 - extern char bmips_reset_nmi_vec; 79 - extern char bmips_reset_nmi_vec_end; 80 - extern char bmips_smp_movevec; 81 - extern char bmips_smp_int_vec; 82 - extern char bmips_smp_int_vec_end; 78 + extern char bmips_reset_nmi_vec[]; 79 + extern char bmips_reset_nmi_vec_end[]; 80 + extern char bmips_smp_movevec[]; 81 + extern char bmips_smp_int_vec[]; 82 + extern char bmips_smp_int_vec_end[]; 83 83 84 84 extern int bmips_smp_enabled; 85 85 extern int bmips_cpu_offset;
+3 -1
arch/mips/include/asm/vdso/gettimeofday.h
··· 24 24 25 25 #define VDSO_HAS_CLOCK_GETRES 1 26 26 27 + #define __VDSO_USE_SYSCALL ULLONG_MAX 28 + 27 29 #ifdef CONFIG_MIPS_CLOCK_VSYSCALL 28 30 29 31 static __always_inline long gettimeofday_fallback( ··· 207 205 break; 208 206 #endif 209 207 default: 210 - cycle_now = 0; 208 + cycle_now = __VDSO_USE_SYSCALL; 211 209 break; 212 210 } 213 211
+4 -4
arch/mips/kernel/smp-bmips.c
··· 464 464 465 465 static inline void bmips_nmi_handler_setup(void) 466 466 { 467 - bmips_wr_vec(BMIPS_NMI_RESET_VEC, &bmips_reset_nmi_vec, 468 - &bmips_reset_nmi_vec_end); 469 - bmips_wr_vec(BMIPS_WARM_RESTART_VEC, &bmips_smp_int_vec, 470 - &bmips_smp_int_vec_end); 467 + bmips_wr_vec(BMIPS_NMI_RESET_VEC, bmips_reset_nmi_vec, 468 + bmips_reset_nmi_vec_end); 469 + bmips_wr_vec(BMIPS_WARM_RESTART_VEC, bmips_smp_int_vec, 470 + bmips_smp_int_vec_end); 471 471 } 472 472 473 473 struct reset_vec_info {
+15 -8
arch/mips/mm/tlbex.c
··· 653 653 int restore_scratch) 654 654 { 655 655 if (restore_scratch) { 656 + /* 657 + * Ensure the MFC0 below observes the value written to the 658 + * KScratch register by the prior MTC0. 659 + */ 660 + if (scratch_reg >= 0) 661 + uasm_i_ehb(p); 662 + 656 663 /* Reset default page size */ 657 664 if (PM_DEFAULT_MASK >> 16) { 658 665 uasm_i_lui(p, tmp, PM_DEFAULT_MASK >> 16); ··· 674 667 uasm_i_mtc0(p, 0, C0_PAGEMASK); 675 668 uasm_il_b(p, r, lid); 676 669 } 677 - if (scratch_reg >= 0) { 678 - uasm_i_ehb(p); 670 + if (scratch_reg >= 0) 679 671 UASM_i_MFC0(p, 1, c0_kscratch(), scratch_reg); 680 - } else { 672 + else 681 673 UASM_i_LW(p, 1, scratchpad_offset(0), 0); 682 - } 683 674 } else { 684 675 /* Reset default page size */ 685 676 if (PM_DEFAULT_MASK >> 16) { ··· 926 921 } 927 922 if (mode != not_refill && check_for_high_segbits) { 928 923 uasm_l_large_segbits_fault(l, *p); 924 + 925 + if (mode == refill_scratch && scratch_reg >= 0) 926 + uasm_i_ehb(p); 927 + 929 928 /* 930 929 * We get here if we are an xsseg address, or if we are 931 930 * an xuseg address above (PGDIR_SHIFT+PGDIR_BITS) boundary. ··· 948 939 uasm_i_jr(p, ptr); 949 940 950 941 if (mode == refill_scratch) { 951 - if (scratch_reg >= 0) { 952 - uasm_i_ehb(p); 942 + if (scratch_reg >= 0) 953 943 UASM_i_MFC0(p, 1, c0_kscratch(), scratch_reg); 954 - } else { 944 + else 955 945 UASM_i_LW(p, 1, scratchpad_offset(0), 0); 956 - } 957 946 } else { 958 947 uasm_i_nop(p); 959 948 }