Effect of 0x30000000 to 0x300020000 memory in eboot. bib

Source: Internet
Author: User

The memeory section of SRC/bootloader/eboot/boot. bib is as follows:

Memory

; Name start Size Type

;---------------------------

ARGs 80020800 00000800 Reserved

Ram 80021000 ipvb000 Ram

Stack 8002c000 2017a000 Reserved

Eboot 80038000 00040000 ramimage

Binfs 80080000 00021000 Reserved

For this configuration, I remember a post on csdn mentioned this problem (Http://topic.csdn.net/u/20100729/17/273faa20-c905-435b-a7d4-102bbac4ff40.html):

0x3000_0000 ~ What is 0x3002_8000 memory used?

Later, I saw the following memory section in wince600/platform/deviceemulator/src/bootloader/eboot/boot. bib:

Memory

; Name start Size Type

;---------------------------

PTS 80000000 00020000 Reserved

ARGs 80020000 00000800 Reserved

Sleepstate 80020800 00000800 Reserved

Eboot 80021000 00040000 ramimage

Stack 80061000 00004000 Reserved

Ram 80065000 00006000 Ram

We can see that 0x3000_0000 ~ 0x3002_0000 memory is used for pts. What is PTS? PTS is the abbreviation of page table space, that is, this memory space is used to store page tables.

 

Next let's take a look atCode

; Define Ram space for the page tables:

;

Phybase equ 0x30000000; physical start

PTS equ 0x30010000; 1st level page table address (phybase + 0x10000)

; Save room for interrupt vectors.

We can see that the page table constructed by the startup function of the bootloader is stored at the address starting from 0x30010000 of the sdram. Then let's look at the code below starup. S.

; Compute physical address of the oemaddresstable.

20 Add R11, PC, # g_oaladdresstable-(. + 8)

LDR R10, = PTS; (R10) = 1st level page table

 

; Setup 1st level page table (using section descriptor)

; Fill in first level page table entries to create "un-mapped" regions

; From the contents of the memorymap array.

;

; (R10) = 1st level page table

; (R11) = PTR to memorymap Array

Add R10, R10, #0x2000; (R10) = PTR to 1st PTE for "unmapped space"

MoV r0, # 0x0e; (R0) = PTE for 0: 1 MB cachable bufferable

ORR r0, R0, #0x400; Set kernel R/W permission

25 mov R1, R11; (R1) = PTR to memorymap Array

 

30 LDR R2, [R1], #4; (R2) = Virtual Address to map bank

LDR R3, [R1], #4; (r3) = physical address to map from

LDR R4, [R1], #4; (R4) = num MB to map

CMP R4, #0; end of table?

Beq % F40 is combined with the g_oaladdresstable table. We know that the page table constructed by the startup function of bootloader must first overwrite 0x80000000 ~ Virtual Memory Address Space in the range of 0x9fffffff. The vertical capacity of this virtual memory space is 512 MB, which corresponds to 512 level-1 page tables (for the wince operating system, the Virtual Memory Design of bootloader is not very complex, it does not involve complex level-2 page tables. It only uses level-1 page tables in the unit of 1 MB .), Therefore, the required physical storage space is 2 kb (because it requires 4 bytes to store a page table item). The actual SDRAM address used in s3c2443 is 0x30012000 ~ 0x3000000ff. In addition, the startup function must be 0xa000000 ~ The virtual memory address in the range of 0xbfffffff constructs a level-1 page table item. This virtual memory address space is called the uncachable static virtual memory space in wince. This part of level-1 page table item occupies the amount of 0x30012800 ~ 0x30012fff.

However, I do not understand how to build a page table, so I need to continue learning.

 

this article from the csdn blog, reprinted please indicate the source: http://blog.csdn.net/chinesedragon2010/archive/2010/08/08/5796534.aspx

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.