Hi Mike,

On Sun, Aug 19, 2018 at 06:42:36PM +0300, Mike Rapoport wrote:
> 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);
>  

Many thanks, the patch fixes the things.

In the mcf5441x family memory starts at 0x40000000 and
not at 0 as in some other mmu Coldfire models.
This probably made the issue visible in my board.

Tested-by: Angelo Dureghello <ang...@sysam.it>


Regards,
Angelo

> > 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 <r...@linux.vnet.ibm.com>
> > >> 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