public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
To: linux-ia64@vger.kernel.org
Subject: RE: [patch] ia64: fix potential NaT bit error for sys_pipe().
Date: Fri, 21 Jan 2005 18:48:46 +0000	[thread overview]
Message-ID: <200501211848.j0LImkg32357@unix-os.sc.intel.com> (raw)
In-Reply-To: <16878.2168.388519.26567@napali.hpl.hp.com>

David Mosberger  wrote on Thursday, January 20, 2005 9:53 AM:
> Please disregard the patch named in $SUBJECT.  It appears to be
> breaking light-weight syscalls.  That's rather odd, but since Rohit
> has some better ideas on how to fix this issue, I'd rather drop this
> patch for the time being (the root problem is still there and IMHO,
> needs to be fixed urgently).
>

Seth, Rohit wrote on Thursday, January 20, 2005 11:01 AM
> I will send out the first rev of patch today to address the
> functionality issue.  This patch will not worry about exporting the NAT
> bits in r8-r11 to user.  So, the ld.fills will be replaced by simple ld.
>
> Though, as per the disussions with David, there is scope of further
> optimization in the way we are saving/restoring r8-r11 in this code.
> This will probably need little more analysis to ensure best
> placement/scheduling of new code. Will send that later...


Here is the first part of the patch that Rohit mentioned earlier.

--- 1.1/arch/ia64/kernel/entry.S	Mon Oct 18 14:53:44 2004
+++ edited/arch/ia64/kernel/entry.S	Thu Jan 20 15:21:50 2005
@@ -614,8 +614,8 @@
 	adds r2=PT(R8)+16,sp			// r2 = &pt_regs.r8
 	adds r3=PT(R10)+16,sp			// r3 = &pt_regs.r10
 	;;
-.mem.offset 0,0; (p6) st8.spill [r2]=r8	// store return value in slot for r8 and set unat bit
-.mem.offset 8,0; (p6) st8.spill [r3]=r0	// clear error indication in slot for r10 and set unat bit
+.mem.offset 0,0; (p6) st8 [r2]=r8		// store return value in slot for r8
+.mem.offset 8,0; (p6) st8 [r3]=r0		// clear error indication in slot for r10
 (p7)	br.cond.spnt handle_syscall_error	// handle potential syscall failure
 END(ia64_ret_from_syscall)
 	// fall through
@@ -708,12 +708,12 @@
 (p6)	br.cond.spnt .work_pending
 	;;
 	// start restoring the state saved on the kernel stack (struct pt_regs):
-	ld8.fill r8=[r16],16
-	ld8.fill r9=[r17],16
+	ld8 r8=[r16],16
+	ld8 r9=[r17],16
 	mov f6ð		// clear f6
 	;;
-	ld8.fill r10=[r16],16
-	ld8.fill r11=[r17],16
+	ld8 r10=[r16],16
+	ld8 r11=[r17],16
 	mov f7ð		// clear f7
 	;;
 	ld8 r29=[r16],16	// load cr.ipsr

Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Signed-off-by: Rohit Seth <rohit.seth@intel.com>



  parent reply	other threads:[~2005-01-21 18:48 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-19  7:12 [patch] ia64: fix potential NaT bit error for sys_pipe() David Mosberger
2005-01-20 17:52 ` David Mosberger
2005-01-20 19:00 ` Seth, Rohit
2005-01-20 23:22 ` Seth, Rohit
2005-01-20 23:51 ` David Mosberger
2005-01-21  3:32 ` Chen, Kenneth W
2005-01-21 18:48 ` Chen, Kenneth W [this message]
2005-01-24  6:40 ` David Mosberger
2005-01-24 19:17 ` David Mosberger
2005-01-24 19:32 ` Chen, Kenneth W
2005-01-24 19:43 ` David Mosberger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200501211848.j0LImkg32357@unix-os.sc.intel.com \
    --to=kenneth.w.chen@intel.com \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox