Module Name: src Committed By: snj Date: Wed Dec 3 23:02:24 UTC 2014
Modified Files: src/sys/arch/macppc/macppc [netbsd-7]: locore.S src/sys/arch/ofppc/ofppc [netbsd-7]: locore.S Log Message: Pull up following revision(s) (requested by chs in ticket #291): sys/arch/ofppc/ofppc/locore.S: revision 1.49 sys/arch/macppc/macppc/locore.S: revision 1.72 in the initial asm code, save the interesting caller-saved registers (containing "arg" and "len") across function calls to C code. fixes kernels built with gcc 4.8. To generate a diff of this commit: cvs rdiff -u -r1.71 -r1.71.10.1 src/sys/arch/macppc/macppc/locore.S cvs rdiff -u -r1.48 -r1.48.28.1 src/sys/arch/ofppc/ofppc/locore.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/macppc/macppc/locore.S diff -u src/sys/arch/macppc/macppc/locore.S:1.71 src/sys/arch/macppc/macppc/locore.S:1.71.10.1 --- src/sys/arch/macppc/macppc/locore.S:1.71 Thu Apr 11 18:36:44 2013 +++ src/sys/arch/macppc/macppc/locore.S Wed Dec 3 23:02:24 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.71 2013/04/11 18:36:44 macallan Exp $ */ +/* $NetBSD: locore.S,v 1.71.10.1 2014/12/03 23:02:24 snj Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -82,8 +82,10 @@ _C_LABEL(kernel_text): .text .globl __start __start: - bl _C_LABEL(cpu_model_init) /* init oeacpufeat */ bl _C_LABEL(ofwinit) /* init OF */ + mr 13,6 + mr 14,7 + bl _C_LABEL(cpu_model_init) /* init oeacpufeat */ li 0,0 mtmsr 0 /* Disable FPU/MMU/exceptions */ @@ -99,6 +101,8 @@ __start: addi 4,4,_C_LABEL(end)@l #if NKSYMS || defined(DDB) || defined(MODULAR) /* skip symbol table */ + mr 6,13 + mr 7,14 cmpwi 6,0 beq 1f add 9,6,7 /* r9 = args + l */ Index: src/sys/arch/ofppc/ofppc/locore.S diff -u src/sys/arch/ofppc/ofppc/locore.S:1.48 src/sys/arch/ofppc/ofppc/locore.S:1.48.28.1 --- src/sys/arch/ofppc/ofppc/locore.S:1.48 Mon Jun 20 19:56:12 2011 +++ src/sys/arch/ofppc/ofppc/locore.S Wed Dec 3 23:02:24 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.48 2011/06/20 19:56:12 matt Exp $ */ +/* $NetBSD: locore.S,v 1.48.28.1 2014/12/03 23:02:24 snj Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -80,6 +80,8 @@ _C_LABEL(kernel_text): .text .globl __start __start: + mr %r13,%r6 + mr %r14,%r7 bl _C_LABEL(ofwinit) /* init our OF hooks */ li %r0,0 @@ -104,6 +106,8 @@ __start: addi %r4,%r4,_C_LABEL(end)@l #if NKSYMS || defined(DDB) || defined(MODULAR) /* skip symbol table */ + mr %r6,%r13 + mr %r7,%r14 cmpwi %r6,0 beq 1f add %r9,%r6,%r7 /* r9 = args + l */