On Sun, Aug 19, 2018 at 04:51:22PM +0200, angelo wrote:
> Hi Mike,
> 
> On 19/08/2018 12:03, Mike Rapoport wrote:
> > On Sat, Aug 18, 2018 at 11:51:41PM +0200, Angelo Dureghello wrote:
> >> Hi,
> >>
> >> On Sat, Aug 18, 2018 at 11:45:51AM +0200, Angelo Dureghello wrote:
> >>> Hi all,
> >>>
> >>> i am testing kernel version 4.18.0 on mcf54415 with mmu
> >>> enabled, just noticed the boot stops silently at:
> >>>
> >>> [    9.040000] Freeing unused kernel memory: 336K
> >>> [    9.040000] This architecture does not have kernel memory protection.
> > Can you please send your kernel config and the entire boot log?
> >  
> 
> Thanks for looking into this. Files attached.
> 
> As you can see from the config, my ramfs is embedded in the kernel.

Actually not :)

I've expected to see INITRAMFS_SOURCE there...
 
> The kernel boot process seems to complete, but boot hangs at the moment the
> ramfs (in my case embedded in the kernel binary) should be loaded.

Apparently, I've broken some early memory reservations.

Can you test with this patch:


diff --git a/arch/m68k/mm/mcfmmu.c b/arch/m68k/mm/mcfmmu.c
index 70dde04..dae0a41 100644
--- a/arch/m68k/mm/mcfmmu.c
+++ b/arch/m68k/mm/mcfmmu.c
@@ -172,7 +172,7 @@ void __init cf_bootmem_alloc(void)
        high_memory = (void *)_ramend;
 
        /* Reserve kernel text/data/bss */
-       memblock_reserve(memstart, memstart - _rambase);
+       memblock_reserve(_rambase, memstart - _rambase);
 
        m68k_virt_to_node_shift = fls(_ramend - 1) - 6;
        module_fixup(NULL, __start_fixup, __stop_fixup);
 
> I am trying to understand something more.
> 
> Regards,
> Angelo
> >>> Just after generally there is the initramfs load and the console prompt,
> >>> while actually nothing happen. 
> >>>
> >>> Trying to collect more informations,
> >>>
> >> The commit that breaks mmu on mcf54415 is
> >>
> >> commit 1008a11590b966b469e60dc3756c9226a685ce12 (HEAD)
> >> Author: Mike Rapoport <[email protected]>
> >> Date:   Wed Jul 4 09:28:16 2018 +0300
> >>
> >>     m68k: switch to MEMBLOCK + NO_BOOTMEM
> >>
> >> Regards,
> >> Angelo Dureghello
> >>
> >>> Regards,
> >>> Angelo Dureghello
> >>>
> 

