CONFIG_SYS_LINUX_LOWMEM_MAX_SIZE in u-boot for powerpc

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CONFIG_SYS_LINUX_LOWMEM_MAX_SIZE in u-boot for powerpc

Jump to solution
1,493 Views
kuoweihsu
Contributor III

Hi,

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_setup_arch()

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.

Regards,

Hsu

Labels (1)
0 Kudos
1 Solution
697 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Kuowei,


It makes sense, because for PowerPC arch the Linux low memory size is configured as 0x30000000(768M), you also could get the configuration "CONFIG_LOWMEM_SIZE=0x30000000" in Linux Kernel configuration file.

Linux OS divides its virtual address space into two regions, the larger is used for user space and the smaller is for Kernel.


Have a great day,
Yiping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
1 Reply
698 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Kuowei,


It makes sense, because for PowerPC arch the Linux low memory size is configured as 0x30000000(768M), you also could get the configuration "CONFIG_LOWMEM_SIZE=0x30000000" in Linux Kernel configuration file.

Linux OS divides its virtual address space into two regions, the larger is used for user space and the smaller is for Kernel.


Have a great day,
Yiping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos