Re: [RFC] m68k: Enable memtest kernel parameter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Finn,

On 13/09/21 17:17, Finn Thain wrote:
On Mon, 13 Sep 2021, Michael Schmitz wrote:


I'm amazed this works - I'd expect the kernel text segment to get
trashed by the memory test routines.


I think the initramfs may get clobbered when the 'memtest' parameter is
set. But that may be expected behaviour...

Looks like it got clobbered, but I don't think that is expected behaviour.


[    0.000000] Linux version 5.14.0-multi-debug-00001-g3e3e2b0990a2 (fthain@nippy) (m68k-linux-gnu-gcc (btc) 6.4.0, GNU ld (btc) 2.28) #20 Mon Sep 13 15:08:56 AEST 2021
[    0.000000] Saving 214 bytes of bootinfo
[    0.000000] printk: console [debug0] enabled
[    0.000000] printk: debug: ignoring loglevel setting.
Blitter tried to read byte from register ff8a00 at 00816a
[    0.000000] Atari hardware found: VIDEL STDMA-SCSI ST_MFP YM2149 PCM CODEC DSP56K SCC ANALOG_JOY BLITTER IDE TT_CLK FDC_SPEED
[    0.000000] early_memtest: # of tests: 17
[    0.000000]   0x005b2000 - 0x00e00000 pattern 7a6c7258554e494c
[    0.000000]   0x01000000 - 0x08600000 pattern 7a6c7258554e494c
[    0.000000]   0x005b2000 - 0x00e00000 pattern eeeeeeeeeeeeeeee
[    0.000000]   0x01000000 - 0x08600000 pattern eeeeeeeeeeeeeeee
[    0.000000]   0x005b2000 - 0x00e00000 pattern dddddddddddddddd
[    0.000000]   0x01000000 - 0x08600000 pattern dddddddddddddddd
[    0.000000]   0x005b2000 - 0x00e00000 pattern bbbbbbbbbbbbbbbb
[    0.000000]   0x01000000 - 0x08600000 pattern bbbbbbbbbbbbbbbb
[    0.000000]   0x005b2000 - 0x00e00000 pattern 7777777777777777
[    0.000000]   0x01000000 - 0x08600000 pattern 7777777777777777
[    0.000000]   0x005b2000 - 0x00e00000 pattern cccccccccccccccc
[    0.000000]   0x01000000 - 0x08600000 pattern cccccccccccccccc
[    0.000000]   0x005b2000 - 0x00e00000 pattern 9999999999999999
[    0.000000]   0x01000000 - 0x08600000 pattern 9999999999999999
[    0.000000]   0x005b2000 - 0x00e00000 pattern 6666666666666666
[    0.000000]   0x01000000 - 0x08600000 pattern 6666666666666666
[    0.000000]   0x005b2000 - 0x00e00000 pattern 3333333333333333
[    0.000000]   0x01000000 - 0x08600000 pattern 3333333333333333
[    0.000000]   0x005b2000 - 0x00e00000 pattern 8888888888888888
[    0.000000]   0x01000000 - 0x08600000 pattern 8888888888888888
[    0.000000]   0x005b2000 - 0x00e00000 pattern 4444444444444444
[    0.000000]   0x01000000 - 0x08600000 pattern 4444444444444444
[    0.000000]   0x005b2000 - 0x00e00000 pattern 2222222222222222
[    0.000000]   0x01000000 - 0x08600000 pattern 2222222222222222
[    0.000000]   0x005b2000 - 0x00e00000 pattern 1111111111111111
[    0.000000]   0x01000000 - 0x08600000 pattern 1111111111111111
[    0.000000]   0x005b2000 - 0x00e00000 pattern aaaaaaaaaaaaaaaa
[    0.000000]   0x01000000 - 0x08600000 pattern aaaaaaaaaaaaaaaa
[    0.000000]   0x005b2000 - 0x00e00000 pattern 5555555555555555
[    0.000000]   0x01000000 - 0x08600000 pattern 5555555555555555
[    0.000000]   0x005b2000 - 0x00e00000 pattern ffffffffffffffff
[    0.000000]   0x01000000 - 0x08600000 pattern ffffffffffffffff
[    0.000000]   0x005b2000 - 0x00e00000 pattern 0000000000000000
[    0.000000]   0x01000000 - 0x08600000 pattern 0000000000000000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x00000085ffffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000000dfffff]
[    0.000000]   node   0: [mem 0x0000000001000000-0x00000000085fffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000000085fffff]
[    0.000000] NatFeats found (ARAnyM, 1.0)
[    0.000000] initrd: 0833ea00 - 08600000

The initrd got loaded at the end of the FastRAM chunk - we'd need that excluded from the memtest range.

Trouble is - I don't know whether that holds true for other m68k platforms.

But what Mike just explained (memtest skipping reserved areas of memory) provides a clean way to exclude the ramdisk area - move early_memtest() to setup_arch(), after the ramdisk area has been reserved.

Cheers,

	Michael


[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 33490
[    0.000000] Kernel command line: debug=par console=tty0 ignore_loglevel initcall_blacklist=ide_falcon_driver_init,nfhd_init memtest=17 BOOT_IMAGE=vmlinux
[    0.000000] blacklisting initcall ide_falcon_driver_init
[    0.000000] blacklisting initcall nfhd_init
[    0.000000] Unknown command line parameters: initcall_blacklist=ide_falcon_driver_init BOOT_IMAGE=vmlinux
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Sorting __ex_table...
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 124032K/135168K available (4385K kernel code, 357K rwdata, 772K rodata, 148K init, 121K bss, 11136K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 200
[    0.000000] clocksource: mfp: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 77769386670404 ns
[    0.000000] Console: colour dummy device 80x25
[    0.010000] printk: console [tty0] enabled
[    0.010000] Calibrating delay loop... 140.69 BogoMIPS (lpj=703488)
[    0.080000] pid_max: default: 32768 minimum: 301
[    0.080000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.080000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.090000] devtmpfs: initialized
[    0.100000] random: get_random_u32 called from bucket_table_alloc+0x13e/0x180 with crng_init=0
[    0.110000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.110000] futex hash table entries: 256 (order: 0, 7168 bytes, linear)
[    0.110000] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.110000] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.120000] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.160000] wait_for_initramfs() called before rootfs_initcalls
[    0.170000] SCSI subsystem initialized
[    0.170000] libata version 3.00 loaded.
[    0.180000] clocksource: Switched to clocksource mfp
[    0.230000] NET: Registered PF_INET protocol family
[    0.240000] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.240000] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 6144 bytes, linear)
[    0.240000] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.240000] TCP bind hash table entries: 2048 (order: 3, 40960 bytes, linear)
[    0.250000] TCP: Hash tables configured (established 2048 bind 2048)
[    0.250000] UDP hash table entries: 256 (order: 1, 12288 bytes, linear)
[    0.250000] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes, linear)
[    0.250000] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.250000] RPC: Registered named UNIX socket transport module.
[    0.250000] RPC: Registered udp transport module.
[    0.250000] RPC: Registered tcp transport module.
[    0.250000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.260000] initcall nfhd_init blacklisted
[    0.260000] Trying to unpack rootfs image as initramfs...
[    0.960000] Freeing initrd memory: 2820K
[    0.960000] nfeth: API 5
[    0.960000] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    1.150000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.150000] io scheduler mq-deadline registered
[    1.160000] atafb atafb: phys_screen_base 6e6000 screen_len 311296
[    1.160000] atafb atafb: Determined 640x480, depth 4
[    1.160000] atafb atafb:    virtual 640x972
[    1.170000] Console: switching to colour frame buffer device 80x30
[    1.180000] fb0: frame buffer device, using 304K of video memory
[    1.180000] pmac_zilog: 0.6 (Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>)
[    1.180000] Non-volatile memory driver v1.3
[    1.210000] brd: module loaded
[    1.500000] scsi host0: Atari native SCSI, irq 15, io_port 0x0, base 0x0, can_queue 1, cmd_per_lun 2, sg_tablesize 1, this_id 7, flags { }
[    2.100000] random: fast init done
[    3.290000] atari-falcon-ide atari-falcon-ide: Atari Falcon and Q40/Q60 PATA controller
[    3.350000] scsi host1: pata_falcon
[    3.360000] ata1: PATA max PIO4 cmd 0xfff00000 ctl 0xfff00038 no IRQ, using PIO polling
[    3.410000] aoe: AoE v85 initialised.
[    3.440000] mousedev: PS/2 mouse device common for all mice
[    3.700000] input: Atari Keyboard as /devices/virtual/input/input0
[    3.710000] ata1.00: NODEV after polling detection
[    3.740000] ata1.01: ATA-2: slave, , max PIO2
[    3.760000] ata1.01: 322560 sectors, multi 0: LBA
[    3.770000] ata1.01: configured for PIO
[    3.790000] scsi 1:0:1:0: Direct-Access     ATA      slave            n/a  PQ: 0 ANSI: 5
[    3.850000] sd 1:0:1:0: Attached scsi generic sg0 type 0
[    3.870000] sd 1:0:1:0: [sda] 322560 512-byte logical blocks: (165 MB/158 MiB)
[    3.910000] sd 1:0:1:0: [sda] Write Protect is off
[    3.920000] sd 1:0:1:0: [sda] Mode Sense: 00 3a 00 00
[    3.940000] sd 1:0:1:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    4.010000] sd 1:0:1:0: [sda] Attached SCSI disk
[    4.060000] rtc-generic rtc-generic: registered as rtc0
[    4.080000] NET: Registered PF_PACKET protocol family
[    4.100000] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[    4.140000] Please append a correct "root=" boot option; here are the available partitions:
[    4.190000] 0100            8192 ram0
[    4.190000]  (driver?)
[    4.230000] 0101            8192 ram1
[    4.230000]  (driver?)
[    4.270000] 0102            8192 ram2
[    4.270000]  (driver?)
[    4.310000] 0103            8192 ram3
[    4.310000]  (driver?)
[    4.350000] 0800          161280 sda
[    4.350000]  driver: sd
[    4.400000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    4.400000] CPU: 0 PID: 1 Comm: swapper Not tainted 5.14.0-multi-debug-00001-g3e3e2b0990a2 #20
[    4.400000] Stack from 0102deac:
[    4.400000]         0102deac 004da4cc 004da4cc 0102df00 0102dec8 0043e88e 004da4cc 0102dee8
[    4.400000]         0043ce76 0102df28 00008001 005dc1d8 0043d0ec 01246000 00277e40 0102df48
[    4.400000]         005692ac 004cc21e 0102df28 004cc1cd 004cc19a 00000000 0102df28 fffffffa
[    4.400000]         00000000 0000000c 00002200 0004aa80 01018380 00585c98 00585c78 756e6b6e
[    4.400000]         6f776e2d 626c6f63 6b28302c 302900c0 014162d0 0102df70 005693da 0102df70
[    4.400000]         00569404 004cc282 00008001 0000007e 00000008 01018380 00585c98 00585c98
[    4.400000] Call Trace: [<0043e88e>] dump_stack+0x10/0x16
[    4.400000]  [<0043ce76>] panic+0xe6/0x2ea
[    4.400000]  [<00008001>] free_pointer_table+0x101/0x240
[    4.400000]  [<0043d0ec>] printk+0x0/0x16
[    4.400000]  [<00277e40>] strlen+0x0/0x40
[    4.400000]  [<005692ac>] mount_block_root+0x134/0x1ae
[    4.400000]  [<00002200>] do_one_initcall+0x0/0x1c0
[    4.400000]  [<0004aa80>] parse_args+0x0/0x2c0
[    4.400000]  [<005693da>] mount_root+0xb4/0xfa
[    4.400000]  [<00569404>] mount_root+0xde/0xfa
[    4.400000]  [<00008001>] free_pointer_table+0x101/0x240
[    4.400000]  [<00569562>] prepare_namespace+0x142/0x17c
[    4.400000]  [<00568f92>] kernel_init_freeable+0x1d2/0x1dc
[    4.400000]  [<0043ff80>] kernel_init+0x0/0x100
[    4.400000]  [<0043ff98>] kernel_init+0x18/0x100
[    4.400000]  [<0043ff80>] kernel_init+0x0/0x100
[    4.400000]  [<00002bf4>] ret_from_kernel_thread+0xc/0x14
[    4.400000]
[    4.400000] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---




[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux