diff options
author | dim <dim@FreeBSD.org> | 2010-11-18 18:30:03 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2010-11-18 18:30:03 +0000 |
commit | 79e78b2c61c034f70491270cd04b4c5672a6c0c7 (patch) | |
tree | 19350fb5ff0ba3262aa241208bd8a169711b7e9a /sys/boot/powerpc | |
parent | b0df1c137c1d7cc6c086e8c3de63b91a97e180c7 (diff) | |
download | FreeBSD-src-79e78b2c61c034f70491270cd04b4c5672a6c0c7.zip FreeBSD-src-79e78b2c61c034f70491270cd04b4c5672a6c0c7.tar.gz |
Sync: merge r215396 through r215463 from ^/head.
Diffstat (limited to 'sys/boot/powerpc')
-rw-r--r-- | sys/boot/powerpc/ofw/start.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/boot/powerpc/ofw/start.c b/sys/boot/powerpc/ofw/start.c index ff3fcd8..1988b3c 100644 --- a/sys/boot/powerpc/ofw/start.c +++ b/sys/boot/powerpc/ofw/start.c @@ -50,7 +50,20 @@ _start: \n\ addi %r1,%r1,stack@l \n\ addi %r1,%r1,8192 \n\ \n\ - b startup \n\ + /* Clear the .bss!!! */ \n\ + li %r0,0 \n\ + lis %r8,_edata@ha \n\ + addi %r8,%r8,_edata@l\n\ + lis %r9,_end@ha \n\ + addi %r9,%r9,_end@l \n\ + \n\ +1: cmpw 0,%r8,%r9 \n\ + bge 2f \n\ + stw %r0,0(%r8) \n\ + addi %r8,%r8,4 \n\ + b 1b \n\ + \n\ +2: b startup \n\ "); void |