From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arun Sharma Subject: [PATCH][5/5] x86-64-irq-cpustat.patch Date: Tue, 19 Apr 2005 15:52:48 -0700 Message-ID: <20050419225248.GA26406@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Pratt , Keir Fraser Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Use fixed size data types in irq_cpustat and check it properly for softirqs before vmresume. Signed-off-by: Arun Sharma diff -Nru a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S --- a/xen/arch/x86/x86_64/entry.S 2005-04-18 16:49:38 -07:00 +++ b/xen/arch/x86/x86_64/entry.S 2005-04-18 16:49:38 -07:00 @@ -242,10 +242,10 @@ cli # tests must not race interrupts /*test_softirqs:*/ movq EDOMAIN_processor(%rbx),%rax -#if 0 shl $6,%rax # sizeof(irq_cpustat) == 64 - test %rcx,SYMBOL_NAME(irq_stat)(%rax,1) -#endif + leaq SYMBOL_NAME(irq_stat)(%rip), %rdx + addq %rdx,%rax + testl %ecx,(%rax) jnz vmx_process_softirqs vmx_restore_all_guest: diff -Nru a/xen/include/asm-x86/hardirq.h b/xen/include/asm-x86/hardirq.h --- a/xen/include/asm-x86/hardirq.h 2005-04-18 16:49:38 -07:00 +++ b/xen/include/asm-x86/hardirq.h 2005-04-18 16:49:38 -07:00 @@ -5,10 +5,10 @@ #include typedef struct { - unsigned int __softirq_pending; - unsigned int __local_irq_count; - unsigned int __nmi_count; - unsigned long idle_timestamp; + u32 __softirq_pending; + u32 __local_irq_count; + u32 __nmi_count; + u64 idle_timestamp; } __cacheline_aligned irq_cpustat_t; #include /* Standard mappings for irq_cpustat_t above */