AnsweredAssumed Answered

CONFIG_SYS_LINUX_LOWMEM_MAX_SIZE in u-boot for powerpc

Question asked by Kuowei Hsu on Nov 3, 2014
Latest reply on Nov 5, 2014 by Yiping Wang



I'm using the QorIQ sdk 1.6 and successfully created the 'fsl-image-core' files. In u-boot code we found that CONFIG_SYS_LINUX_LOWMEM_MAX_SIZE is set to

768MB hence "if (size < bootm_size)" condition becomes true and u-boot throw "WARNING: adjusting available memory to 30000000" message on console. Our DDR size is 2G. Is this warning makes sense ??

Here is the boot log:

WARNING: adjusting available memory to 30000000

## Booting kernel from Legacy Image at 01000000 ...

   Image Name:   Linux-3.12.19-rt30-QorIQ-SDK-V1.

   Image Type:   PowerPC Linux Kernel Image (gzip compressed)

   Data Size:    4195156 Bytes = 4 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

## Loading init Ramdisk from Legacy Image at 02000000 ...

   Image Name:   fsl-image-core-p2020ds-201410290

   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)

   Data Size:    25076961 Bytes = 23.9 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 00c00000

   Booting using the fdt blob at 0xc00000

   Uncompressing Kernel Image ... OK

   Loading Ramdisk to 2e815000, end 2ffff4e1 ... OK

   Loading Device Tree to 03ff9000, end 03fff9f9 ... OK

Using P2020 DS machine description

Memory CAM mapping: 256/256/256 Mb, residual: 1280Mb

Linux version 3.12.19-rt30-QorIQ-SDK-V1.6+gc29fe1a (kuowei.hsu@sw3linux) (gcc version 4.8.1 (GCC) ) #1 SMP Wed Oct 29 16:49:51 CST 2014

Found initrd at 0xee815000:0xeffff4e1

CPU maps initialized for 1 thread per core

bootconsole [udbg0] enabled

setup_arch: bootmem


MPC85xx DS board from Freescale Semiconductor

arch: exit

Zone ranges:

  DMA      [mem 0x00000000-0x2fffffff]

  Normal   empty

  HighMem  [mem 0x30000000-0x7fffffff]

Movable zone start for each node

Early memory node ranges

  node   0: [mem 0x00000000-0x7fffffff]

MMU: Allocated 1088 bytes of context maps for 255 contexts

PERCPU: Embedded 7 pages/cpu @c1971000 s7104 r8192 d13376 u32768

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 522752

Kernel command line: root=/dev/ram rw console=,115200 cache-sram-size=0x10000

PID hash table entries: 4096 (order: 2, 16384 bytes)

Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)

Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

Sorting __ex_table...

Memory: 1979676K/2097152K available (6000K kernel code, 316K rwdata, 1792K rodata, 268K init, 1217K bss, 117476K reserved, 1310712K highmem)

Kernel virtual memory layout:

  * 0xfff5f000..0xfffff000  : fixmap

  * 0xffc00000..0xffe00000  : highmem PTEs

  * 0xffbfd000..0xffc00000  : early ioremap

  * 0xf1000000..0xffbfd000  : vmalloc & ioremap

SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1

Hierarchical RCU implementation.

  RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2.

NR_IRQS:512 nr_irqs:512 16

mpic: Setting up MPIC " OpenPIC  " version 1.2 at ffe40000, max 2 CPUs

mpic: ISU size: 256, shift: 8, mask: ff

mpic: Initializing for 256 sources

clocksource: timebase mult[d555555] shift[24] registered

Console: colour dummy device 80x25

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

mpic: requesting IPIs...

Brought up 2 CPUs

devtmpfs: initialized

NET: Registered protocol family 16


Found FSL PCI host bridge at 0x00000000ffe0a000. Firmware bus number: 0->1

PCI host bridge /pcie@ffe0a000 (primary) ranges:

MEM 0x00000000c0000000..0x00000000dfffffff -> 0x00000000c0000000

  IO 0x00000000ffc20000..0x00000000ffc2ffff -> 0x0000000000000000

/pcie@ffe0a000: PCICSRBAR @ 0xfff00000

PCI: Probing PCI hardware

fsl-pci ffe0a000.pcie: PCI host bridge to bus 0000:00

pci_bus 0000:00: root bus resource [io  0x0000-0xffff]

pci_bus 0000:00: root bus resource [mem 0xc0000000-0xdfffffff]

pci_bus 0000:00: root bus resource [bus 00-ff]

pci 0000:00:00.0: ignoring class 0x0b2000 (doesn't match header type 01)

pci 0000:00:00.0: PCI bridge to [bus 01-ff]

pci 0000:00:00.0: PCI bridge to [bus 01]

pci 0000:00:00.0:   bridge window [io  0x0000-0xffff]

pci 0000:00:00.0:   bridge window [mem 0xc0000000-0xdfffffff]

fsl-l2ctlr ffe20000.l2-cache-controller: Entire L2 as cache, provide valid sram address and size

fsl-l2ctlr: probe of ffe20000.l2-cache-controller failed with error -22

bio: create slab <bio-0> at 0

Freescale Elo series DMA driver

fsl-elo-dma ffe0c300.dma: #0 (fsl,eloplus-dma-channel), irq 76

fsl-elo-dma ffe0c300.dma: #1 (fsl,eloplus-dma-channel), irq 77

fsl-elo-dma ffe0c300.dma: #2 (fsl,eloplus-dma-channel), irq 78

fsl-elo-dma ffe0c300.dma: #3 (fsl,eloplus-dma-channel), irq 79

fsl-elo-dma ffe21300.dma: #0 (fsl,eloplus-dma-channel), irq 20

fsl-elo-dma ffe21300.dma: #1 (fsl,eloplus-dma-channel), irq 21

fsl-elo-dma ffe21300.dma: #2 (fsl,eloplus-dma-channel), irq 22

fsl-elo-dma ffe21300.dma: #3 (fsl,eloplus-dma-channel), irq 23

Thanks for all your help in community.