Changeset b524f816 in mainline


Ignore:
Timestamp:
2005-08-30T21:51:39Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
379d73f3
Parents:
ba18512
Message:

PPC context save/restore

Location:
arch/ppc
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • arch/ppc/Makefile.inc

    rba18512 rb524f816  
    1616
    1717arch_sources= \
     18        arch/context.S \
    1819        arch/ppc.c \
    1920        arch/debug/panic.s \
  • arch/ppc/_link.ld

    rba18512 rb524f816  
    3333        _hardcoded_kdata_size = kdata_end - kdata_start;
    3434        _hardcoded_load_address = 0x80000000;
    35 
    3635}
  • arch/ppc/include/asm/macro.h

    rba18512 rb524f816  
    192192
    193193.macro REGISTERS_STORE r
     194        stw r0, 0(\r)
     195        stw r1, 4(\r)
     196        stw r2, 8(\r)
     197        stw r3, 12(\r)
     198        stw r4, 16(\r)
     199        stw r5, 20(\r)
     200        stw r6, 24(\r)
     201        stw r7, 28(\r)
     202        stw r8, 32(\r)
     203        stw r9, 36(\r)
     204        stw r10, 40(\r)
     205        stw r11, 44(\r)
     206        stw r12, 48(\r)
     207        stw r13, 52(\r)
     208        stw r14, 56(\r)
     209        stw r15, 60(\r)
     210        stw r16, 64(\r)
     211        stw r17, 68(\r)
     212        stw r18, 72(\r)
     213        stw r19, 76(\r)
     214        stw r20, 80(\r)
     215        stw r21, 84(\r)
     216        stw r22, 88(\r)
     217        stw r23, 92(\r)
     218        stw r24, 96(\r)
     219        stw r25, 100(\r)
     220        stw r26, 104(\r)
     221        stw r27, 108(\r)
     222        stw r28, 112(\r)
     223        stw r29, 116(\r)
     224        stw r30, 120(\r)
     225        stw r31, 124(\r)
    194226.endm
    195227
    196228.macro REGISTERS_LOAD r
     229        lwz r0, 0(\r)
     230        lwz r1, 4(\r)
     231        lwz r2, 8(\r) 
     232        lwz r3, 12(\r)
     233        lwz r4, 16(\r)
     234        lwz r5, 20(\r)
     235        lwz r6, 24(\r)
     236        lwz r7, 28(\r)
     237        lwz r8, 32(\r)
     238        lwz r9, 36(\r)
     239        lwz r10, 40(\r)
     240        lwz r11, 44(\r)
     241        lwz r12, 48(\r)
     242        lwz r13, 52(\r)
     243        lwz r14, 56(\r)
     244        lwz r15, 60(\r)
     245        lwz r16, 64(\r)
     246        lwz r17, 68(\r)
     247        lwz r18, 72(\r)
     248        lwz r19, 76(\r)
     249        lwz r20, 80(\r)
     250        lwz r21, 84(\r)
     251        lwz r22, 88(\r)
     252        lwz r23, 92(\r)
     253        lwz r24, 96(\r)
     254        lwz r25, 100(\r)
     255        lwz r26, 104(\r)
     256        lwz r27, 108(\r)
     257        lwz r28, 112(\r)
     258        lwz r29, 116(\r)
     259        lwz r30, 120(\r)
     260        lwz r31, 124(\r)
    197261.endm
  • arch/ppc/include/context.h

    rba18512 rb524f816  
    3232#include <arch/types.h>
    3333
    34 #define SP_DELTA        0
     34#define SP_DELTA        4
    3535
    3636struct context {
     37        __u32 r0;
    3738        __u32 sp;
     39        __u32 r2;
     40        __u32 r3;
     41        __u32 r4;
     42        __u32 r5;
     43        __u32 r6;
     44        __u32 r7;
     45        __u32 r8;
     46        __u32 r9;
     47        __u32 r10;
     48        __u32 r11;
     49        __u32 r12;
     50        __u32 r13;
     51        __u32 r14;
     52        __u32 r15;
     53        __u32 r16;
     54        __u32 r17;
     55        __u32 r18;
     56        __u32 r19;
     57        __u32 r20;
     58        __u32 r21;
     59        __u32 r22;
     60        __u32 r23;
     61        __u32 r24;
     62        __u32 r25;
     63        __u32 r26;
     64        __u32 r27;
     65        __u32 r28;
     66        __u32 r29;
     67        __u32 r30;
     68        __u32 r31;
    3869        __u32 pc;
    39        
    4070        pri_t pri;
    4171} __attribute__ ((packed));
  • arch/ppc/src/dummy.s

    rba18512 rb524f816  
    2929.text
    3030
     31.global memcpy
    3132.global memcopy
    3233.global cpu_priority_read
    3334.global memsetb
    34 .global context_save
    35 .global context_restore
    3635.global userspace
    3736.global before_thread_runs_arch
     
    4645.global dummy
    4746
     47memcpy:
    4848memcopy:
    4949cpu_priority_read:
    5050memsetb:
    51 context_save:
    52 context_restore:
    5351before_thread_runs_arch:
    5452userspace:
  • arch/ppc/src/start.S

    rba18512 rb524f816  
    3636        bl early_init
    3737       
     38        lis r3, _hardcoded_ktext_size@ha
     39        addi r3, r3, _hardcoded_ktext_size@l
     40        lis r4, hardcoded_ktext_size@ha
     41        addi r4, r4, hardcoded_ktext_size@l
     42        stw r3, 0(r4)
     43       
     44        lis r3, _hardcoded_kdata_size@ha
     45        addi r3, r3, _hardcoded_kdata_size@l
     46        lis r4, hardcoded_kdata_size@ha
     47        addi r4, r4, hardcoded_kdata_size@l
     48        stw r3, 0(r4)
     49       
     50        lis r3, _hardcoded_load_address@ha
     51        addi r3, r3, _hardcoded_load_address@l
     52        lis r4, hardcoded_load_address@ha
     53        addi r4, r4, hardcoded_load_address@l
     54        stw r3, 0(r4)
     55       
    3856        b main_bsp
Note: See TracChangeset for help on using the changeset viewer.