Re: [Xen-ia64-devel] [Patch] linux: set memory attribute in inlineasm
Hi, On Sat, Apr 05, 2008 at 04:33:12PM +0200, [EMAIL PROTECTED] wrote: Selon Isaku Yamahata [EMAIL PROTECTED]: diff -r bb2f8ba47833 include/asm-ia64/xen/privop.h --- a/include/asm-ia64/xen/privop.hTue Mar 25 12:37:54 2008 -0600 +++ b/include/asm-ia64/xen/privop.hSat Apr 05 07:27:30 2008 +0900 @@ -67,7 +67,7 @@ #endif #ifndef __ASSEMBLY__ -#define XEN_HYPER_SSM_I asm(break %0 : : i (HYPERPRIVOP_SSM_I)) +#define XEN_HYPER_SSM_I asm(break %0 : : i (HYPERPRIVOP_SSM_I): memory) #define XEN_HYPER_GET_IVR asm(break %0 : : i (HYPERPRIVOP_GET_IVR)) // Shouldn't those be asm volatile, but asm? IIRC, according to the gcc doc asm without outputs are volatile. Ah, right. From gcc info. Assembler Instructions with C Expression Operands An `asm' instruction without any output operands will be treated identically to a volatile `asm' instruction. Thank you for your comments. I also think it's right. And I found XEN_HYPER_GET_IVR is wrong because it doesn't have return value. But it is not used, so I just remove it. I updated my patch. Signed-off-by: Akio Takebe [EMAIL PROTECTED] Best Regards, Akio Takebe inline_asm_barrier.3.patch Description: Binary data ___ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel
Re: [Xen-ia64-devel] [Patch] linux: set memory attribute in inlineasm
On Sat, Apr 05, 2008 at 04:33:12PM +0200, [EMAIL PROTECTED] wrote: Selon Isaku Yamahata [EMAIL PROTECTED]: diff -r bb2f8ba47833 include/asm-ia64/xen/privop.h --- a/include/asm-ia64/xen/privop.h Tue Mar 25 12:37:54 2008 -0600 +++ b/include/asm-ia64/xen/privop.h Sat Apr 05 07:27:30 2008 +0900 @@ -67,7 +67,7 @@ #endif #ifndef __ASSEMBLY__ -#defineXEN_HYPER_SSM_I asm(break %0 : : i (HYPERPRIVOP_SSM_I)) +#defineXEN_HYPER_SSM_I asm(break %0 : : i (HYPERPRIVOP_SSM_I): memory) #defineXEN_HYPER_GET_IVR asm(break %0 : : i (HYPERPRIVOP_GET_IVR)) // Shouldn't those be asm volatile, but asm? IIRC, according to the gcc doc asm without outputs are volatile. Ah, right. From gcc info. Assembler Instructions with C Expression Operands An `asm' instruction without any output operands will be treated identically to a volatile `asm' instruction. -- yamahata ___ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel
Re: [Xen-ia64-devel] [Patch] linux: set memory attribute in inlineasm
Selon Isaku Yamahata [EMAIL PROTECTED]: diff -r bb2f8ba47833 include/asm-ia64/xen/privop.h --- a/include/asm-ia64/xen/privop.h Tue Mar 25 12:37:54 2008 -0600 +++ b/include/asm-ia64/xen/privop.h Sat Apr 05 07:27:30 2008 +0900 @@ -67,7 +67,7 @@ #endif #ifndef __ASSEMBLY__ -#define XEN_HYPER_SSM_I asm(break %0 : : i (HYPERPRIVOP_SSM_I)) +#define XEN_HYPER_SSM_I asm(break %0 : : i (HYPERPRIVOP_SSM_I): memory) #define XEN_HYPER_GET_IVR asm(break %0 : : i (HYPERPRIVOP_GET_IVR)) // Shouldn't those be asm volatile, but asm? IIRC, according to the gcc doc asm without outputs are volatile. Tristan. ___ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel
Re: [Xen-ia64-devel] [Patch] linux: set memory attribute in inlineasm
Hi, Aron Hi Akio, Akio Takebe wrote: [Fri Apr 04 2008, 05:44:10AM EDT] @@ -251,7 +251,7 @@ extern void xen_set_eflag(unsigned long) #define xen_ia64_intrin_local_irq_restore(x) \ { \ if (is_running_on_xen()) { \ -if ((x) IA64_PSR_I) { xen_ssm_i(); } \ +if (x) { xen_ssm_i(); } \ else { xen_rsm_i(); } \ } \ else __ia64_intrin_local_irq_restore((x)); \ What does this part do? Thank you for your review. Sorry for my confusion. The (x)IA64_PSR_I should be not unnecessary part, because ia64_intrin_local_irq_restore() is always called via __local_irq_restore(x). It is the same as __ia64_intrin_local_irq_restore(x) in include/asm-ia64/gcc_intrin.h. But since it's a different concept with this title, I droped the hunk. Signed-off-by: Akio Takebe [EMAIL PROTECTED] Best Regards, Akio Takebe inline_asm_barrier.2.patch Description: Binary data ___ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel
Re: [Xen-ia64-devel] [Patch] linux: set memory attribute in inlineasm
diff -r bb2f8ba47833 include/asm-ia64/xen/privop.h --- a/include/asm-ia64/xen/privop.h Tue Mar 25 12:37:54 2008 -0600 +++ b/include/asm-ia64/xen/privop.h Sat Apr 05 07:27:30 2008 +0900 @@ -67,7 +67,7 @@ #endif #ifndef __ASSEMBLY__ -#defineXEN_HYPER_SSM_I asm(break %0 : : i (HYPERPRIVOP_SSM_I)) +#defineXEN_HYPER_SSM_I asm(break %0 : : i (HYPERPRIVOP_SSM_I): memory) #defineXEN_HYPER_GET_IVR asm(break %0 : : i (HYPERPRIVOP_GET_IVR)) // Shouldn't those be asm volatile, but asm? -- yamahata ___ Xen-ia64-devel mailing list Xen-ia64-devel@lists.xensource.com http://lists.xensource.com/xen-ia64-devel