> U-Boot 2018.07-rc2-00041-g7b920e5579-dirty (Aug 12 2018 - 23:06:24 +0200)
> 
> CPU:   Freescale MCF54415 (Mask:a0 Version:2)
>        CPU CLK 240 MHz BUS CLK 120 MHz FLB CLK 60 MHz
>        INP CLK 30 MHz VCO CLK 480 MHz
> SPI:   ready
> DRAM:  128 MiB
> MMC:   fsl_esdhc_init
> FSL_SDHC: 0
> Loading Environment from SPI Flash... SF: Detected is25lp128 with page size 
> 256 Bytes, erase size 64 KiB, total 16 MiB
> OK
> In:    serial
> Out:   serial
> Err:   serial
> Hit any key to stop autoboot:  0
> SF: Detected is25lp128 with page size 256 Bytes, erase size 64 KiB, total 16 
> MiB
> device 0 offset 0x100000, size 0x1ff6d0
> SF: 2094800 bytes @ 0x100000 Read: OK
> ## Booting kernel from Legacy Image at 40001000 ...
>    Image Name:   mainline kernel
>    Created:      2018-08-19   8:55:20 UTC
>    Image Type:   M68K Linux Kernel Image (uncompressed)
>    Data Size:    2094736 Bytes = 2 MiB
>    Load Address: 40001000
>    Entry Point:  40001000
>    Verifying Checksum ... OK
>    Loading Kernel Image ... OK
> [    0.000000] Linux version 4.18.0-rc6stmark2-001-00013-g1008a11590b9-dirty 
> (angelo@jerusalem) (gcc version 5.2.0 (crosstools-sysam-2016.04.16)) #58 Sun 
> Aug 19 10:55:19 CEST 2018
> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16312
> [    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/ram0 rw 
> rootfstype=ramfs rdinit=/sbin/init devtmpfs.mount=1
> [    0.000000] Dentry cache hash table entries: 16384 (order: 3, 65536 bytes)
> [    0.000000] Inode-cache hash table entries: 8192 (order: 2, 32768 bytes)
> [    0.000000] Sorting __ex_table...
> [    0.000000] Memory: 128016K/131072K available (1299K kernel code, 102K 
> rwdata, 304K rodata, 328K init, 208K bss, 3056K reserved, 0K cma-reserved)
> [    0.000000] SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=8
> [    0.000000] NR_IRQS: 256
> [    0.000000] clocksource: pit: mask: 0xffffffff max_cycles: 0xffffffff, 
> max_idle_ns: 1019338904850 ns
> [    0.000000] Console: colour dummy device 80x25
> [    0.070000] Calibrating delay loop... 238.38 BogoMIPS (lpj=1191936)
> [    0.070000] pid_max: default: 32768 minimum: 301
> [    0.070000] Mount-cache hash table entries: 2048 (order: 0, 8192 bytes)
> [    0.070000] Mountpoint-cache hash table entries: 2048 (order: 0, 8192 
> bytes)
> [    0.090000] devtmpfs: initialized
> [    0.130000] random: get_random_u32 called from 
> bucket_table_alloc+0x174/0x1a6 with crng_init=0
> [    0.130000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, 
> max_idle_ns: 19112604462750000 ns
> [    0.130000] futex hash table entries: 256 (order: -2, 3072 bytes)
> [    0.200000] clocksource: Switched to clocksource pit
> [    0.200000] FS-Cache: Loaded
> [    0.930000] workingset: timestamp_bits=27 max_order=14 bucket_order=0
> [    1.100000] io scheduler noop registered
> [    1.100000] io scheduler deadline registered
> [    1.100000] io scheduler cfq registered (default)
> [    1.100000] io scheduler mq-deadline registered
> [    1.100000] io scheduler kyber registered
> [    2.300000] ColdFire internal UART serial driver
> [    2.300000] mcfuart.0: ttyS0 at MMIO 0xfc060000 (irq = 90, base_baud = 
> 7500000) is a ColdFire UART
> [    2.500000] console [ttyS0] enabled
> [    2.510000] mcfuart.0: ttyS1 at MMIO 0xfc064000 (irq = 91, base_baud = 
> 7500000) is a ColdFire UART
> [    2.520000] mcfuart.0: ttyS2 at MMIO 0xfc068000 (irq = 92, base_baud = 
> 7500000) is a ColdFire UART
> [    2.530000] mcfuart.0: ttyS3 at MMIO 0xfc06c000 (irq = 93, base_baud = 
> 7500000) is a ColdFire UART
> [    2.560000] random: fast init done
> [    2.570000] m25p80 spi0.1: is25lp128 (16384 Kbytes)
> [    2.580000] Creating 3 MTD partitions on "is25lp128":
> [    2.580000] 0x000000000000-0x000000100000 : "U-Boot (1024K)"
> [    2.610000] 0x000000100000-0x000000800000 : "Kernel+initramfs (7168K)"
> [    2.630000] 0x000000800000-0x000001000000 : "Flash Free Space (8192K)"
> [    2.660000] Freeing unused kernel memory: 328K
> [    2.670000] This architecture does not have kernel memory protection.
> 

> CONFIG_LOCALVERSION="stmark2-001"
> CONFIG_DEFAULT_HOSTNAME="stmark2"
> CONFIG_SYSVIPC=y
> CONFIG_LOG_BUF_SHIFT=14
> CONFIG_NAMESPACES=y
> CONFIG_BLK_DEV_INITRD=y
> # CONFIG_RD_BZIP2 is not set
> # CONFIG_RD_LZMA is not set
> # CONFIG_RD_XZ is not set
> # CONFIG_RD_LZO is not set
> # CONFIG_RD_LZ4 is not set
> CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> # CONFIG_FHANDLE is not set
> # CONFIG_AIO is not set
> # CONFIG_ADVISE_SYSCALLS is not set
> # CONFIG_MEMBARRIER is not set
> CONFIG_EMBEDDED=y
> # CONFIG_VM_EVENT_COUNTERS is not set
> # CONFIG_COMPAT_BRK is not set
> # CONFIG_LBDAF is not set
> # CONFIG_BLK_DEV_BSG is not set
> CONFIG_BLK_CMDLINE_PARSER=y
> CONFIG_COLDFIRE=y
> CONFIG_M5441x=y
> CONFIG_CLOCK_FREQ=240000000
> CONFIG_STMARK2=y
> CONFIG_RAMBASE=0x40000000
> CONFIG_RAMSIZE=0x8000000
> CONFIG_VECTORBASE=0x40000000
> CONFIG_KERNELBASE=0x40001000
> CONFIG_BINFMT_FLAT=y
> CONFIG_BINFMT_MISC=y
> # CONFIG_UEVENT_HELPER is not set
> CONFIG_DEVTMPFS=y
> CONFIG_DEVTMPFS_MOUNT=y
> # CONFIG_ALLOW_DEV_COREDUMP is not set
> CONFIG_MTD=y
> CONFIG_MTD_CMDLINE_PARTS=y
> CONFIG_MTD_BLOCK=y
> CONFIG_MTD_CFI=y
> CONFIG_MTD_JEDECPROBE=y
> CONFIG_MTD_CFI_ADV_OPTIONS=y
> CONFIG_MTD_CFI_LE_BYTE_SWAP=y
> CONFIG_MTD_CFI_GEOMETRY=y
> # CONFIG_MTD_CFI_I2 is not set
> CONFIG_MTD_CFI_AMDSTD=y
> CONFIG_MTD_CFI_STAA=y
> CONFIG_MTD_ROM=y
> CONFIG_MTD_COMPLEX_MAPPINGS=y
> CONFIG_MTD_PLATRAM=y
> CONFIG_MTD_M25P80=y
> CONFIG_MTD_SPI_NOR=y
> # CONFIG_INPUT_KEYBOARD is not set
> # CONFIG_INPUT_MOUSE is not set
> CONFIG_SERIO_LIBPS2=y
> # CONFIG_UNIX98_PTYS is not set
> # CONFIG_DEVMEM is not set
> CONFIG_SERIAL_MCF=y
> CONFIG_SERIAL_MCF_BAUDRATE=115200
> CONFIG_SERIAL_MCF_CONSOLE=y
> # CONFIG_HW_RANDOM is not set
> CONFIG_SPI=y
> CONFIG_SPI_DEBUG=y
> CONFIG_SPI_FSL_DSPI=y
> CONFIG_DEBUG_GPIO=y
> CONFIG_GPIO_SYSFS=y
> CONFIG_GPIO_GENERIC_PLATFORM=y
> # CONFIG_HWMON is not set
> # CONFIG_HID is not set
> # CONFIG_USB_SUPPORT is not set
> # CONFIG_FILE_LOCKING is not set
> # CONFIG_DNOTIFY is not set
> # CONFIG_INOTIFY_USER is not set
> CONFIG_FSCACHE=y
> # CONFIG_PROC_SYSCTL is not set
> CONFIG_PRINTK_TIME=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> # CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
> CONFIG_SLUB_DEBUG_ON=y
> CONFIG_PANIC_ON_OOPS=y
> # CONFIG_SCHED_DEBUG is not set
> # CONFIG_DEBUG_BUGVERBOSE is not set
> CONFIG_BOOTPARAM=y
> CONFIG_BOOTPARAM_STRING="console=ttyS0,115200 root=/dev/ram0 rw 
> rootfstype=ramfs rdinit=/sbin/init devtmpfs.mount=1"
> CONFIG_CRYPTO=y
> # CONFIG_CRYPTO_ECHAINIV is not set
> CONFIG_CRYPTO_ANSI_CPRNG=y
> # CONFIG_CRYPTO_HW is not set
> CONFIG_CRC16=y


-- 
Sincerely yours,
Mike.

Reply via email to