public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Akio Takebe <takebe_akio@jp.fujitsu.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [Xen-ia64-devel] [PATCH 7/8] ia64/xen: paravirtualize minstate.h, DO_SAVE_MIN.
Date: Wed, 27 Feb 2008 01:35:33 +0000	[thread overview]
Message-ID: <6C878E10BB9F9takebe_akio@jp.fujitsu.com> (raw)
In-Reply-To: <5C878E08C9E9Btakebe_akio@jp.fujitsu.com>

Hi, Isaku

>Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
>---
> arch/ia64/xen/xenminstate.h |  148 ++++++++++++++++++++++++++++++++++++++++
>+++
> 1 files changed, 148 insertions(+), 0 deletions(-)
> create mode 100644 arch/ia64/xen/xenminstate.h
>
>diff --git a/arch/ia64/xen/xenminstate.h b/arch/ia64/xen/xenminstate.h
>new file mode 100644
>index 0000000..cdaf910
>--- /dev/null
>+++ b/arch/ia64/xen/xenminstate.h
>@@ -0,0 +1,148 @@
>+#include <asm/cache.h>
>+
>+#ifdef CONFIG_XEN
>+#include "../kernel/entry.h"
>+#else
>+#include "entry.h"
>+#endif
>+
>+#ifdef __IA64_ASM_PARAVIRTUALIZED_XEN
>+/*
>+ * DO_SAVE_MIN switches to the kernel stacks (if necessary) and saves
>+ * the minimum state necessary that allows us to turn psr.ic back
>+ * on.
>+ *
>+ * Assumed state upon entry:
>+ *	psr.ic: off
>+ *	r31:	contains saved predicates (pr)
>+ *
>+ * Upon exit, the state is as follows:
>+ *	psr.ic: off
>+ *	 r2 = points to &pt_regs.r16
>+ *	 r8 = contents of ar.ccv
>+ *	 r9 = contents of ar.csd
>+ *	r10 = contents of ar.ssd
>+ *	r11 = FPSR_DEFAULT
>+ *	r12 = kernel sp (kernel virtual address)
>+ *	r13 = points to current task_struct (kernel virtual address)
>+ *	p15 = TRUE if psr.i is set in cr.ipsr
>+ *	predicate registers (other than p2, p3, and p15), b6, r3, r14, r15:
>+ *		preserved
>+ * CONFIG_XEN note: p6/p7 are not preserved
>+ *
>+ * Note that psr.ic is NOT turned on by this macro.  This is so that
>+ * we can pass interruption state as arguments to a handler.
>+ */
>+#define DO_SAVE_MIN(COVER,SAVE_IFS,EXTRA)					
		\
>+	mov r16=IA64_KR(CURRENT);	/* M */					
		\
>+	mov r27=ar.rsc;			/* M */					
		\
>+	mov r20=r1;			/* A */					
		\
>+	mov r25=ar.unat;		/* M */					
		\
>+	/* mov r29=cr.ipsr;		/* M */					
		\
>+	movl r29=XSI_IPSR;;							
		\
>+	ld8 r29=[r29];;								
		\
>+	mov r26=ar.pfs;			/* I */					
		\
>+	/* mov r28=cr.iip;		/* M */					
		\
>+	movl r28=XSI_IIP;;							
		\
>+	ld8 r28=[r28];;								
		\
>+	mov r21=ar.fpsr;		/* M */					
		\
>+	COVER;				/* B;; (or nothing) */			
		\
We may mis-read the above COVER as COVER in arch/ia64/xen/inst_xen.h.
Why don't chage the name?

Best Regards,

Akio Takebe


      reply	other threads:[~2008-02-27  1:35 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-27  1:32 [Xen-ia64-devel] [PATCH 7/8] ia64/xen: paravirtualize minstate.h, DO_SAVE_MIN Akio Takebe
2008-02-27  1:35 ` Akio Takebe [this message]

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=6C878E10BB9F9takebe_akio@jp.fujitsu.com \
    --to=takebe_akio@jp.fujitsu.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