Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jul 2010 01:11:41 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r209706 - user/nwhitehorn/ps3/powerpc/ps3
Message-ID:  <201007050111.o651Bfpo099533@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nwhitehorn
Date: Mon Jul  5 01:11:41 2010
New Revision: 209706
URL: http://svn.freebsd.org/changeset/base/209706

Log:
  Missed some slots in the parameter save area, which caused hypercall stubs
  to trample over memory when given more than 8 arguments. While here,
  remove the comment pass-through for the ASM file. It caused problems,
  and isn't necessary.

Modified:
  user/nwhitehorn/ps3/powerpc/ps3/ps3-hv-asm.awk

Modified: user/nwhitehorn/ps3/powerpc/ps3/ps3-hv-asm.awk
==============================================================================
--- user/nwhitehorn/ps3/powerpc/ps3/ps3-hv-asm.awk	Mon Jul  5 01:09:59 2010	(r209705)
+++ user/nwhitehorn/ps3/powerpc/ps3/ps3-hv-asm.awk	Mon Jul  5 01:11:41 2010	(r209706)
@@ -13,10 +13,6 @@ BEGIN {
 	printf("#define hc .long 0x44000022\n\n");
 }
 
-/[ \/]\*.*/ {
-	print($0);
-}
-
 /HVCALL.*/ {
 	code = $2;
 	ins = split($4, a, ",")
@@ -33,7 +29,7 @@ BEGIN {
 	# Save output reg addresses to the stack
 	for (i = 0; i < outs; i++) {
 		if (ins+i >= 8) {
-		   printf("\tld	%%r11,%d(%%r1)\n", 48+8*outs + 48 + 8*i);
+		   printf("\tld	%%r11,%d(%%r1)\n", 48+8*outs + 48 + 8*(i+ins));
 		   printf("\tstd	%%r11,%d(%%r1)\n", 48+8*i);
 		} else {
 		   printf("\tstd	%%r%d,%d(%%r1)\n", 3+ins+i, 48+8*i);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007050111.o651Bfpo099533>