1. 06 Apr, 2021 11 commits
  2. 30 Mar, 2021 1 commit
  3. 29 Mar, 2021 7 commits
    • Qing Zhang's avatar
      MIPS: Loongson64: enable CONFIG_USB_SERIAL_PL2303 · 19f0e8cd
      Qing Zhang authored
      When using the Loongson-3A4000 machine for serial port debugging,
      there is no /dev/ttyUSB* output, which makes the serial port unavailable,
      For convenience, we open this configuration.
      
      zhangqing@loongson-pc:~$ cat /sys/firmware/lefi/boardinfo
      Board Info
      Manufacturer		: THTF
      Board Name		: THTF-LS3A4000-7A1000-ML4A
      Family			: LOONGSON3
      
      BIOS Info
      Vendor			: ZD tech
      Version			: ZD tech-V2.1.1
      ROM Size		: 4 KB
      Release Date		: 2020-06-29
      
      zhangqing@loongson-pc:~$ lsusb
      Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
      Bus 005 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
      Bus 005 Device 002: ID 0c45:760b Microdia USB Keyboard
      Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      Bus 003 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
      Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      Signed-off-by: default avatarQing Zhang <zhangqing@loongson.cn>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      19f0e8cd
    • Ilya Lipnitskiy's avatar
      crypto: mips: add poly1305-core.S to .gitignore · dc92d0df
      Ilya Lipnitskiy authored
      poly1305-core.S is an auto-generated file, so it should be ignored.
      
      Fixes: a11d055e ("crypto: mips/poly1305 - incorporate OpenSSL/CRYPTOGAMS optimized implementation")
      Signed-off-by: default avatarIlya Lipnitskiy <ilya.lipnitskiy@gmail.com>
      Cc: Ard Biesheuvel <ardb@kernel.org>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      dc92d0df
    • Chuanhong Guo's avatar
      MIPS: ralink: mt7621: add memory detection support · 139c949f
      Chuanhong Guo authored
      mt7621 has the following memory map:
      0x0-0x1c000000: lower 448m memory
      0x1c000000-0x2000000: peripheral registers
      0x20000000-0x2400000: higher 64m memory
      
      detect_memory_region in arch/mips/kernel/setup.c only adds the first
      memory region and isn't suitable for 512m memory detection because
      it may accidentally read the memory area for peripheral registers.
      
      This commit adds memory detection capability for mt7621:
        1. Add the highmem area when 512m is detected.
        2. Guard memcmp from accessing peripheral registers:
           This only happens when a user decided to change kernel load address
           to 256m or higher address. Since this is a quite unusual case, we
           just skip 512m testing and return 256m as memory size.
      Signed-off-by: default avatarChuanhong Guo <gch981213@gmail.com>
      [Minor commit message reword, make mt7621_memory_detect static]
      Signed-off-by: default avatarIlya Lipnitskiy <ilya.lipnitskiy@gmail.com>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      139c949f
    • Ilya Lipnitskiy's avatar
      MIPS: ralink: annotate prom_soc_init() with __init · 8eb6eb48
      Ilya Lipnitskiy authored
      prom_soc_init is only called from prom_init in arch/mips/ralink/prom.c,
      which is already annotated with __init, so annotate prom_soc_init with
      __init too.
      Signed-off-by: default avatarIlya Lipnitskiy <ilya.lipnitskiy@gmail.com>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      8eb6eb48
    • Julian Braha's avatar
      arch: mips: fix unmet dependency for MTD_COMPLEX_MAPPINGS · f766b28a
      Julian Braha authored
      When CAVIUM_OCTEON_SOC is enabled, and MTD is disabled,
      Kbuild gives the following warning:
      
      WARNING: unmet direct dependencies detected for MTD_COMPLEX_MAPPINGS
        Depends on [n]: MTD [=n] && HAS_IOMEM [=y]
        Selected by [y]:
        - CAVIUM_OCTEON_SOC [=y] && <choice>
      
      This is because CAVIUM_OCTEON_SOC selects MTD_COMPLEX_MAPPINGS,
      without selecting or depending on MTD, despite MTD_COMPLEX_MAPPINGS
      depending on MTD.
      Signed-off-by: default avatarJulian Braha <julianbraha@gmail.com>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      f766b28a
    • Julian Braha's avatar
      arch: mips: fix unmet dependency for DEBUG_INFO · e87f69a5
      Julian Braha authored
      When SB1XXX_CORELIS is enabled, COMPILE_TEST is disabled,
      and DEBUG_KERNEL is disabled, Kbuild gives the
      following warning:
      
      WARNING: unmet direct dependencies detected for DEBUG_INFO
        Depends on [n]: DEBUG_KERNEL [=n] && !COMPILE_TEST [=n]
        Selected by [y]:
        - SB1XXX_CORELIS [=y] && SIBYTE_SB1xxx_SOC [=y] && !COMPILE_TEST [=n]
      
      This is because SB1XXX_CORELIS selects DEBUG_INFO without
      selecting or depending on DEBUG_KERNEL, despite DEBUG_INFO
      depending on DEBUG_KERNEL.
      Signed-off-by: default avatarJulian Braha <julianbraha@gmail.com>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      e87f69a5
    • Tiezhu Yang's avatar
      MIPS/bpf: Enable bpf_probe_read{, str}() on MIPS again · 66633abd
      Tiezhu Yang authored
      After commit 0ebeea8c ("bpf: Restrict bpf_probe_read{, str}() only to
      archs where they work"), bpf_probe_read{, str}() functions were no longer
      available on MIPS, so there exist some errors when running bpf program:
      
      root@linux:/home/loongson/bcc# python examples/tracing/task_switch.py
      bpf: Failed to load program: Invalid argument
      [...]
      11: (85) call bpf_probe_read#4
      unknown func bpf_probe_read#4
      [...]
      Exception: Failed to load BPF program count_sched: Invalid argument
      
      ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE should be restricted to archs
      with non-overlapping address ranges, but they can overlap in EVA mode
      on MIPS, so select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE if !EVA in
      arch/mips/Kconfig, otherwise the bpf old helper bpf_probe_read() will
      not be available.
      
      This is similar with the commit d195b1d1 ("powerpc/bpf: Enable
      bpf_probe_read{, str}() on powerpc again").
      
      Fixes: 0ebeea8c ("bpf: Restrict bpf_probe_read{, str}() only to archs where they work")
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      66633abd
  4. 25 Mar, 2021 9 commits
  5. 24 Mar, 2021 10 commits
  6. 14 Mar, 2021 2 commits
    • Wang Qing's avatar
      mips: kernel: use DEFINE_DEBUGFS_ATTRIBUTE with debugfs_create_file_unsafe() · 63d6c981
      Wang Qing authored
      debugfs_create_file_unsafe does not protect the fops handed to it
      against file removal. DEFINE_DEBUGFS_ATTRIBUTE makes the fops aware of
      the file lifetime and thus protects it against removal.
      Signed-off-by: default avatarWang Qing <wangqing@vivo.com>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      63d6c981
    • Huang Pei's avatar
      MIPS: clean up CONFIG_MIPS_PGD_C0_CONTEXT handling · c6972fb9
      Huang Pei authored
      +. LOONGSON64 use 0x98xx_xxxx_xxxx_xxxx as xphys cached, instread of
      0xa8xx_xxxx_xxxx_xxxx
      
      +. let CONFIG_MIPS_PGD_C0_CONTEXT depend on 64bit
      
      +. cast CAC_BASE into u64 to silence warning on MIPS32
      
      CP0 Context has enough room for wraping pgd into its 41-bit PTEBase field.
      
      +. For XPHYS, the trick is that pgd is 4kB aligned, and the PABITS <= 53,
      only save 53 - 12 = 41 bits, aka :
      
         bit[63:59] | 0000 00 |  bit[53:12] | 0000 0000 0000
      
      +. for CKSEG0, only save 29 - 12 = 17 bits
      
      when switching pgd, only need to save bit[53:12] or bit[28:12] into
      CP0 Context's bit[63:23], see folling asm generated at run time
      
      tlbmiss_handler_setup_pgd:
      	.set	push
      	.set	noreorder
      
      	dsra	a2, a0, 29
      	move	a3, a0
      	dins	a0, zero, 29, 35
      	daddiu	a2, a2, 4	//for CKSEG0, a2 from 0xfffffffffffffffc
      				//into 0
      
      	movn	a0, a3, a2
      	dsll	a0, a0, 11
      	jr	ra
      	dmtc0	a0, CP0_CONTEXT
      
      	.set	pop
      
      when using it on page walking
      
      	dmfc0	k0, CP0_CONTEXT
      	dins	k0, zero, 0, 23	         // zero badv2
      	ori	k0, k0, (CAC_BASE >> 53) // *prefix* with bit[63:59]
      	drotr	k0, k0, 11		 // kick it in the right place
      Signed-off-by: default avatarHuang Pei <huangpei@loongson.cn>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      c6972fb9