WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] [patch] [4/4] Support INIT handler of xen

Hi, Alex

I forgot README.origin update, I'm sorry.
The first I made a small patch with cut&paste without ifdef.
But I remade a big patch with ifdef, because I think we may leverage the 
original mac code. I don't know this leverage, because another fujitsu 
member will make other mca code.
I think my ifdef is ugly, so I want to remake non-ifdef patch.
But I refer linux code, can I make xen-mca code wiht cut&paste 
without ifdef in arch/ia64/linux-xen?

Best Regards,

Akio Takebe
>Hi Akio,
>
>   A few more comments...
>
>On Mon, 2006-06-12 at 15:08 +0900, Akio Takebe wrote:
>> diff -r aa2298739112 xen/arch/ia64/linux-xen/Makefile
>> --- a/xen/arch/ia64/linux-xen/Makefile  Fri Jun 09 10:40:31 2006 -0600
>> +++ b/xen/arch/ia64/linux-xen/Makefile  Mon Jun 12 03:21:27 2006 +0900
>> @@ -3,6 +3,8 @@ obj-y += irq_ia64.o
>>  obj-y += irq_ia64.o
>>  obj-y += mm_contig.o
>>  obj-y += pal.o
>> +obj-y += mca_asm.o
>> +obj-y += mca.o
>
>   Need a README.origin update too.
>
>> +#include <linux/interrupt.h>
>> +#include <linux/irq.h>
>> +#ifdef XEN
>> +#include <xen/symbols.h>
>> +#else
>> +#include <linux/kallsyms.h>
>> +#endif /* XEN */
>> +#include <linux/smp_lock.h>
>> +#include <linux/bootmem.h>
>> +#include <linux/acpi.h>
>> +#include <linux/timer.h>
>> +#include <linux/module.h>
>> +#include <linux/kernel.h>
>> +#include <linux/smp.h>
>> +#ifndef XEN
>> +#include <linux/workqueue.h>
>> +#endif /* !XEN */
>
>   I wouldn't bother with the /* XEN */ when there's so little code
>between the #ifdef and #endif.
>
>> +#include <asm/delay.h>
>> +#include <asm/machvec.h>
>> +#include <asm/page.h>
>> +#include <asm/ptrace.h>
>> +#include <asm/system.h>
>> +#include <asm/sal.h>
>> +#include <asm/mca.h>
>> +
>> +#include <asm/irq.h>
>> +#include <asm/hw_irq.h>
>> +#ifndef XEN
>> +#include <asm/crashdump.h>
>> +#endif /* !XEN */
>> +#ifdef XEN
>
>#else?
>
>
>> +#ifdef XEN
>> +        fetch_min_state(ms, pt, sw);
>> +        spin_lock(&show_stack_lock);
>> +        show_min_state(ms);
>> +        printk("Backtrace of current vcpu (vcpu_id %d)\n",
>> current->vcpu_id);
>> +        unw_init_from_interruption(&info, current, pt, sw);
>> +        ia64_do_show_stack(&info, NULL);
>> +        unw_init_running(save_ksp, NULL);
>> +        spin_unlock(&show_stack_lock);
>> +        wmb();
>> +       init_cache_flush();
>> +        
>> +        if (spin_trylock(&init_dump_lock)){
>> +#ifdef CONFIG_SMP
>> +                udelay(5*1000000);
>> +#endif 
>> +                
>> +                if(try_crashdump(pt) == 0)
>> +                        printk("\nINIT dump complete.  Please reboot
>> now.\n");
>> +        }
>> +       printk("%s: CPU%d init handler done\n",
>> __FUNCTION__ ,smp_processor_id());
>
>
>   I'm not completely sure of the leverage we're getting by wedging this
>#ifdef XEN section into the existing init_handler_platform() function.
>Maybe we should #ifdef out the whole function and make our own for xen?
>
>  In fact, the number of non-#ifdef'd out code in both mca.c and
>mca_asm.S is fairly small.  Are we planning to leverage more code out of
>these in the future?  I wonder if we'd be ahead to cut and paste the
>little bits we are using into xen-specific files(?).  Thanks,
>
>       Alex
>
>-- 
>Alex Williamson                             HP Open Source & Linux Org.



_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel