Changeset 06e6805 in mainline for arch/ppc32/src/boot/boot.S


Ignore:
Timestamp:
2006-03-14T11:08:44Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4bb4836d
Parents:
d1f8a87
Message:

ppc32: get memory map from loader

File:
1 moved

Legend:

Unmodified
Added
Removed
  • arch/ppc32/src/boot/boot.S

    rd1f8a87 r06e6805  
    2929#include <arch/asm/regname.h>
    3030#include <arch/asm/spr.h>
     31#include <arch/boot/boot.h>
     32#include <arch/boot/memmap.h>
    3133
    3234.section K_TEXT_START
    3335
    3436.global kernel_image_start
     37kernel_image_start:
     38       
     39        # r10 contains physical address to memmap_t
     40        # from boot loader
     41       
     42        lis r4, 0x80000000@ha
     43        addi r4, r4, 0x80000000@l
     44       
     45        add r10, r10, r4
    3546
    36 kernel_image_start:
     47        lis r4, memmap@ha
     48        addi r4, r4, memmap@l    # r4 = memmap
     49       
     50        lwz r5, 0(r10)           # memmap->total
     51        stw r5, 0(r4)
     52       
     53        lwzu r5, 4(r10)           # memmap->count
     54        stwu r5, 4(r4)
     55       
     56        cmpwi r5, 0
     57        beq memmap_end
     58       
     59        mtctr r5
     60        memmap_loop:
     61       
     62                lwzu r5, 4(r10)           # memmap->zones[i].start
     63                stwu r5, 4(r4)
     64               
     65                lwzu r5, 4(r10)           # memmap->zones[i].size
     66                stwu r5, 4(r4)
     67       
     68        bdnz memmap_loop
     69        memmap_end:
     70       
    3771        b main_bsp
Note: See TracChangeset for help on using the changeset viewer.