mbox series

[v2,00/13] Convert Ingenic to a generic board v2

Message ID 20200812001510.460382-1-paul@crapouillou.net (mailing list archive)
Headers show
Series Convert Ingenic to a generic board v2 | expand

Message

Paul Cercueil Aug. 12, 2020, 12:14 a.m. UTC
Hi,

Changes since V1:

- the get_system_type() now will simply return the "system_type"
  variable if non-NULL, and the various boards can set this pointer
  should they want to set a custom value. The .get_system_type
  callback that v1 added to the struct mips_machine is gone.

- the board-ingenic.c has been modified accordingly.

- patch [06/13] is new, it makes sure that the kernel's command line is
  initialized properly and includes the parameters passed by the
  bootloader.

- the cu1830-neo board defconfig has now been regenerated in patch
  [12/13].

Cheers,
-Paul

Paul Cercueil (13):
  MIPS: cpu-probe: Set Ingenic's writecombine to _CACHE_CACHABLE_WA
  MIPS: cpu-probe: Mark XBurst CPU as having vtagged caches
  MIPS: cpu-probe: ingenic: Fix broken BUG_ON
  MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol
  MIPS: generic: Allow boards to set system type
  MIPS: generic: Init command line with fw_init_cmdline()
  MIPS: generic: Support booting with built-in or appended DTB
  MIPS: generic: Add support for zboot
  MIPS: generic: Increase NR_IRQS to 256
  MIPS: generic: Add support for Ingenic SoCs
  MIPS: jz4740: Drop folder
  MIPS: configs: Regenerate configs of Ingenic boards
  MAINTAINERS: Update paths to Ingenic platform code

 MAINTAINERS                                   |   4 +-
 arch/mips/Kbuild.platforms                    |   1 -
 arch/mips/Kconfig                             |  43 ++++--
 arch/mips/configs/ci20_defconfig              |   4 +-
 arch/mips/configs/cu1000-neo_defconfig        |  16 +-
 arch/mips/configs/cu1830-neo_defconfig        |  15 +-
 arch/mips/configs/gcw0_defconfig              |   2 +-
 arch/mips/configs/qi_lb60_defconfig           |   5 +-
 arch/mips/configs/rs90_defconfig              |   4 +-
 arch/mips/generic/Kconfig                     |   8 +-
 arch/mips/generic/Makefile                    |   1 +
 arch/mips/generic/Platform                    |   1 +
 arch/mips/generic/board-ingenic.c             | 108 +++++++++++++
 arch/mips/generic/init.c                      |  11 +-
 arch/mips/generic/proc.c                      |   5 +
 arch/mips/include/asm/mach-generic/irq.h      |   2 +-
 .../asm/mach-jz4740/cpu-feature-overrides.h   |  50 ------
 arch/mips/include/asm/mach-jz4740/irq.h       |  13 --
 arch/mips/include/asm/pgtable-bits.h          |   5 -
 arch/mips/{jz4740 => ingenic}/Kconfig         |  16 +-
 arch/mips/jz4740/Makefile                     |   9 --
 arch/mips/jz4740/Platform                     |   3 -
 arch/mips/jz4740/setup.c                      | 145 ------------------
 arch/mips/kernel/cpu-probe.c                  |   8 +-
 24 files changed, 186 insertions(+), 293 deletions(-)
 create mode 100644 arch/mips/generic/board-ingenic.c
 delete mode 100644 arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
 delete mode 100644 arch/mips/include/asm/mach-jz4740/irq.h
 rename arch/mips/{jz4740 => ingenic}/Kconfig (91%)
 delete mode 100644 arch/mips/jz4740/Makefile
 delete mode 100644 arch/mips/jz4740/Platform
 delete mode 100644 arch/mips/jz4740/setup.c

Comments

Zhou Yanjie Aug. 19, 2020, 2:12 p.m. UTC | #1
Hi Paul,

I have some good news and some bad news.

Good news is:

I tested this series of patches on CU1000-Neo & CU1830-Neo, and it can 
boot normally and log in to  debian normally.

Bad news is:

1. Because we dropped arch/mips/jz4740/setup.c, so it did not return 
MACH_INGENIC_XXXX correctly, which caused the correction of the L2 cache 
probe in arch/mips/mm/sc-mips.c to fail, causing JZ4770/X1000 to detect 
the L2 cache capacity incorrect.

2. When I did some heavy work (compiled docker source code after logging 
in with ssh), the following message appeared:

message1:

[ 4694.290776] warn_alloc: 25 callbacks suppressed
[ 4694.290791] containerd-shim: page allocation failure: order:4, 
mode:0x40cc0(GFP_KERNEL|__GFP_COMP), nodemask=(null)
[ 4694.315266] CPU: 0 PID: 19817 Comm: containerd-shim Not tainted 
5.8.0-00013-g192f2fd7b678 #15
[ 4694.317993] Stack : 80ae0000 80a50000 80860000 809b8fb0 809e4a30 
850dfcb4 00000000 ffffffff
[ 4694.320818]         80a50000 80a576c7 809c4374 00004d69 80ad348c 
00000001 850dfc58 7750292a
[ 4694.322695]         00000000 00000000 809c4374 ffff00fe 850dffe0 
00001400 00000199 00000000
[ 4694.325083]         ffffffff 866f7600 80a50000 878bd778 80a50000 
80000000 809c2b50 00000000
[ 4694.326957]         00040cc0 00000000 000001d2 00000000 80a53220 
7750292a 0000a098 80ad0000
[ 4694.327750]         ...
[ 4694.340943] Call Trace:
[ 4694.341181] [<8001ae08>] show_stack+0x6c/0x12c
[ 4694.355233] [<800f64b0>] warn_alloc+0xa8/0x130
[ 4694.361283] [<800f6dfc>] __alloc_pages_nodemask+0x8a4/0x8d8
[ 4694.362839] [<80103110>] ____cache_alloc+0x324/0x8fc
[ 4694.367439] [<801038e4>] __kmalloc+0x78/0xd8
[ 4694.376798] [<80195b28>] proc_sys_call_handler+0xf4/0x1d8
[ 4694.377229] [<80195c44>] proc_sys_read+0x14/0x20
[ 4694.384090] [<80116274>] vfs_read+0xac/0x108
[ 4694.385654] [<801165d4>] ksys_read+0x80/0xe0
[ 4694.395277] [<8001ec8c>] syscall_common+0x34/0x58
[ 4694.394544] Mem-Info:
[ 4694.396828] active_anon:661 inactive_anon:942 isolated_anon:0
[ 4694.396828]  active_file:10515 inactive_file:9667 isolated_file:0
[ 4694.396828]  unevictable:0 dirty:2003 writeback:0
[ 4694.396828]  slab_reclaimable:1609 slab_unreclaimable:3103
[ 4694.396828]  mapped:2182 shmem:156 pagetables:207 bounce:0
[ 4694.396828]  free:1635 free_pcp:7 free_cma:0
[ 4694.405770] Node 0 active_anon:2644kB inactive_anon:3768kB 
active_file:42060kB inactive_file:38668kB unevictable:0kB 
isolated(anon):0kB isolated(file):0kB mapped:8728kB dirty:8048kB 
writeback:0kB shmem:624kB writeback_tmp:0kB all_unreclaimable? no
[ 4694.408349] Normal free:6484kB min:1376kB low:1720kB high:2064kB 
reserved_highatomic:0KB active_anon:2644kB inactive_anon:3768kB 
active_file:42064kB inactive_file:38724kB unevictable:0kB 
writepending:8060kB present:131072kB managed:118804kB mlocked:0kB 
kernel_stack:584kB pagetables:828kB bounce:0kB free_pcp:32kB 
local_pcp:32kB free_cma:0kB
[ 4694.409607] lowmem_reserve[]: 0 0 0
[ 4694.410382] Normal: 117*4kB (UM) 406*8kB (UM) 149*16kB (UME) 12*32kB 
(UME) 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 6484kB
[ 4694.418673] 20618 total pagecache pages
[ 4694.423125] 226 pages in swap cache
[ 4694.423912] Swap cache stats: add 535090, delete 534864, find 
234586/366812
[ 4694.431304] Free swap  = 774396kB
[ 4694.431900] Total swap = 786428kB
[ 4694.432480] 32768 pages RAM
[ 4694.432537] 0 pages HighMem/MovableOnly
[ 4694.441338] 3067 pages reserved
[ 4694.441770] 0 pages cma reserved

---------------------------------------------------------

message2:

[ 4426.473667] warn_alloc: 27 callbacks suppressed
[ 4426.473681] kswapd0: page allocation failure: order:0, 
mode:0xa20(GFP_ATOMIC), nodemask=(null)
[ 4426.475946] CPU: 0 PID: 439 Comm: kswapd0 Not tainted 
5.8.0-00013-g192f2fd7b678 #15
[ 4426.478136] Stack : 80ae0000 80a50000 80860000 809b8fb0 809e4a30 
87c0dccc 00000000 ffffffff
[ 4426.478301]         80a50000 80a576c7 809c4374 000001b7 80ad348c 
00000001 87c0dc70 b7c290ba
[ 4426.478464]         00000000 00000000 809c4374 00000000 0000000f 
00000000 0000019f 00000000
[ 4426.478626]         bff4ffd7 1c5e5f3c 80ae0000 31672d33 80a50000 
00000000 809c2b50 00000000
[ 4426.478787]         00000a20 00000000 00000000 00000000 00000002 
804d392c 00000000 80ad0000
[ 4426.478940]         ...
[ 4426.481390] Call Trace:
[ 4426.483842] [<8001ae08>] show_stack+0x6c/0x12c
[ 4426.485555] [<800f64b0>] warn_alloc+0xa8/0x130
[ 4426.487275] [<800f6dfc>] __alloc_pages_nodemask+0x8a4/0x8d8
[ 4426.487382] [<800f6f80>] page_frag_alloc+0x74/0x144
[ 4426.489534] [<805fc1a4>] __napi_alloc_skb+0x88/0x118
[ 4426.491769] [<8052ed8c>] stmmac_napi_poll_rx+0x434/0xa94
[ 4426.494354] [<80613eb0>] net_rx_action+0x11c/0x310
[ 4426.496414] [<807ecd0c>] __do_softirq+0x10c/0x258
[ 4426.498395] [<800320c0>] __irq_exit_rcu+0x68/0xbc
[ 4426.500365] [<80032324>] irq_exit+0x10/0x1c
[ 4426.501844] [<804876b4>] plat_irq_dispatch+0x8c/0xb8
[ 4426.504076] [<800154f8>] handle_int+0x138/0x144
[ 4426.505883] [<8005280c>] arch_local_irq_enable+0x4/0xc
[ 4426.508289] Mem-Info:
[ 4426.510576] active_anon:770 inactive_anon:1763 isolated_anon:0
[ 4426.510576]  active_file:5581 inactive_file:15166 isolated_file:0
[ 4426.510576]  unevictable:0 dirty:1262 writeback:880
[ 4426.510576]  slab_reclaimable:1187 slab_unreclaimable:3016
[ 4426.510576]  mapped:3478 shmem:315 pagetables:186 bounce:0
[ 4426.510576]  free:453 free_pcp:16 free_cma:0
[ 4426.512469] Node 0 active_anon:3080kB inactive_anon:7052kB 
active_file:22324kB inactive_file:60664kB unevictable:0kB 
isolated(anon):0kB isolated(file):0kB mapped:13912kB dirty:5048kB 
writeback:3520kB shmem:1260kB writeback_tmp:0kB all_unreclaimable? no
[ 4426.512938] Normal free:1812kB min:5472kB low:5816kB high:6160kB 
reserved_highatomic:0KB active_anon:3080kB inactive_anon:7052kB 
active_file:22324kB inactive_file:60664kB unevictable:0kB 
writepending:8568kB present:131072kB managed:118804kB mlocked:0kB 
kernel_stack:544kB pagetables:744kB bounce:0kB free_pcp:64kB 
local_pcp:64kB free_cma:0kB
[ 4426.515643] lowmem_reserve[]: 0 0 0
[ 4426.516400] Normal: 11*4kB (U) 59*8kB (UE) 75*16kB (U) 3*32kB (U) 
0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1812kB
[ 4426.517399] 21378 total pagecache pages
[ 4426.518507] 306 pages in swap cache
[ 4426.519259] Swap cache stats: add 533859, delete 533553, find 
134676/266712
[ 4426.520752] Free swap  = 777212kB
[ 4426.521331] Total swap = 786428kB
[ 4426.521911] 32768 pages RAM
[ 4426.521973] 0 pages HighMem/MovableOnly
[ 4426.523072] 3067 pages reserved
[ 4426.523474] 0 pages cma reserved

---------------------------------------------------------

message3:

