Para reservar memória para não ser usado pelo Linux executando no SoC Cortex-A9, o kernel Linux deve ser informado qual é o topo da memória (endereço RAM mais alto e acessível). Todos os endereços RAM além deste endereço podem ser usados para outros fins fora do sistema operacional Linux.
O endereço ram mais alto e endereço pode ser definido em U-boot, adicionando o "mem=..." Argumento de inicialização do Linux para a variável bootargs do ambiente U-boot.
Abaixo está um comando de linha de comando U-boot de exemplo para definir a parte superior da memória como 0x3E800000:
setenv bootargs console=ttyS0,115200 mem=1000M
Observe que as variáveis "mmcboot", "ramboot" e "qspiboot" do ambiente U-boot também substituem a variável de ambiente bootargs. Ao utilizar essas variáveis, os bootargs também podem precisar ser modificados dentro dessas variáveis.
As variáveis padrão do ambiente de inicialização U são definidas para o SoC com o "uboot-socfpga\include\configs\socfpga_common.h"
arquivo de cabeçalho C.