svn commit: r209706 - user/nwhitehorn/ps3/powerpc/ps3

Nathan Whitehorn nwhitehorn at FreeBSD.org
Mon Jul 5 01:11:42 UTC 2010


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);


More information about the svn-src-user mailing list