This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

What does the lpae mean at value of 1 or 0?

Hi:

In the link:

http://processors.wiki.ti.com/index.php/MCSDK_UG_Chapter_Exploring#LPAE

That said below:

The memory property in the tci6638-evm.dts file specifies the memory range available for kernel. The default sets
0x80000000 as start address and 0x20000000 as size. That corresponds to the aliased DDR3A memory range.
When u-boot boots the kernel, it can modify the start address of the “memory” in the DTB. If the “mem_lpae”
environment variable is “0”, u-boot doesn’t modify the start address. If the mem_lpae=1, u-boot sets the start address to 0x800000000, which corresponds to non-aliased start address of the DDR3A.

From above described,We can get the conclusion that linux kernel start from 0x8000 0000 when lpae = 0,

and kernel start from 0x8 0000 0000 when lpae = 1.

My question comes:

1.

Why kernel start from the different address?sometimes start from address 0x8 000 0000,

sometimes start from the address 0x8 0000 0000.

Does the two start address have any difference?

At what time,Kernel start from address 0x 8 000 0000?

And at what time kernel start from address 0x8 0000 0000?

2.

Are the two different start addresses physical address or logical address?

3.

In my test case,I set mem_lpae = 1 and the kernel had boot up successfully like below boot infomation.

Bytes transferred = 45056 (b000 hex)
BOOTP broadcast 1
DHCP client bound to address 192.168.0.100
Using TCI6638_EMAC device
TFTP from server 192.168.0.103; our IP address is 192.168.0.100
Filename '//uImage_ipc_flag'.
Load address: 0x88000000
Loading: #################################################################
         #################################################################
         #################################################################
         ##########################################
         70.3 KiB/s
done
Bytes transferred = 3464976 (34df10 hex)
## installed monitor, freq [133120000], status 133120000
## Booting kernel from Legacy Image at 88000000 ...
   Image Name:   Linux-3.8.4-dirty
   Created:      2013-11-13   5:45:16 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3464912 Bytes = 3.3 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK

But why the kernel load address and entry point  was 80008000 not the start address told above

0x8 0000 0000 because of value of lpae = 1.The kernel should start from the address 0x8 0000 0000.

why the kernel load address and entry point address was different from the start address 0x8 0000 0000.

How to explain?Where am I wrong?Was the address 0x80008000 physical address or logical address?

Any help will be appreciated.