[  292.077309] CPU 0 Unable to handle kernel paging request at virtual 
address 00000104, epc == 801e7f30, ra == 801e7f24
[  292.087904] Oops[#1]:
[  292.090169] CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 
5.9.0-rc1-00016-g8d1e63c37d0d-dirty #1
[  292.098768] Workqueue: events cache_reap
[  292.102675] $ 0   : 00000000 00000001 808f3bf4 00000122
[  292.107887] $ 4   : 808f3bf8 00000100 0000003c 87c02080
[  292.113099] $ 8   : 87c01000 8581e301 00000001 00000000
[  292.118311] $12   : 87c3dc7c 0000000a 810021c4 00000100
[  292.123523] $16   : 85855600 8100218c 86284600 80790000
[  292.128735] $20   : 0000003c 00000000 8100219c fffffffe
[  292.133946] $24   : 00000122 87c02090
[  292.139158] $28   : 87c3c000 87c3dc48 807b0000 801e7f24
[  292.144371] Hi    : 00000000
[  292.147237] Lo    : 000c6bf4
[  292.150109] epc   : 801e7f30 free_block+0x68/0x198
[  292.154887] ra    : 801e7f24 free_block+0x5c/0x198
[  292.159660] Status: 10001402 KERNEL EXL
[  292.163569] Cause : 4080800c (ExcCode 03)
[  292.167563] BadVA : 00000104
[  292.170430] PrId  : 00d00100 (Ingenic XBurst)
[  292.174776] Process kworker/0:0 (pid: 5, threadinfo=50ecb211, 
task=a81ea849, tls=00000000)
[  292.183016] Stack : 87c2e020 87c50cd0 8079e358 00000000 87c01000 
801e8b14 87c50cd0 87c2e050
[  292.191353]         87c50cd0 8014930c 87c3dc7c 87c50ca0 807a0000 
87c3dc7c 87c3dc7c 018070a3
[  292.199689]         80790000 86284600 801e8618 00000000 00000100 
00000122 00000000 8100219c
[  292.208025]         fffffffe 801e8544 00000003 00000000 00000000 
87c3dce0 808f3bf4 00000000
[  292.216361]         87c01000 801e8618 87c06300 00000000 00000000 
87c3dce0 87c01000 85855a80
[  292.224697]         ...
[  292.227132] Call Trace:
[  292.229569] [<801e7f30>] free_block+0x68/0x198
[  292.234003] [<801e8b14>] ___cache_free+0x1f8/0x2e8
[  292.238781] [<801e8544>] kfree+0x48/0x6c
[  292.242693] [<801e8618>] kmem_freepages+0xb0/0x124
[  292.247471] [<801e86e0>] slab_destroy+0x48/0x7c
[  292.251989] [<801e8778>] slabs_destroy+0x64/0x94
[  292.256593] [<801e8b4c>] ___cache_free+0x230/0x2e8
[  292.261372] [<801e8544>] kfree+0x48/0x6c
[  292.265283] [<801e8618>] kmem_freepages+0xb0/0x124
[  292.270062] [<801e86e0>] slab_destroy+0x48/0x7c
[  292.274580] [<801e8778>] slabs_destroy+0x64/0x94
[  292.279185] [<801e8d90>] drain_array.isra.59.constprop.61+0xb4/0xdc
[  292.285437] [<801e8f84>] cache_reap+0x64/0x120
[  292.289869] [<80137204>] process_one_work+0x1b8/0x25c
[  292.294907] [<80137588>] worker_thread+0x294/0x3c4
[  292.299684] [<8013cfe0>] kthread+0x148/0x150
[  292.303941] [<8010506c>] ret_from_kernel_thread+0x14/0x1c
[  292.309324] Code: 8c430008  8c450004  24440004 <aca30004> ac650000  
8c430014  ac4f0004  ac580008  8d0a0014
[  292.319053]
[  292.320591] ---[ end trace 2a1f2afba7a08ca1 ]---
[  292.325197] Kernel panic - not syncing: Fatal exception
[  292.330409] Rebooting in 10 seconds..

these three kinds of message appear at random. Sometimes they will 
appear at the beginning of the compilation, and sometimes they will 
appear after tens of minutes of compilation.

Thanks and best regards!

在 2020/8/12 上午8:14, Paul Cercueil 写道:
> Hi,
>
> Changes since V1:
>
> - the get_system_type() now will simply return the "system_type"
>    variable if non-NULL, and the various boards can set this pointer
>    should they want to set a custom value. The .get_system_type
>    callback that v1 added to the struct mips_machine is gone.
>
> - the board-ingenic.c has been modified accordingly.
>
> - patch [06/13] is new, it makes sure that the kernel's command line is
>    initialized properly and includes the parameters passed by the
>    bootloader.
>
> - the cu1830-neo board defconfig has now been regenerated in patch
>    [12/13].
>
> Cheers,
> -Paul
>
> Paul Cercueil (13):
>    MIPS: cpu-probe: Set Ingenic's writecombine to _CACHE_CACHABLE_WA
>    MIPS: cpu-probe: Mark XBurst CPU as having vtagged caches
>    MIPS: cpu-probe: ingenic: Fix broken BUG_ON
>    MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol
>    MIPS: generic: Allow boards to set system type
>    MIPS: generic: Init command line with fw_init_cmdline()
>    MIPS: generic: Support booting with built-in or appended DTB
>    MIPS: generic: Add support for zboot
>    MIPS: generic: Increase NR_IRQS to 256
>    MIPS: generic: Add support for Ingenic SoCs
>    MIPS: jz4740: Drop folder
>    MIPS: configs: Regenerate configs of Ingenic boards
>    MAINTAINERS: Update paths to Ingenic platform code
>
>   MAINTAINERS                                   |   4 +-
>   arch/mips/Kbuild.platforms                    |   1 -
>   arch/mips/Kconfig                             |  43 ++++--
>   arch/mips/configs/ci20_defconfig              |   4 +-
>   arch/mips/configs/cu1000-neo_defconfig        |  16 +-
>   arch/mips/configs/cu1830-neo_defconfig        |  15 +-
>   arch/mips/configs/gcw0_defconfig              |   2 +-
>   arch/mips/configs/qi_lb60_defconfig           |   5 +-
>   arch/mips/configs/rs90_defconfig              |   4 +-
>   arch/mips/generic/Kconfig                     |   8 +-
>   arch/mips/generic/Makefile                    |   1 +
>   arch/mips/generic/Platform                    |   1 +
>   arch/mips/generic/board-ingenic.c             | 108 +++++++++++++
>   arch/mips/generic/init.c                      |  11 +-
>   arch/mips/generic/proc.c                      |   5 +
>   arch/mips/include/asm/mach-generic/irq.h      |   2 +-
>   .../asm/mach-jz4740/cpu-feature-overrides.h   |  50 ------
>   arch/mips/include/asm/mach-jz4740/irq.h       |  13 --
>   arch/mips/include/asm/pgtable-bits.h          |   5 -
>   arch/mips/{jz4740 => ingenic}/Kconfig         |  16 +-
>   arch/mips/jz4740/Makefile                     |   9 --
>   arch/mips/jz4740/Platform                     |   3 -
>   arch/mips/jz4740/setup.c                      | 145 ------------------
>   arch/mips/kernel/cpu-probe.c                  |   8 +-
>   24 files changed, 186 insertions(+), 293 deletions(-)
>   create mode 100644 arch/mips/generic/board-ingenic.c
>   delete mode 100644 arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
>   delete mode 100644 arch/mips/include/asm/mach-jz4740/irq.h
>   rename arch/mips/{jz4740 => ingenic}/Kconfig (91%)
>   delete mode 100644 arch/mips/jz4740/Makefile
>   delete mode 100644 arch/mips/jz4740/Platform
>   delete mode 100644 arch/mips/jz4740/setup.c
>
Paul Cercueil Aug. 19, 2020, 3:35 p.m. UTC | #2
Hi Zhou,

Le mer. 19 août 2020 à 22:12, Zhou Yanjie <zhouyanjie@wanyeetech.com> 
a écrit :
> Hi Paul,
> 
> I have some good news and some bad news.
> 
> Good news is:
> 
> I tested this series of patches on CU1000-Neo & CU1830-Neo, and it 
> can boot normally and log in to  debian normally.
> 
> Bad news is:
> 
> 1. Because we dropped arch/mips/jz4740/setup.c, so it did not return 
> MACH_INGENIC_XXXX correctly, which caused the correction of the L2 
> cache probe in arch/mips/mm/sc-mips.c to fail, causing JZ4770/X1000 
> to detect the L2 cache capacity incorrect.

It's properly detected here on JZ4770. The detection code was just 
moved to arch/mips/generic/board-ingenic.c.

> 2. When I did some heavy work (compiled docker source code after 
> logging in with ssh), the following message appeared:

Chances are that these messages are related. Stuff like that tends to 
appear in -rc1 and get fixed afterwards.

Cheers,
-Paul

> message1:
> 
> [ 4694.290776] warn_alloc: 25 callbacks suppressed
> [ 4694.290791] containerd-shim: page allocation failure: order:4, 
> mode:0x40cc0(GFP_KERNEL|__GFP_COMP), nodemask=(null)
> [ 4694.315266] CPU: 0 PID: 19817 Comm: containerd-shim Not tainted 
> 5.8.0-00013-g192f2fd7b678 #15
> [ 4694.317993] Stack : 80ae0000 80a50000 80860000 809b8fb0 809e4a30 
> 850dfcb4 00000000 ffffffff
> [ 4694.320818]         80a50000 80a576c7 809c4374 00004d69 80ad348c 
> 00000001 850dfc58 7750292a
> [ 4694.322695]         00000000 00000000 809c4374 ffff00fe 850dffe0 
> 00001400 00000199 00000000
> [ 4694.325083]         ffffffff 866f7600 80a50000 878bd778 80a50000 
> 80000000 809c2b50 00000000
> [ 4694.326957]         00040cc0 00000000 000001d2 00000000 80a53220 
> 7750292a 0000a098 80ad0000
> [ 4694.327750]         ...
> [ 4694.340943] Call Trace:
> [ 4694.341181] [<8001ae08>] show_stack+0x6c/0x12c
> [ 4694.355233] [<800f64b0>] warn_alloc+0xa8/0x130
> [ 4694.361283] [<800f6dfc>] __alloc_pages_nodemask+0x8a4/0x8d8
> [ 4694.362839] [<80103110>] ____cache_alloc+0x324/0x8fc
> [ 4694.367439] [<801038e4>] __kmalloc+0x78/0xd8
> [ 4694.376798] [<80195b28>] proc_sys_call_handler+0xf4/0x1d8
> [ 4694.377229] [<80195c44>] proc_sys_read+0x14/0x20
> [ 4694.384090] [<80116274>] vfs_read+0xac/0x108
> [ 4694.385654] [<801165d4>] ksys_read+0x80/0xe0
> [ 4694.395277] [<8001ec8c>] syscall_common+0x34/0x58
> [ 4694.394544] Mem-Info:
> [ 4694.396828] active_anon:661 inactive_anon:942 isolated_anon:0
> [ 4694.396828]  active_file:10515 inactive_file:9667 isolated_file:0
> [ 4694.396828]  unevictable:0 dirty:2003 writeback:0
> [ 4694.396828]  slab_reclaimable:1609 slab_unreclaimable:3103
> [ 4694.396828]  mapped:2182 shmem:156 pagetables:207 bounce:0
> [ 4694.396828]  free:1635 free_pcp:7 free_cma:0
> [ 4694.405770] Node 0 active_anon:2644kB inactive_anon:3768kB 
> active_file:42060kB inactive_file:38668kB unevictable:0kB 
> isolated(anon):0kB isolated(file):0kB mapped:8728kB dirty:8048kB 
> writeback:0kB shmem:624kB writeback_tmp:0kB all_unreclaimable? no
> [ 4694.408349] Normal free:6484kB min:1376kB low:1720kB high:2064kB 
> reserved_highatomic:0KB active_anon:2644kB inactive_anon:3768kB 
> active_file:42064kB inactive_file:38724kB unevictable:0kB 
> writepending:8060kB present:131072kB managed:118804kB mlocked:0kB 
> kernel_stack:584kB pagetables:828kB bounce:0kB free_pcp:32kB 
> local_pcp:32kB free_cma:0kB
> [ 4694.409607] lowmem_reserve[]: 0 0 0
> [ 4694.410382] Normal: 117*4kB (UM) 406*8kB (UM) 149*16kB (UME) 
> 12*32kB (UME) 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 
> 0*4096kB = 6484kB
> [ 4694.418673] 20618 total pagecache pages
> [ 4694.423125] 226 pages in swap cache
> [ 4694.423912] Swap cache stats: add 535090, delete 534864, find 
> 234586/366812
> [ 4694.431304] Free swap  = 774396kB
> [ 4694.431900] Total swap = 786428kB
> [ 4694.432480] 32768 pages RAM
> [ 4694.432537] 0 pages HighMem/MovableOnly
> [ 4694.441338] 3067 pages reserved
> [ 4694.441770] 0 pages cma reserved
> 
> ---------------------------------------------------------
> 
> message2:
> 
> [ 4426.473667] warn_alloc: 27 callbacks suppressed
> [ 4426.473681] kswapd0: page allocation failure: order:0, 
> mode:0xa20(GFP_ATOMIC), nodemask=(null)
> [ 4426.475946] CPU: 0 PID: 439 Comm: kswapd0 Not tainted 
> 5.8.0-00013-g192f2fd7b678 #15
> [ 4426.478136] Stack : 80ae0000 80a50000 80860000 809b8fb0 809e4a30 
> 87c0dccc 00000000 ffffffff
> [ 4426.478301]         80a50000 80a576c7 809c4374 000001b7 80ad348c 
> 00000001 87c0dc70 b7c290ba
> [ 4426.478464]         00000000 00000000 809c4374 00000000 0000000f 
> 00000000 0000019f 00000000
> [ 4426.478626]         bff4ffd7 1c5e5f3c 80ae0000 31672d33 80a50000 
> 00000000 809c2b50 00000000
> [ 4426.478787]         00000a20 00000000 00000000 00000000 00000002 
> 804d392c 00000000 80ad0000
> [ 4426.478940]         ...
> [ 4426.481390] Call Trace:
> [ 4426.483842] [<8001ae08>] show_stack+0x6c/0x12c
> [ 4426.485555] [<800f64b0>] warn_alloc+0xa8/0x130
> [ 4426.487275] [<800f6dfc>] __alloc_pages_nodemask+0x8a4/0x8d8
> [ 4426.487382] [<800f6f80>] page_frag_alloc+0x74/0x144
> [ 4426.489534] [<805fc1a4>] __napi_alloc_skb+0x88/0x118
> [ 4426.491769] [<8052ed8c>] stmmac_napi_poll_rx+0x434/0xa94
> [ 4426.494354] [<80613eb0>] net_rx_action+0x11c/0x310
> [ 4426.496414] [<807ecd0c>] __do_softirq+0x10c/0x258
> [ 4426.498395] [<800320c0>] __irq_exit_rcu+0x68/0xbc
> [ 4426.500365] [<80032324>] irq_exit+0x10/0x1c
> [ 4426.501844] [<804876b4>] plat_irq_dispatch+0x8c/0xb8
> [ 4426.504076] [<800154f8>] handle_int+0x138/0x144
> [ 4426.505883] [<8005280c>] arch_local_irq_enable+0x4/0xc
> [ 4426.508289] Mem-Info:
> [ 4426.510576] active_anon:770 inactive_anon:1763 isolated_anon:0
> [ 4426.510576]  active_file:5581 inactive_file:15166 isolated_file:0
> [ 4426.510576]  unevictable:0 dirty:1262 writeback:880
> [ 4426.510576]  slab_reclaimable:1187 slab_unreclaimable:3016
> [ 4426.510576]  mapped:3478 shmem:315 pagetables:186 bounce:0
> [ 4426.510576]  free:453 free_pcp:16 free_cma:0
> [ 4426.512469] Node 0 active_anon:3080kB inactive_anon:7052kB 
> active_file:22324kB inactive_file:60664kB unevictable:0kB 
> isolated(anon):0kB isolated(file):0kB mapped:13912kB dirty:5048kB 
> writeback:3520kB shmem:1260kB writeback_tmp:0kB all_unreclaimable? no
> [ 4426.512938] Normal free:1812kB min:5472kB low:5816kB high:6160kB 
> reserved_highatomic:0KB active_anon:3080kB inactive_anon:7052kB 
> active_file:22324kB inactive_file:60664kB unevictable:0kB 
> writepending:8568kB present:131072kB managed:118804kB mlocked:0kB 
> kernel_stack:544kB pagetables:744kB bounce:0kB free_pcp:64kB 
> local_pcp:64kB free_cma:0kB
> [ 4426.515643] lowmem_reserve[]: 0 0 0
> [ 4426.516400] Normal: 11*4kB (U) 59*8kB (UE) 75*16kB (U) 3*32kB (U) 
> 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1812kB
> [ 4426.517399] 21378 total pagecache pages
> [ 4426.518507] 306 pages in swap cache
> [ 4426.519259] Swap cache stats: add 533859, delete 533553, find 
> 134676/266712
> [ 4426.520752] Free swap  = 777212kB
> [ 4426.521331] Total swap = 786428kB
> [ 4426.521911] 32768 pages RAM
> [ 4426.521973] 0 pages HighMem/MovableOnly
> [ 4426.523072] 3067 pages reserved
> [ 4426.523474] 0 pages cma reserved
> 
> ---------------------------------------------------------
> 
> message3:
> 
> [  292.077309] CPU 0 Unable to handle kernel paging request at 
> virtual address 00000104, epc == 801e7f30, ra == 801e7f24
> [  292.087904] Oops[#1]:
> [  292.090169] CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 
> 5.9.0-rc1-00016-g8d1e63c37d0d-dirty #1
> [  292.098768] Workqueue: events cache_reap
> [  292.102675] $ 0   : 00000000 00000001 808f3bf4 00000122
> [  292.107887] $ 4   : 808f3bf8 00000100 0000003c 87c02080
> [  292.113099] $ 8   : 87c01000 8581e301 00000001 00000000
> [  292.118311] $12   : 87c3dc7c 0000000a 810021c4 00000100
> [  292.123523] $16   : 85855600 8100218c 86284600 80790000
> [  292.128735] $20   : 0000003c 00000000 8100219c fffffffe
> [  292.133946] $24   : 00000122 87c02090
> [  292.139158] $28   : 87c3c000 87c3dc48 807b0000 801e7f24
> [  292.144371] Hi    : 00000000
> [  292.147237] Lo    : 000c6bf4
> [  292.150109] epc   : 801e7f30 free_block+0x68/0x198
> [  292.154887] ra    : 801e7f24 free_block+0x5c/0x198
> [  292.159660] Status: 10001402 KERNEL EXL
> [  292.163569] Cause : 4080800c (ExcCode 03)
> [  292.167563] BadVA : 00000104
> [  292.170430] PrId  : 00d00100 (Ingenic XBurst)
> [  292.174776] Process kworker/0:0 (pid: 5, threadinfo=50ecb211, 
> task=a81ea849, tls=00000000)
> [  292.183016] Stack : 87c2e020 87c50cd0 8079e358 00000000 87c01000 
> 801e8b14 87c50cd0 87c2e050
> [  292.191353]         87c50cd0 8014930c 87c3dc7c 87c50ca0 807a0000 
> 87c3dc7c 87c3dc7c 018070a3
> [  292.199689]         80790000 86284600 801e8618 00000000 00000100 
> 00000122 00000000 8100219c
> [  292.208025]         fffffffe 801e8544 00000003 00000000 00000000 
> 87c3dce0 808f3bf4 00000000
> [  292.216361]         87c01000 801e8618 87c06300 00000000 00000000 
> 87c3dce0 87c01000 85855a80
> [  292.224697]         ...
> [  292.227132] Call Trace:
> [  292.229569] [<801e7f30>] free_block+0x68/0x198
> [  292.234003] [<801e8b14>] ___cache_free+0x1f8/0x2e8
> [  292.238781] [<801e8544>] kfree+0x48/0x6c
> [  292.242693] [<801e8618>] kmem_freepages+0xb0/0x124
> [  292.247471] [<801e86e0>] slab_destroy+0x48/0x7c
> [  292.251989] [<801e8778>] slabs_destroy+0x64/0x94
> [  292.256593] [<801e8b4c>] ___cache_free+0x230/0x2e8
> [  292.261372] [<801e8544>] kfree+0x48/0x6c
> [  292.265283] [<801e8618>] kmem_freepages+0xb0/0x124
> [  292.270062] [<801e86e0>] slab_destroy+0x48/0x7c
> [  292.274580] [<801e8778>] slabs_destroy+0x64/0x94
> [  292.279185] [<801e8d90>] drain_array.isra.59.constprop.61+0xb4/0xdc
> [  292.285437] [<801e8f84>] cache_reap+0x64/0x120
> [  292.289869] [<80137204>] process_one_work+0x1b8/0x25c
> [  292.294907] [<80137588>] worker_thread+0x294/0x3c4
> [  292.299684] [<8013cfe0>] kthread+0x148/0x150
> [  292.303941] [<8010506c>] ret_from_kernel_thread+0x14/0x1c
> [  292.309324] Code: 8c430008  8c450004  24440004 <aca30004> ac650000 
>  8c430014  ac4f0004  ac580008  8d0a0014
> [  292.319053]
> [  292.320591] ---[ end trace 2a1f2afba7a08ca1 ]---
> [  292.325197] Kernel panic - not syncing: Fatal exception
> [  292.330409] Rebooting in 10 seconds..
> 
> these three kinds of message appear at random. Sometimes they will 
> appear at the beginning of the compilation, and sometimes they will 
> appear after tens of minutes of compilation.
> 
> Thanks and best regards!
> 
> 在 2020/8/12 上午8:14, Paul Cercueil 写道:
>> Hi,
>> 
>> Changes since V1:
>> 
>> - the get_system_type() now will simply return the "system_type"
>>    variable if non-NULL, and the various boards can set this pointer
>>    should they want to set a custom value. The .get_system_type
>>    callback that v1 added to the struct mips_machine is gone.
>> 
>> - the board-ingenic.c has been modified accordingly.
>> 
>> - patch [06/13] is new, it makes sure that the kernel's command line 
>> is
>>    initialized properly and includes the parameters passed by the
>>    bootloader.
>> 
>> - the cu1830-neo board defconfig has now been regenerated in patch
>>    [12/13].
>> 
>> Cheers,
>> -Paul
>> 
>> Paul Cercueil (13):
>>    MIPS: cpu-probe: Set Ingenic's writecombine to _CACHE_CACHABLE_WA
>>    MIPS: cpu-probe: Mark XBurst CPU as having vtagged caches
>>    MIPS: cpu-probe: ingenic: Fix broken BUG_ON
>>    MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol
>>    MIPS: generic: Allow boards to set system type
>>    MIPS: generic: Init command line with fw_init_cmdline()
>>    MIPS: generic: Support booting with built-in or appended DTB
>>    MIPS: generic: Add support for zboot
>>    MIPS: generic: Increase NR_IRQS to 256
>>    MIPS: generic: Add support for Ingenic SoCs
>>    MIPS: jz4740: Drop folder
>>    MIPS: configs: Regenerate configs of Ingenic boards
>>    MAINTAINERS: Update paths to Ingenic platform code
>> 
>>   MAINTAINERS                                   |   4 +-
>>   arch/mips/Kbuild.platforms                    |   1 -
>>   arch/mips/Kconfig                             |  43 ++++--
>>   arch/mips/configs/ci20_defconfig              |   4 +-
>>   arch/mips/configs/cu1000-neo_defconfig        |  16 +-
>>   arch/mips/configs/cu1830-neo_defconfig        |  15 +-
>>   arch/mips/configs/gcw0_defconfig              |   2 +-
>>   arch/mips/configs/qi_lb60_defconfig           |   5 +-
>>   arch/mips/configs/rs90_defconfig              |   4 +-
>>   arch/mips/generic/Kconfig                     |   8 +-
>>   arch/mips/generic/Makefile                    |   1 +
>>   arch/mips/generic/Platform                    |   1 +
>>   arch/mips/generic/board-ingenic.c             | 108 +++++++++++++
>>   arch/mips/generic/init.c                      |  11 +-
>>   arch/mips/generic/proc.c                      |   5 +
>>   arch/mips/include/asm/mach-generic/irq.h      |   2 +-
>>   .../asm/mach-jz4740/cpu-feature-overrides.h   |  50 ------
>>   arch/mips/include/asm/mach-jz4740/irq.h       |  13 --
>>   arch/mips/include/asm/pgtable-bits.h          |   5 -
>>   arch/mips/{jz4740 => ingenic}/Kconfig         |  16 +-
>>   arch/mips/jz4740/Makefile                     |   9 --
>>   arch/mips/jz4740/Platform                     |   3 -
>>   arch/mips/jz4740/setup.c                      | 145 
>> ------------------
>>   arch/mips/kernel/cpu-probe.c                  |   8 +-
>>   24 files changed, 186 insertions(+), 293 deletions(-)
>>   create mode 100644 arch/mips/generic/board-ingenic.c
>>   delete mode 100644 
>> arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
>>   delete mode 100644 arch/mips/include/asm/mach-jz4740/irq.h
>>   rename arch/mips/{jz4740 => ingenic}/Kconfig (91%)
>>   delete mode 100644 arch/mips/jz4740/Makefile
>>   delete mode 100644 arch/mips/jz4740/Platform
>>   delete mode 100644 arch/mips/jz4740/setup.c
>>
Paul Cercueil Aug. 19, 2020, 3:52 p.m. UTC | #3
Le mer. 19 août 2020 à 17:35, Paul Cercueil <paul@crapouillou.net> a 
écrit :
> Hi Zhou,
> 
> Le mer. 19 août 2020 à 22:12, Zhou Yanjie 
> <zhouyanjie@wanyeetech.com> a écrit :
>> Hi Paul,
>> 
>> I have some good news and some bad news.
>> 
>> Good news is:
>> 
>> I tested this series of patches on CU1000-Neo & CU1830-Neo, and it 
>> can boot normally and log in to  debian normally.
>> 
>> Bad news is:
>> 
>> 1. Because we dropped arch/mips/jz4740/setup.c, so it did not return 
>> MACH_INGENIC_XXXX correctly, which caused the correction of the L2 
>> cache probe in arch/mips/mm/sc-mips.c to fail, causing JZ4770/X1000 
>> to detect the L2 cache capacity incorrect.
> 
> It's properly detected here on JZ4770. The detection code was just 
> moved to arch/mips/generic/board-ingenic.c.
> 
>> 2. When I did some heavy work (compiled docker source code after 
>> logging in with ssh), the following message appeared:
> 
> Chances are that these messages are related. Stuff like that tends to 
> appear in -rc1 and get fixed afterwards.

I meant are *NOT* related :)

-Paul

> 
> Cheers,
> -Paul
> 
>> message1:
>> 
>> [ 4694.290776] warn_alloc: 25 callbacks suppressed
>> [ 4694.290791] containerd-shim: page allocation failure: order:4, 
>> mode:0x40cc0(GFP_KERNEL|__GFP_COMP), nodemask=(null)
>> [ 4694.315266] CPU: 0 PID: 19817 Comm: containerd-shim Not tainted 
>> 5.8.0-00013-g192f2fd7b678 #15
>> [ 4694.317993] Stack : 80ae0000 80a50000 80860000 809b8fb0 809e4a30 
>> 850dfcb4 00000000 ffffffff
>> [ 4694.320818]         80a50000 80a576c7 809c4374 00004d69 80ad348c 
>> 00000001 850dfc58 7750292a
>> [ 4694.322695]         00000000 00000000 809c4374 ffff00fe 850dffe0 
>> 00001400 00000199 00000000
>> [ 4694.325083]         ffffffff 866f7600 80a50000 878bd778 80a50000 
>> 80000000 809c2b50 00000000
>> [ 4694.326957]         00040cc0 00000000 000001d2 00000000 80a53220 
>> 7750292a 0000a098 80ad0000
>> [ 4694.327750]         ...
>> [ 4694.340943] Call Trace:
>> [ 4694.341181] [<8001ae08>] show_stack+0x6c/0x12c
>> [ 4694.355233] [<800f64b0>] warn_alloc+0xa8/0x130
>> [ 4694.361283] [<800f6dfc>] __alloc_pages_nodemask+0x8a4/0x8d8
>> [ 4694.362839] [<80103110>] ____cache_alloc+0x324/0x8fc
>> [ 4694.367439] [<801038e4>] __kmalloc+0x78/0xd8
>> [ 4694.376798] [<80195b28>] proc_sys_call_handler+0xf4/0x1d8
>> [ 4694.377229] [<80195c44>] proc_sys_read+0x14/0x20
>> [ 4694.384090] [<80116274>] vfs_read+0xac/0x108
>> [ 4694.385654] [<801165d4>] ksys_read+0x80/0xe0
>> [ 4694.395277] [<8001ec8c>] syscall_common+0x34/0x58
>> [ 4694.394544] Mem-Info:
>> [ 4694.396828] active_anon:661 inactive_anon:942 isolated_anon:0
>> [ 4694.396828]  active_file:10515 inactive_file:9667 isolated_file:0
>> [ 4694.396828]  unevictable:0 dirty:2003 writeback:0
>> [ 4694.396828]  slab_reclaimable:1609 slab_unreclaimable:3103
>> [ 4694.396828]  mapped:2182 shmem:156 pagetables:207 bounce:0
>> [ 4694.396828]  free:1635 free_pcp:7 free_cma:0
>> [ 4694.405770] Node 0 active_anon:2644kB inactive_anon:3768kB 
>> active_file:42060kB inactive_file:38668kB unevictable:0kB 
>> isolated(anon):0kB isolated(file):0kB mapped:8728kB dirty:8048kB 
>> writeback:0kB shmem:624kB writeback_tmp:0kB all_unreclaimable? no
>> [ 4694.408349] Normal free:6484kB min:1376kB low:1720kB high:2064kB 
>> reserved_highatomic:0KB active_anon:2644kB inactive_anon:3768kB 
>> active_file:42064kB inactive_file:38724kB unevictable:0kB 
>> writepending:8060kB present:131072kB managed:118804kB mlocked:0kB 
>> kernel_stack:584kB pagetables:828kB bounce:0kB free_pcp:32kB 
>> local_pcp:32kB free_cma:0kB
>> [ 4694.409607] lowmem_reserve[]: 0 0 0
>> [ 4694.410382] Normal: 117*4kB (UM) 406*8kB (UM) 149*16kB (UME) 
>> 12*32kB (UME) 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 
>> 0*4096kB = 6484kB
>> [ 4694.418673] 20618 total pagecache pages
>> [ 4694.423125] 226 pages in swap cache
>> [ 4694.423912] Swap cache stats: add 535090, delete 534864, find 
>> 234586/366812
>> [ 4694.431304] Free swap  = 774396kB
>> [ 4694.431900] Total swap = 786428kB
>> [ 4694.432480] 32768 pages RAM
>> [ 4694.432537] 0 pages HighMem/MovableOnly
>> [ 4694.441338] 3067 pages reserved
>> [ 4694.441770] 0 pages cma reserved
>> 
>> ---------------------------------------------------------
>> 
>> message2:
>> 
>> [ 4426.473667] warn_alloc: 27 callbacks suppressed
>> [ 4426.473681] kswapd0: page allocation failure: order:0, 
>> mode:0xa20(GFP_ATOMIC), nodemask=(null)
>> [ 4426.475946] CPU: 0 PID: 439 Comm: kswapd0 Not tainted 
>> 5.8.0-00013-g192f2fd7b678 #15
>> [ 4426.478136] Stack : 80ae0000 80a50000 80860000 809b8fb0 809e4a30 
>> 87c0dccc 00000000 ffffffff
>> [ 4426.478301]         80a50000 80a576c7 809c4374 000001b7 80ad348c 
>> 00000001 87c0dc70 b7c290ba
>> [ 4426.478464]         00000000 00000000 809c4374 00000000 0000000f 
>> 00000000 0000019f 00000000
>> [ 4426.478626]         bff4ffd7 1c5e5f3c 80ae0000 31672d33 80a50000 
>> 00000000 809c2b50 00000000
>> [ 4426.478787]         00000a20 00000000 00000000 00000000 00000002 
>> 804d392c 00000000 80ad0000
>> [ 4426.478940]         ...
>> [ 4426.481390] Call Trace:
>> [ 4426.483842] [<8001ae08>] show_stack+0x6c/0x12c
>> [ 4426.485555] [<800f64b0>] warn_alloc+0xa8/0x130
>> [ 4426.487275] [<800f6dfc>] __alloc_pages_nodemask+0x8a4/0x8d8
>> [ 4426.487382] [<800f6f80>] page_frag_alloc+0x74/0x144
>> [ 4426.489534] [<805fc1a4>] __napi_alloc_skb+0x88/0x118
>> [ 4426.491769] [<8052ed8c>] stmmac_napi_poll_rx+0x434/0xa94
>> [ 4426.494354] [<80613eb0>] net_rx_action+0x11c/0x310
>> [ 4426.496414] [<807ecd0c>] __do_softirq+0x10c/0x258
>> [ 4426.498395] [<800320c0>] __irq_exit_rcu+0x68/0xbc
>> [ 4426.500365] [<80032324>] irq_exit+0x10/0x1c
>> [ 4426.501844] [<804876b4>] plat_irq_dispatch+0x8c/0xb8
>> [ 4426.504076] [<800154f8>] handle_int+0x138/0x144
>> [ 4426.505883] [<8005280c>] arch_local_irq_enable+0x4/0xc
>> [ 4426.508289] Mem-Info:
>> [ 4426.510576] active_anon:770 inactive_anon:1763 isolated_anon:0
>> [ 4426.510576]  active_file:5581 inactive_file:15166 isolated_file:0
>> [ 4426.510576]  unevictable:0 dirty:1262 writeback:880
>> [ 4426.510576]  slab_reclaimable:1187 slab_unreclaimable:3016
>> [ 4426.510576]  mapped:3478 shmem:315 pagetables:186 bounce:0
>> [ 4426.510576]  free:453 free_pcp:16 free_cma:0
>> [ 4426.512469] Node 0 active_anon:3080kB inactive_anon:7052kB 
>> active_file:22324kB inactive_file:60664kB unevictable:0kB 
>> isolated(anon):0kB isolated(file):0kB mapped:13912kB dirty:5048kB 
>> writeback:3520kB shmem:1260kB writeback_tmp:0kB all_unreclaimable? 
>> no
>> [ 4426.512938] Normal free:1812kB min:5472kB low:5816kB high:6160kB 
>> reserved_highatomic:0KB active_anon:3080kB inactive_anon:7052kB 
>> active_file:22324kB inactive_file:60664kB unevictable:0kB 
>> writepending:8568kB present:131072kB managed:118804kB mlocked:0kB 
>> kernel_stack:544kB pagetables:744kB bounce:0kB free_pcp:64kB 
>> local_pcp:64kB free_cma:0kB
>> [ 4426.515643] lowmem_reserve[]: 0 0 0
>> [ 4426.516400] Normal: 11*4kB (U) 59*8kB (UE) 75*16kB (U) 3*32kB (U) 
>> 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1812kB
>> [ 4426.517399] 21378 total pagecache pages
>> [ 4426.518507] 306 pages in swap cache
>> [ 4426.519259] Swap cache stats: add 533859, delete 533553, find 
>> 134676/266712
>> [ 4426.520752] Free swap  = 777212kB
>> [ 4426.521331] Total swap = 786428kB
>> [ 4426.521911] 32768 pages RAM
>> [ 4426.521973] 0 pages HighMem/MovableOnly
>> [ 4426.523072] 3067 pages reserved
>> [ 4426.523474] 0 pages cma reserved
>> 
>> ---------------------------------------------------------
>> 
>> message3:
>> 
>> [  292.077309] CPU 0 Unable to handle kernel paging request at 
>> virtual address 00000104, epc == 801e7f30, ra == 801e7f24
>> [  292.087904] Oops[#1]:
>> [  292.090169] CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 
>> 5.9.0-rc1-00016-g8d1e63c37d0d-dirty #1
>> [  292.098768] Workqueue: events cache_reap
>> [  292.102675] $ 0   : 00000000 00000001 808f3bf4 00000122
>> [  292.107887] $ 4   : 808f3bf8 00000100 0000003c 87c02080
>> [  292.113099] $ 8   : 87c01000 8581e301 00000001 00000000
>> [  292.118311] $12   : 87c3dc7c 0000000a 810021c4 00000100
>> [  292.123523] $16   : 85855600 8100218c 86284600 80790000
>> [  292.128735] $20   : 0000003c 00000000 8100219c fffffffe
>> [  292.133946] $24   : 00000122 87c02090
>> [  292.139158] $28   : 87c3c000 87c3dc48 807b0000 801e7f24
>> [  292.144371] Hi    : 00000000
>> [  292.147237] Lo    : 000c6bf4
>> [  292.150109] epc   : 801e7f30 free_block+0x68/0x198
>> [  292.154887] ra    : 801e7f24 free_block+0x5c/0x198
>> [  292.159660] Status: 10001402 KERNEL EXL
>> [  292.163569] Cause : 4080800c (ExcCode 03)
>> [  292.167563] BadVA : 00000104
>> [  292.170430] PrId  : 00d00100 (Ingenic XBurst)
>> [  292.174776] Process kworker/0:0 (pid: 5, threadinfo=50ecb211, 
>> task=a81ea849, tls=00000000)
>> [  292.183016] Stack : 87c2e020 87c50cd0 8079e358 00000000 87c01000 
>> 801e8b14 87c50cd0 87c2e050
>> [  292.191353]         87c50cd0 8014930c 87c3dc7c 87c50ca0 807a0000 
>> 87c3dc7c 87c3dc7c 018070a3
>> [  292.199689]         80790000 86284600 801e8618 00000000 00000100 
>> 00000122 00000000 8100219c
>> [  292.208025]         fffffffe 801e8544 00000003 00000000 00000000 
>> 87c3dce0 808f3bf4 00000000
>> [  292.216361]         87c01000 801e8618 87c06300 00000000 00000000 
>> 87c3dce0 87c01000 85855a80
>> [  292.224697]         ...
>> [  292.227132] Call Trace:
>> [  292.229569] [<801e7f30>] free_block+0x68/0x198
>> [  292.234003] [<801e8b14>] ___cache_free+0x1f8/0x2e8
>> [  292.238781] [<801e8544>] kfree+0x48/0x6c
>> [  292.242693] [<801e8618>] kmem_freepages+0xb0/0x124
>> [  292.247471] [<801e86e0>] slab_destroy+0x48/0x7c
>> [  292.251989] [<801e8778>] slabs_destroy+0x64/0x94
>> [  292.256593] [<801e8b4c>] ___cache_free+0x230/0x2e8
>> [  292.261372] [<801e8544>] kfree+0x48/0x6c
>> [  292.265283] [<801e8618>] kmem_freepages+0xb0/0x124
>> [  292.270062] [<801e86e0>] slab_destroy+0x48/0x7c
>> [  292.274580] [<801e8778>] slabs_destroy+0x64/0x94
>> [  292.279185] [<801e8d90>] 
>> drain_array.isra.59.constprop.61+0xb4/0xdc
>> [  292.285437] [<801e8f84>] cache_reap+0x64/0x120
>> [  292.289869] [<80137204>] process_one_work+0x1b8/0x25c
>> [  292.294907] [<80137588>] worker_thread+0x294/0x3c4
>> [  292.299684] [<8013cfe0>] kthread+0x148/0x150
>> [  292.303941] [<8010506c>] ret_from_kernel_thread+0x14/0x1c
>> [  292.309324] Code: 8c430008  8c450004  24440004 <aca30004> 
>> ac650000  8c430014  ac4f0004  ac580008  8d0a0014
>> [  292.319053]
>> [  292.320591] ---[ end trace 2a1f2afba7a08ca1 ]---
>> [  292.325197] Kernel panic - not syncing: Fatal exception
>> [  292.330409] Rebooting in 10 seconds..
>> 
>> these three kinds of message appear at random. Sometimes they will 
>> appear at the beginning of the compilation, and sometimes they will 
>> appear after tens of minutes of compilation.
>> 
>> Thanks and best regards!
>> 
>> 在 2020/8/12 上午8:14, Paul Cercueil 写道:
>>> Hi,
>>> 
>>> Changes since V1:
>>> 
>>> - the get_system_type() now will simply return the "system_type"
>>>    variable if non-NULL, and the various boards can set this pointer
>>>    should they want to set a custom value. The .get_system_type
>>>    callback that v1 added to the struct mips_machine is gone.
>>> 
>>> - the board-ingenic.c has been modified accordingly.
>>> 
>>> - patch [06/13] is new, it makes sure that the kernel's command 
>>> line is
>>>    initialized properly and includes the parameters passed by the
>>>    bootloader.
>>> 
>>> - the cu1830-neo board defconfig has now been regenerated in patch
>>>    [12/13].
>>> 
>>> Cheers,
>>> -Paul
>>> 
>>> Paul Cercueil (13):
>>>    MIPS: cpu-probe: Set Ingenic's writecombine to _CACHE_CACHABLE_WA
>>>    MIPS: cpu-probe: Mark XBurst CPU as having vtagged caches
>>>    MIPS: cpu-probe: ingenic: Fix broken BUG_ON
>>>    MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol
>>>    MIPS: generic: Allow boards to set system type
>>>    MIPS: generic: Init command line with fw_init_cmdline()
>>>    MIPS: generic: Support booting with built-in or appended DTB
>>>    MIPS: generic: Add support for zboot
>>>    MIPS: generic: Increase NR_IRQS to 256
>>>    MIPS: generic: Add support for Ingenic SoCs
>>>    MIPS: jz4740: Drop folder
>>>    MIPS: configs: Regenerate configs of Ingenic boards
>>>    MAINTAINERS: Update paths to Ingenic platform code
>>> 
>>>   MAINTAINERS                                   |   4 +-
>>>   arch/mips/Kbuild.platforms                    |   1 -
>>>   arch/mips/Kconfig                             |  43 ++++--
>>>   arch/mips/configs/ci20_defconfig              |   4 +-
>>>   arch/mips/configs/cu1000-neo_defconfig        |  16 +-
>>>   arch/mips/configs/cu1830-neo_defconfig        |  15 +-
>>>   arch/mips/configs/gcw0_defconfig              |   2 +-
>>>   arch/mips/configs/qi_lb60_defconfig           |   5 +-
>>>   arch/mips/configs/rs90_defconfig              |   4 +-
>>>   arch/mips/generic/Kconfig                     |   8 +-
>>>   arch/mips/generic/Makefile                    |   1 +
>>>   arch/mips/generic/Platform                    |   1 +
>>>   arch/mips/generic/board-ingenic.c             | 108 +++++++++++++
>>>   arch/mips/generic/init.c                      |  11 +-
>>>   arch/mips/generic/proc.c                      |   5 +
>>>   arch/mips/include/asm/mach-generic/irq.h      |   2 +-
>>>   .../asm/mach-jz4740/cpu-feature-overrides.h   |  50 ------
>>>   arch/mips/include/asm/mach-jz4740/irq.h       |  13 --
>>>   arch/mips/include/asm/pgtable-bits.h          |   5 -
>>>   arch/mips/{jz4740 => ingenic}/Kconfig         |  16 +-
>>>   arch/mips/jz4740/Makefile                     |   9 --
>>>   arch/mips/jz4740/Platform                     |   3 -
>>>   arch/mips/jz4740/setup.c                      | 145 
>>> ------------------
>>>   arch/mips/kernel/cpu-probe.c                  |   8 +-
>>>   24 files changed, 186 insertions(+), 293 deletions(-)
>>>   create mode 100644 arch/mips/generic/board-ingenic.c
>>>   delete mode 100644 
>>> arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
>>>   delete mode 100644 arch/mips/include/asm/mach-jz4740/irq.h
>>>   rename arch/mips/{jz4740 => ingenic}/Kconfig (91%)
>>>   delete mode 100644 arch/mips/jz4740/Makefile
>>>   delete mode 100644 arch/mips/jz4740/Platform
>>>   delete mode 100644 arch/mips/jz4740/setup.c
>>> 
>
Zhou Yanjie Aug. 22, 2020, 5:28 p.m. UTC | #4
在 2020/8/19 下午11:35, Paul Cercueil 写道:
> Hi Zhou,
>
> Le mer. 19 août 2020 à 22:12, Zhou Yanjie <zhouyanjie@wanyeetech.com> 
> a écrit :
>> Hi Paul,
>>
>> I have some good news and some bad news.
>>
>> Good news is:
>>
>> I tested this series of patches on CU1000-Neo & CU1830-Neo, and it 
>> can boot normally and log in to  debian normally.
>>
>> Bad news is:
>>
>> 1. Because we dropped arch/mips/jz4740/setup.c, so it did not return 
>> MACH_INGENIC_XXXX correctly, which caused the correction of the L2 
>> cache probe in arch/mips/mm/sc-mips.c to fail, causing JZ4770/X1000 
>> to detect the L2 cache capacity incorrect.
>
> It's properly detected here on JZ4770. The detection code was just 
> moved to arch/mips/generic/board-ingenic.c.
>
>> 2. When I did some heavy work (compiled docker source code after 
>> logging in with ssh), the following message appeared:
>
> Chances are that these messages are related. Stuff like that tends to 
> appear in -rc1 and get fixed afterwards.

OK, I will wait for -rc2 and try again.

Thanks and best regards!

>
> Cheers,
> -Paul
>
>> message1:
>>
>> [ 4694.290776] warn_alloc: 25 callbacks suppressed
>> [ 4694.290791] containerd-shim: page allocation failure: order:4, 
>> mode:0x40cc0(GFP_KERNEL|__GFP_COMP), nodemask=(null)
>> [ 4694.315266] CPU: 0 PID: 19817 Comm: containerd-shim Not tainted 
>> 5.8.0-00013-g192f2fd7b678 #15
>> [ 4694.317993] Stack : 80ae0000 80a50000 80860000 809b8fb0 809e4a30 
>> 850dfcb4 00000000 ffffffff
>> [ 4694.320818]         80a50000 80a576c7 809c4374 00004d69 80ad348c 
>> 00000001 850dfc58 7750292a
>> [ 4694.322695]         00000000 00000000 809c4374 ffff00fe 850dffe0 
>> 00001400 00000199 00000000
>> [ 4694.325083]         ffffffff 866f7600 80a50000 878bd778 80a50000 
>> 80000000 809c2b50 00000000
>> [ 4694.326957]         00040cc0 00000000 000001d2 00000000 80a53220 
>> 7750292a 0000a098 80ad0000
>> [ 4694.327750]         ...
>> [ 4694.340943] Call Trace:
>> [ 4694.341181] [<8001ae08>] show_stack+0x6c/0x12c
>> [ 4694.355233] [<800f64b0>] warn_alloc+0xa8/0x130
>> [ 4694.361283] [<800f6dfc>] __alloc_pages_nodemask+0x8a4/0x8d8
>> [ 4694.362839] [<80103110>] ____cache_alloc+0x324/0x8fc
>> [ 4694.367439] [<801038e4>] __kmalloc+0x78/0xd8
>> [ 4694.376798] [<80195b28>] proc_sys_call_handler+0xf4/0x1d8
>> [ 4694.377229] [<80195c44>] proc_sys_read+0x14/0x20
>> [ 4694.384090] [<80116274>] vfs_read+0xac/0x108
>> [ 4694.385654] [<801165d4>] ksys_read+0x80/0xe0
>> [ 4694.395277] [<8001ec8c>] syscall_common+0x34/0x58
>> [ 4694.394544] Mem-Info:
>> [ 4694.396828] active_anon:661 inactive_anon:942 isolated_anon:0
>> [ 4694.396828]  active_file:10515 inactive_file:9667 isolated_file:0
>> [ 4694.396828]  unevictable:0 dirty:2003 writeback:0
>> [ 4694.396828]  slab_reclaimable:1609 slab_unreclaimable:3103
>> [ 4694.396828]  mapped:2182 shmem:156 pagetables:207 bounce:0
>> [ 4694.396828]  free:1635 free_pcp:7 free_cma:0
>> [ 4694.405770] Node 0 active_anon:2644kB inactive_anon:3768kB 
>> active_file:42060kB inactive_file:38668kB unevictable:0kB 
>> isolated(anon):0kB isolated(file):0kB mapped:8728kB dirty:8048kB 
>> writeback:0kB shmem:624kB writeback_tmp:0kB all_unreclaimable? no
>> [ 4694.408349] Normal free:6484kB min:1376kB low:1720kB high:2064kB 
>> reserved_highatomic:0KB active_anon:2644kB inactive_anon:3768kB 
>> active_file:42064kB inactive_file:38724kB unevictable:0kB 
>> writepending:8060kB present:131072kB managed:118804kB mlocked:0kB 
>> kernel_stack:584kB pagetables:828kB bounce:0kB free_pcp:32kB 
>> local_pcp:32kB free_cma:0kB
>> [ 4694.409607] lowmem_reserve[]: 0 0 0
>> [ 4694.410382] Normal: 117*4kB (UM) 406*8kB (UM) 149*16kB (UME) 
>> 12*32kB (UME) 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 
>> 0*4096kB = 6484kB
>> [ 4694.418673] 20618 total pagecache pages
>> [ 4694.423125] 226 pages in swap cache
>> [ 4694.423912] Swap cache stats: add 535090, delete 534864, find 
>> 234586/366812
>> [ 4694.431304] Free swap  = 774396kB
>> [ 4694.431900] Total swap = 786428kB
>> [ 4694.432480] 32768 pages RAM
>> [ 4694.432537] 0 pages HighMem/MovableOnly
>> [ 4694.441338] 3067 pages reserved
>> [ 4694.441770] 0 pages cma reserved
>>
>> ---------------------------------------------------------
>>
>> message2:
>>
>> [ 4426.473667] warn_alloc: 27 callbacks suppressed
>> [ 4426.473681] kswapd0: page allocation failure: order:0, 
>> mode:0xa20(GFP_ATOMIC), nodemask=(null)
>> [ 4426.475946] CPU: 0 PID: 439 Comm: kswapd0 Not tainted 
>> 5.8.0-00013-g192f2fd7b678 #15
>> [ 4426.478136] Stack : 80ae0000 80a50000 80860000 809b8fb0 809e4a30 
>> 87c0dccc 00000000 ffffffff
>> [ 4426.478301]         80a50000 80a576c7 809c4374 000001b7 80ad348c 
>> 00000001 87c0dc70 b7c290ba
>> [ 4426.478464]         00000000 00000000 809c4374 00000000 0000000f 
>> 00000000 0000019f 00000000
>> [ 4426.478626]         bff4ffd7 1c5e5f3c 80ae0000 31672d33 80a50000 
>> 00000000 809c2b50 00000000
>> [ 4426.478787]         00000a20 00000000 00000000 00000000 00000002 
>> 804d392c 00000000 80ad0000
>> [ 4426.478940]         ...
>> [ 4426.481390] Call Trace:
>> [ 4426.483842] [<8001ae08>] show_stack+0x6c/0x12c
>> [ 4426.485555] [<800f64b0>] warn_alloc+0xa8/0x130
>> [ 4426.487275] [<800f6dfc>] __alloc_pages_nodemask+0x8a4/0x8d8
>> [ 4426.487382] [<800f6f80>] page_frag_alloc+0x74/0x144
>> [ 4426.489534] [<805fc1a4>] __napi_alloc_skb+0x88/0x118
>> [ 4426.491769] [<8052ed8c>] stmmac_napi_poll_rx+0x434/0xa94
>> [ 4426.494354] [<80613eb0>] net_rx_action+0x11c/0x310
>> [ 4426.496414] [<807ecd0c>] __do_softirq+0x10c/0x258
>> [ 4426.498395] [<800320c0>] __irq_exit_rcu+0x68/0xbc
>> [ 4426.500365] [<80032324>] irq_exit+0x10/0x1c
>> [ 4426.501844] [<804876b4>] plat_irq_dispatch+0x8c/0xb8
>> [ 4426.504076] [<800154f8>] handle_int+0x138/0x144
>> [ 4426.505883] [<8005280c>] arch_local_irq_enable+0x4/0xc
>> [ 4426.508289] Mem-Info:
>> [ 4426.510576] active_anon:770 inactive_anon:1763 isolated_anon:0
>> [ 4426.510576]  active_file:5581 inactive_file:15166 isolated_file:0
>> [ 4426.510576]  unevictable:0 dirty:1262 writeback:880
>> [ 4426.510576]  slab_reclaimable:1187 slab_unreclaimable:3016
>> [ 4426.510576]  mapped:3478 shmem:315 pagetables:186 bounce:0
>> [ 4426.510576]  free:453 free_pcp:16 free_cma:0
>> [ 4426.512469] Node 0 active_anon:3080kB inactive_anon:7052kB 
>> active_file:22324kB inactive_file:60664kB unevictable:0kB 
>> isolated(anon):0kB isolated(file):0kB mapped:13912kB dirty:5048kB 
>> writeback:3520kB shmem:1260kB writeback_tmp:0kB all_unreclaimable? no
>> [ 4426.512938] Normal free:1812kB min:5472kB low:5816kB high:6160kB 
>> reserved_highatomic:0KB active_anon:3080kB inactive_anon:7052kB 
>> active_file:22324kB inactive_file:60664kB unevictable:0kB 
>> writepending:8568kB present:131072kB managed:118804kB mlocked:0kB 
>> kernel_stack:544kB pagetables:744kB bounce:0kB free_pcp:64kB 
>> local_pcp:64kB free_cma:0kB
>> [ 4426.515643] lowmem_reserve[]: 0 0 0
>> [ 4426.516400] Normal: 11*4kB (U) 59*8kB (UE) 75*16kB (U) 3*32kB (U) 
>> 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1812kB
>> [ 4426.517399] 21378 total pagecache pages
>> [ 4426.518507] 306 pages in swap cache
>> [ 4426.519259] Swap cache stats: add 533859, delete 533553, find 
>> 134676/266712
>> [ 4426.520752] Free swap  = 777212kB
>> [ 4426.521331] Total swap = 786428kB
>> [ 4426.521911] 32768 pages RAM
>> [ 4426.521973] 0 pages HighMem/MovableOnly
>> [ 4426.523072] 3067 pages reserved
>> [ 4426.523474] 0 pages cma reserved
>>
>> ---------------------------------------------------------
>>
>> message3:
>>
>> [  292.077309] CPU 0 Unable to handle kernel paging request at 
>> virtual address 00000104, epc == 801e7f30, ra == 801e7f24
>> [  292.087904] Oops[#1]:
>> [  292.090169] CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 
>> 5.9.0-rc1-00016-g8d1e63c37d0d-dirty #1
>> [  292.098768] Workqueue: events cache_reap
>> [  292.102675] $ 0   : 00000000 00000001 808f3bf4 00000122
>> [  292.107887] $ 4   : 808f3bf8 00000100 0000003c 87c02080
>> [  292.113099] $ 8   : 87c01000 8581e301 00000001 00000000
>> [  292.118311] $12   : 87c3dc7c 0000000a 810021c4 00000100
>> [  292.123523] $16   : 85855600 8100218c 86284600 80790000
>> [  292.128735] $20   : 0000003c 00000000 8100219c fffffffe
>> [  292.133946] $24   : 00000122 87c02090
>> [  292.139158] $28   : 87c3c000 87c3dc48 807b0000 801e7f24
>> [  292.144371] Hi    : 00000000
>> [  292.147237] Lo    : 000c6bf4
>> [  292.150109] epc   : 801e7f30 free_block+0x68/0x198
>> [  292.154887] ra    : 801e7f24 free_block+0x5c/0x198
>> [  292.159660] Status: 10001402 KERNEL EXL
>> [  292.163569] Cause : 4080800c (ExcCode 03)
>> [  292.167563] BadVA : 00000104
>> [  292.170430] PrId  : 00d00100 (Ingenic XBurst)
>> [  292.174776] Process kworker/0:0 (pid: 5, threadinfo=50ecb211, 
>> task=a81ea849, tls=00000000)
>> [  292.183016] Stack : 87c2e020 87c50cd0 8079e358 00000000 87c01000 
>> 801e8b14 87c50cd0 87c2e050
>> [  292.191353]         87c50cd0 8014930c 87c3dc7c 87c50ca0 807a0000 
>> 87c3dc7c 87c3dc7c 018070a3
>> [  292.199689]         80790000 86284600 801e8618 00000000 00000100 
>> 00000122 00000000 8100219c
>> [  292.208025]         fffffffe 801e8544 00000003 00000000 00000000 
>> 87c3dce0 808f3bf4 00000000
>> [  292.216361]         87c01000 801e8618 87c06300 00000000 00000000 
>> 87c3dce0 87c01000 85855a80
>> [  292.224697]         ...
>> [  292.227132] Call Trace:
>> [  292.229569] [<801e7f30>] free_block+0x68/0x198
>> [  292.234003] [<801e8b14>] ___cache_free+0x1f8/0x2e8
>> [  292.238781] [<801e8544>] kfree+0x48/0x6c
>> [  292.242693] [<801e8618>] kmem_freepages+0xb0/0x124
>> [  292.247471] [<801e86e0>] slab_destroy+0x48/0x7c
>> [  292.251989] [<801e8778>] slabs_destroy+0x64/0x94
>> [  292.256593] [<801e8b4c>] ___cache_free+0x230/0x2e8
>> [  292.261372] [<801e8544>] kfree+0x48/0x6c
>> [  292.265283] [<801e8618>] kmem_freepages+0xb0/0x124
>> [  292.270062] [<801e86e0>] slab_destroy+0x48/0x7c
>> [  292.274580] [<801e8778>] slabs_destroy+0x64/0x94
>> [  292.279185] [<801e8d90>] drain_array.isra.59.constprop.61+0xb4/0xdc
>> [  292.285437] [<801e8f84>] cache_reap+0x64/0x120
>> [  292.289869] [<80137204>] process_one_work+0x1b8/0x25c
>> [  292.294907] [<80137588>] worker_thread+0x294/0x3c4
>> [  292.299684] [<8013cfe0>] kthread+0x148/0x150
>> [  292.303941] [<8010506c>] ret_from_kernel_thread+0x14/0x1c
>> [  292.309324] Code: 8c430008  8c450004  24440004 <aca30004> ac650000 
>>  8c430014  ac4f0004  ac580008 8d0a0014
>> [  292.319053]
>> [  292.320591] ---[ end trace 2a1f2afba7a08ca1 ]---
>> [  292.325197] Kernel panic - not syncing: Fatal exception
>> [  292.330409] Rebooting in 10 seconds..
>>
>> these three kinds of message appear at random. Sometimes they will 
>> appear at the beginning of the compilation, and sometimes they will 
>> appear after tens of minutes of compilation.
>>
>> Thanks and best regards!
>>
>> 在 2020/8/12 上午8:14, Paul Cercueil 写道:
>>> Hi,
>>>
>>> Changes since V1:
>>>
>>> - the get_system_type() now will simply return the "system_type"
>>>    variable if non-NULL, and the various boards can set this pointer
>>>    should they want to set a custom value. The .get_system_type
>>>    callback that v1 added to the struct mips_machine is gone.
>>>
>>> - the board-ingenic.c has been modified accordingly.
>>>
>>> - patch [06/13] is new, it makes sure that the kernel's command line is
>>>    initialized properly and includes the parameters passed by the
>>>    bootloader.
>>>
>>> - the cu1830-neo board defconfig has now been regenerated in patch
>>>    [12/13].
>>>
>>> Cheers,
>>> -Paul
>>>
>>> Paul Cercueil (13):
>>>    MIPS: cpu-probe: Set Ingenic's writecombine to _CACHE_CACHABLE_WA
>>>    MIPS: cpu-probe: Mark XBurst CPU as having vtagged caches
>>>    MIPS: cpu-probe: ingenic: Fix broken BUG_ON
>>>    MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol
>>>    MIPS: generic: Allow boards to set system type
>>>    MIPS: generic: Init command line with fw_init_cmdline()
>>>    MIPS: generic: Support booting with built-in or appended DTB
>>>    MIPS: generic: Add support for zboot
>>>    MIPS: generic: Increase NR_IRQS to 256
>>>    MIPS: generic: Add support for Ingenic SoCs
>>>    MIPS: jz4740: Drop folder
>>>    MIPS: configs: Regenerate configs of Ingenic boards
>>>    MAINTAINERS: Update paths to Ingenic platform code
>>>
>>>   MAINTAINERS                                   |   4 +-
>>>   arch/mips/Kbuild.platforms                    |   1 -
>>>   arch/mips/Kconfig                             |  43 ++++--
>>>   arch/mips/configs/ci20_defconfig              |   4 +-
>>>   arch/mips/configs/cu1000-neo_defconfig        |  16 +-
>>>   arch/mips/configs/cu1830-neo_defconfig        |  15 +-
>>>   arch/mips/configs/gcw0_defconfig              |   2 +-
>>>   arch/mips/configs/qi_lb60_defconfig           |   5 +-
>>>   arch/mips/configs/rs90_defconfig              |   4 +-
>>>   arch/mips/generic/Kconfig                     |   8 +-
>>>   arch/mips/generic/Makefile                    |   1 +
>>>   arch/mips/generic/Platform                    |   1 +
>>>   arch/mips/generic/board-ingenic.c             | 108 +++++++++++++
>>>   arch/mips/generic/init.c                      |  11 +-
>>>   arch/mips/generic/proc.c                      |   5 +
>>>   arch/mips/include/asm/mach-generic/irq.h      |   2 +-
>>>   .../asm/mach-jz4740/cpu-feature-overrides.h   |  50 ------
>>>   arch/mips/include/asm/mach-jz4740/irq.h       |  13 --
>>>   arch/mips/include/asm/pgtable-bits.h          |   5 -
>>>   arch/mips/{jz4740 => ingenic}/Kconfig         |  16 +-
>>>   arch/mips/jz4740/Makefile                     |   9 --
>>>   arch/mips/jz4740/Platform                     |   3 -
>>>   arch/mips/jz4740/setup.c                      | 145 
>>> ------------------
>>>   arch/mips/kernel/cpu-probe.c                  |   8 +-
>>>   24 files changed, 186 insertions(+), 293 deletions(-)
>>>   create mode 100644 arch/mips/generic/board-ingenic.c
>>>   delete mode 100644 
>>> arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
>>>   delete mode 100644 arch/mips/include/asm/mach-jz4740/irq.h
>>>   rename arch/mips/{jz4740 => ingenic}/Kconfig (91%)
>>>   delete mode 100644 arch/mips/jz4740/Makefile
>>>   delete mode 100644 arch/mips/jz4740/Platform
>>>   delete mode 100644 arch/mips/jz4740/setup.c
>>>
>