Le Jeudi 15 Juin 2006 16:53, Alex Williamson a écrit :
> On Thu, 2006-06-15 at 10:07 +0200, Tristan Gingold wrote:
> > Le Jeudi 15 Juin 2006 00:24, Alex Williamson a écrit :
> > > On Wed, 2006-06-14 at 11:48 +0200, Tristan Gingold wrote:
> > > > Hi,
> > > >
> > > > this patch fixes a few issue, so that make debug=y works (in Xen).
> > > > I think it is expected by Fedora.
> > > >
> > > > Tested by booting dom0 (debug=y).
> > > > Tested by compiling without debug=y.
> > >
> > > Hi Tristan,
> > >
> > > This doesn't build for me, there are still things including
> > > asm/hardirq.h. Did you need me to make a hardirq.h in linux-null?
> >
> > Sorry, I forget an hg add.
> >
> > Here is the updated patch.
>
> Hi Tristan,
>
> I'm still a little confused about the hardirq.h stuff. Why drop
> include/asm-ia64/linux/asm/hardirq.h only to split it out into
> include/asm-ia64/linux-xen/linux/hardirq.h and a new
> include/asm-ia64/hardirq.h?
Xen expects an asm/hardirq.h. The later must have some definitions of
linux/hardirq.h
Linux headers expect a linux/hardirq.h
You might prefer the attached patch: it does not modify
linux-xen/linux/hardirq.h
(tested by compiling with and without debug=y)
> BTW, this latest patch doesn't remove
> include/asm-ia64/linux/asm/hardirq.h, but I assume that's still
> intended. Thanks,
Yes! (sorry)
Tristan.
# HG changeset patch
# User [EMAIL PROTECTED]
# Node ID 6f964c7b34d4ae61bdbd817cfcd4101cb838c0df
# Parent d33add81096b057f98fa740ab88d6c17426f8d68
Xen can now be compiled with debug=y
Signed-off-by: Tristan Gingold <[EMAIL PROTECTED]>
diff -r d33add81096b -r 6f964c7b34d4 xen/arch/ia64/vmx/vlsapic.c
--- a/xen/arch/ia64/vmx/vlsapic.c Wed Jun 14 16:05:45 2006 -0600
+++ b/xen/arch/ia64/vmx/vlsapic.c Thu Jun 15 16:01:57 2006 +0200
@@ -388,7 +388,7 @@ void vlsapic_reset(VCPU *vcpu)
vcpu->arch.arch_vmx.vlapic.vcpu = vcpu;
hvm_vioapic_add_lapic(&vcpu->arch.arch_vmx.vlapic, vcpu);
#endif
- DPRINTK("VLSAPIC inservice base=%lp\n", &VLSAPIC_INSVC(vcpu,0) );
+ DPRINTK("VLSAPIC inservice base=%p\n", &VLSAPIC_INSVC(vcpu,0) );
}
/*
diff -r d33add81096b -r 6f964c7b34d4 xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c Wed Jun 14 16:05:45 2006 -0600
+++ b/xen/arch/ia64/xen/domain.c Thu Jun 15 16:01:57 2006 +0200
@@ -202,7 +202,7 @@ void startup_cpu_idle_loop(void)
void startup_cpu_idle_loop(void)
{
/* Just some sanity to ensure that the scheduler is set up okay. */
- ASSERT(current->domain == IDLE_DOMAIN_ID);
+ ASSERT(current->domain->domain_id == IDLE_DOMAIN_ID);
raise_softirq(SCHEDULE_SOFTIRQ);
continue_cpu_idle_loop();
diff -r d33add81096b -r 6f964c7b34d4 xen/arch/ia64/xen/xenmisc.c
--- a/xen/arch/ia64/xen/xenmisc.c Wed Jun 14 16:05:45 2006 -0600
+++ b/xen/arch/ia64/xen/xenmisc.c Thu Jun 15 16:01:57 2006 +0200
@@ -167,6 +167,10 @@ void arch_dump_domain_info(struct domain
{
}
+void audit_domains_key(unsigned char key)
+{
+}
+
void panic_domain(struct pt_regs *regs, const char *fmt, ...)
{
va_list args;
diff -r d33add81096b -r 6f964c7b34d4 xen/include/asm-ia64/linux/asm/README.origin
--- a/xen/include/asm-ia64/linux/asm/README.origin Wed Jun 14 16:05:45 2006 -0600
+++ b/xen/include/asm-ia64/linux/asm/README.origin Thu Jun 15 16:01:57 2006 +0200
@@ -18,7 +18,6 @@ dma.h -> linux/include/asm-ia64/dma.h
dma.h -> linux/include/asm-ia64/dma.h
fpswa.h -> linux/include/asm-ia64/fpswa.h
fpu.h -> linux/include/asm-ia64/fpu.h
-hardirq.h -> linux/include/asm-ia64/hardirq.h
hdreg.h -> linux/include/asm-ia64/hdreg.h
hw_irq.h -> linux/include/asm-ia64/hw_irq.h
intrinsics.h -> linux/include/asm-ia64/intrinsics.h
diff -r d33add81096b -r 6f964c7b34d4 xen/include/asm-ia64/vmx_vpd.h
--- a/xen/include/asm-ia64/vmx_vpd.h Wed Jun 14 16:05:45 2006 -0600
+++ b/xen/include/asm-ia64/vmx_vpd.h Thu Jun 15 16:01:57 2006 +0200
@@ -102,7 +102,7 @@ struct arch_vmx_struct {
#define vmx_schedule_tail(next) \
(next)->thread.arch_vmx.arch_vmx_schedule_tail((next))
-#define VMX_DOMAIN(d) d->arch.arch_vmx.flags
+#define VMX_DOMAIN(v) v->arch.arch_vmx.flags
#define ARCH_VMX_IO_WAIT 3 /* Waiting for I/O completion */
#define ARCH_VMX_INTR_ASSIST 4 /* Need DM's assist to issue intr */
@@ -111,29 +111,9 @@ struct arch_vmx_struct {
#define VMX_DEBUG 1
#if VMX_DEBUG
-#define DBG_LEVEL_0 (1 << 0)
-#define DBG_LEVEL_1 (1 << 1)
-#define DBG_LEVEL_2 (1 << 2)
-#define DBG_LEVEL_3 (1 << 3)
-#define DBG_LEVEL_IO (1 << 4)
-#define DBG_LEVEL_VMMU (1 << 5)
-#define DBG_LEVEL_IOAPIC (1 << 6)
extern unsigned int opt_vmx_debug_level;
-#define VMX_DBG_LOG(level, _f, _a...) \
- if ((level) & opt_vmx_debug_level) \
- printk("[VMX]" _f "\n", ## _a )
-#else
-#define VMX_DBG_LOG(level, _f, _a...)
#endif
-
-#define __vmx_bug(regs) \
- do { \
- printk("__vmx_bug at %s:%d\n", __FILE__, __LINE__); \
- show_registers(regs); \
- domain_crash(current->domain); \
- } while (0)
-
#endif //__ASSEMBLY__
// VPD field offset
diff -r d33add81096b -r 6f964c7b34d4 xen/include/asm-ia64/hardirq.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xen/include/asm-ia64/hardirq.h Thu Jun 15 16:01:57 2006 +0200
@@ -0,0 +1,10 @@
+#ifndef __IA64__HARDIRQ__H__
+#define __IA64__HARDIRQ__H__
+
+#define __ARCH_IRQ_STAT 1
+#define HARDIRQ_BITS 14
+#include "linux/hardirq.h"
+
+#define local_softirq_pending() (local_cpu_data->softirq_pending)
+
+#endif
diff -r d33add81096b -r 6f964c7b34d4 xen/include/asm-ia64/linux/asm/hardirq.h
--- a/xen/include/asm-ia64/linux/asm/hardirq.h Wed Jun 14 16:05:45 2006 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-#ifndef _ASM_IA64_HARDIRQ_H
-#define _ASM_IA64_HARDIRQ_H
-
-/*
- * Modified 1998-2002, 2004 Hewlett-Packard Co
- * David Mosberger-Tang <[EMAIL PROTECTED]>
- */
-
-#include <linux/config.h>
-
-#include <linux/threads.h>
-#include <linux/irq.h>
-
-#include <asm/processor.h>
-
-/*
- * No irq_cpustat_t for IA-64. The data is held in the per-CPU data structure.
- */
-
-#define __ARCH_IRQ_STAT 1
-
-#define local_softirq_pending() (local_cpu_data->softirq_pending)
-
-#define HARDIRQ_BITS 14
-
-/*
- * The hardirq mask has to be large enough to have space for potentially all IRQ sources
- * in the system nesting on a single CPU:
- */
-#if (1 << HARDIRQ_BITS) < NR_IRQS
-# error HARDIRQ_BITS is too low!
-#endif
-
-extern void __iomem *ipi_base_addr;
-
-void ack_bad_irq(unsigned int irq);
-
-#endif /* _ASM_IA64_HARDIRQ_H */
_______________________________________________
Xen-ia64-devel mailing list
[email protected]
http://lists.xensource.com/xen-ia64-devel