On Sat, 5 Mar 2022, Mike Rapoport wrote: > > There's nothing to implement as the MIPS port has supported arbitrary > > memory maps since Dec 11th, 2000; that's almost 22 years now. C.f.: > > <https://lore.kernel.org/linux-mips/Pine.GSO.3.96.1000814133957.7256S-100000@xxxxxxxxxxxxxxxxxxx/>, > > <https://git.kernel.org/pub/scm/linux/kernel/git/ralf/linux.git/commit/?id=97b7ae4257ef>. > > You are right, and providing mem=X@Y for each contiguous memory range > should work even after 22 years. > I missed the fact that mem= can be repeated several times. Yep, I have now finally tracked down the original bootstrap log for the first try of that change: This DECstation is a DS5000/2x0 Loading R[23]00 MMU routines. CPU revision is: 00000230 Primary instruction cache 64kb, linesize 4 bytes Primary data cache 64kb, linesize 4 bytes Linux version 2.4.0-test5 (macro@xxxxxxxxxxxxxxxxxxx) (gcc version 2.95.3 19991030 (prerelease)) #16 Sun Aug 13 16:43:22 CEST 2000 PROM-provided physical RAM map: memory: 06800000 @ 00000000 memory: 00800000 @ 08000000 memory: 00800000 @ 0a000000 User-defined physical RAM map: memory: 06800000 @ 00000000 memory: 00800000 @ 08000000 memory: 00800000 @ 0a000000 memory: 00800000 @ 0c000000 On node 0 totalpages: 51200 zone(0): 51200 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: rw console=ttyS2 mem=104M@0M mem=8M@128M mem=8M@160M mem=8M@192M Calibrating delay loop... 39.85 BogoMIPS Memory: 127852k/204800k available (2403k kernel code, 76948k reserved, 610k data, 72k init) [...] NB that system is still in service, with more RAM since added. > > Sadly commit a09fc446fb6d ("[MIPS] setup.c: use early_param() for early > > command line parsing") removed last pieces of inline documentation; I > > don't know why things like that get approved, but neither I can take > > responsibility. > > This is sad indeed, but we still can update the kernel-parameters.txt with > a MIPS paragraph. Sure, patches are welcome. Maciej