Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/hpc/stand/hpcboot/arm Pass bootargs like usual func...



details:   https://anonhg.NetBSD.org/src/rev/571405344396
branches:  trunk
changeset: 507485:571405344396
user:      toshii <toshii%NetBSD.org@localhost>
date:      Fri Mar 23 08:48:12 2001 +0000

description:
Pass bootargs like usual function calls.
Initialize sp register to more useful value.

diffstat:

 sys/arch/hpc/stand/hpcboot/arm/arm.asm      |  21 +++++++++++++++++----
 sys/arch/hpc/stand/hpcboot/arm/arm_arch.cpp |   4 ++--
 2 files changed, 19 insertions(+), 6 deletions(-)

diffs (62 lines):

diff -r 493742238381 -r 571405344396 sys/arch/hpc/stand/hpcboot/arm/arm.asm
--- a/sys/arch/hpc/stand/hpcboot/arm/arm.asm    Fri Mar 23 08:46:56 2001 +0000
+++ b/sys/arch/hpc/stand/hpcboot/arm/arm.asm    Fri Mar 23 08:48:12 2001 +0000
@@ -1,4 +1,4 @@
-;      $NetBSD: arm.asm,v 1.1 2001/02/09 18:34:49 uch Exp $    
+;      $NetBSD: arm.asm,v 1.2 2001/03/23 08:48:12 toshii Exp $ 
 ;
 ; Copyright (c) 2001 The NetBSD Foundation, Inc.
 ; All rights reserved.
@@ -407,8 +407,11 @@
        
 |page_memcpy4|                 ; memcpy (dst, src, sz) uncached.
        ldr     r0, [r3], #4
+       ldr     r5, [r3], #4
        str     r0, [r4], #4
        cmp     r4, r6
+       strlt   r5, [r4], #4
+       cmplt   r4, r6
        blt     |page_memcpy4|
 
        b       |page_loop|
@@ -423,9 +426,19 @@
 ;      ldr     r0, [r7]
 ;      ldr     r0, [r0]
 ;      bl      hexdump 
-       
-       ldr     r0, [r7]
-       mov     pc, r0
+
+       ; set stack pointer
+       mov     r5, #4096
+       add     r6, r6, #8192
+       sub     r5, r5, #1
+       bic     sp, r6, r5
+
+       ; set bootargs
+       ldr     r4, [r7]
+       ldr     r0, [r7, #4]
+       ldr     r1, [r7, #8]
+       ldr     r2, [r7, #12]
+       mov     pc, r4
        ; NOTREACHED
        
 |infinite_loop|
diff -r 493742238381 -r 571405344396 sys/arch/hpc/stand/hpcboot/arm/arm_arch.cpp
--- a/sys/arch/hpc/stand/hpcboot/arm/arm_arch.cpp       Fri Mar 23 08:46:56 2001 +0000
+++ b/sys/arch/hpc/stand/hpcboot/arm/arm_arch.cpp       Fri Mar 23 08:48:12 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: arm_arch.cpp,v 1.1 2001/02/09 18:34:49 uch Exp $       */
+/*     $NetBSD: arm_arch.cpp,v 1.2 2001/03/23 08:48:12 toshii Exp $    */
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -128,7 +128,7 @@
 
        // stack for bootloader
        _mem->getPage(v, p);
-       sp = ptokv(p);
+       sp = ptokv(p) + _mem->getPageSize();
 
        // writeback whole D-cache
        WritebackDCache();



Home | Main Index | Thread Index | Old Index