xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ia64 build fixes
@ 2006-03-31 23:44 Alex Williamson
  2006-04-01 10:10 ` Keir Fraser
  0 siblings, 1 reply; 8+ messages in thread
From: Alex Williamson @ 2006-03-31 23:44 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen-devel, xen-ia64-devel


   Include features header in xenbus_probe and build features.c

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
---

diff -r d76a7a40f3a9 linux-2.6-xen-sparse/arch/ia64/xen/drivers/coreMakefile
--- a/linux-2.6-xen-sparse/arch/ia64/xen/drivers/coreMakefile	Fri Mar 31 17:44:26 2006 +0100
+++ b/linux-2.6-xen-sparse/arch/ia64/xen/drivers/coreMakefile	Fri Mar 31 16:31:41 2006 -0700
@@ -10,7 +10,7 @@ CPPFLAGS_vmlinux.lds += -U$(XENARCH)
 	@ln -fsn $(srctree)/arch/$(XENARCH)/kernel/vmlinux.lds.S $@
 
 
-obj-y   := gnttab.o
+obj-y   := gnttab.o features.o
 obj-$(CONFIG_PROC_FS) += xen_proc.o
 
 ifeq ($(ARCH),ia64)
diff -r d76a7a40f3a9 linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c	Fri Mar 31 17:44:26 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c	Fri Mar 31 16:31:41 2006 -0700
@@ -49,6 +49,7 @@
 #include <xen/xenbus.h>
 #include <xen/xen_proc.h>
 #include <xen/evtchn.h>
+#include <xen/features.h>
 
 #include "xenbus_comms.h"

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ia64 build fixes
  2006-03-31 23:44 [PATCH] ia64 build fixes Alex Williamson
@ 2006-04-01 10:10 ` Keir Fraser
  2006-04-01 21:46   ` Alex Williamson
  0 siblings, 1 reply; 8+ messages in thread
From: Keir Fraser @ 2006-04-01 10:10 UTC (permalink / raw)
  To: Alex Williamson; +Cc: xen-devel, xen-ia64-devel


On 1 Apr 2006, at 00:44, Alex Williamson wrote:

>    Include features header in xenbus_probe and build features.c
>
> Signed-off-by: Alex Williamson <alex.williamson@hp.com>

Taken, thanks. Can you also look at supporting HYPERVISOR_sched_op() 
before 3.0.2, in addition to the old HYPERVISOR_sched_op_compat()? It 
should be pretty trivial to do. You'd want to base the patch on a tree 
after changeset 9510, as I internally rename sched_op/sched_op_new in 
that patch.

After 3.0.2 we'll be removing the fallback to sched_op_compat in the 
Linux tree (it's fairly pointless as we broke compatibility of new 
guest on old Xen in other ways too since 3.0.1). If we do that before 
you add support for the new hypercall, we'll break ia64.

  -- Keir

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ia64 build fixes
  2006-04-01 10:10 ` Keir Fraser
@ 2006-04-01 21:46   ` Alex Williamson
  2006-04-02  8:20     ` Keir Fraser
  0 siblings, 1 reply; 8+ messages in thread
From: Alex Williamson @ 2006-04-01 21:46 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen-devel, xen-ia64-devel

On Sat, 2006-04-01 at 11:10 +0100, Keir Fraser wrote:
> Taken, thanks. Can you also look at supporting HYPERVISOR_sched_op() 
> before 3.0.2, in addition to the old HYPERVISOR_sched_op_compat()?

Keir,

   Here's a patch that enables HYPERVISOR_sched_op() and
HYPERVISOR_sched_opt_compat() for ia64.  We currently have no users of
this call, but there's no harm in enabling it (tested by adding a
HYPERVISOR_yield() call to default_idle()).  I did notice a problem with
the compat interface though, nothing defines __XEN_INTERFACE_VERSION__
for the build of xen.  We're therefore stuck on interface version
0x00000000 where __HYPERVISOR_sched_op_compat == __HYPERVISOR_sched_op.
Thanks,

	Alex

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
---

diff -r 60071beccf18 xen/arch/ia64/xen/hypercall.c
--- a/xen/arch/ia64/xen/hypercall.c	Sat Apr  1 14:59:12 2006 +0100
+++ b/xen/arch/ia64/xen/hypercall.c	Sat Apr  1 14:35:19 2006 -0700
@@ -38,7 +38,7 @@ hypercall_t ia64_hypercall_table[] =
 	(hypercall_t)do_ni_hypercall,		/* do_stack_switch */
 	(hypercall_t)do_ni_hypercall,		/* do_set_callbacks */
 	(hypercall_t)do_ni_hypercall,		/* do_fpu_taskswitch */		/*  5 */
-	(hypercall_t)do_ni_hypercall,		/* do_sched_op_compat */
+	(hypercall_t)do_sched_op_compat,
 	(hypercall_t)do_dom0_op,
 	(hypercall_t)do_ni_hypercall,		/* do_set_debugreg */
 	(hypercall_t)do_ni_hypercall,		/* do_get_debugreg */
@@ -61,7 +61,7 @@ hypercall_t ia64_hypercall_table[] =
 	(hypercall_t)do_ni_hypercall,		/* do_mmuext_op */
 	(hypercall_t)do_ni_hypercall,		/* do_acm_op */
 	(hypercall_t)do_ni_hypercall,		/* do_nmi_op */
-	(hypercall_t)do_ni_hypercall,		/*  */
+	(hypercall_t)do_sched_op,
 	(hypercall_t)do_ni_hypercall,		/*  */				/* 30 */
 	(hypercall_t)do_ni_hypercall		/*  */
 	};
@@ -70,6 +70,11 @@ xen_hypercall (struct pt_regs *regs)
 xen_hypercall (struct pt_regs *regs)
 {
 	switch (regs->r2) {
+	    case __HYPERVISOR_sched_op_compat:
+		regs->r8 = do_sched_op_compat((int) regs->r14,
+		                              (unsigned long) regs->r15);
+		break;
+
 	    case __HYPERVISOR_dom0_op:
 		regs->r8 = do_dom0_op(guest_handle_from_ptr(regs->r14,
 							    dom0_op_t));
@@ -116,6 +121,13 @@ xen_hypercall (struct pt_regs *regs)
 	    case __HYPERVISOR_multicall:
 		regs->r8 = do_multicall(guest_handle_from_ptr(regs->r14, multicall_entry_t), (unsigned int) regs->r15);
 		break;
+
+#if __XEN_INTERFACE_VERSION__ >= 0x00030101
+	    case __HYPERVISOR_sched_op:
+		regs->r8 = do_sched_op((int) regs->r14,
+		                       guest_handle_from_ptr(regs->r15, void));
+		break;
+#endif
 
 	    default:
 		printf("unknown xen hypercall %lx\n", regs->r2);

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ia64 build fixes
  2006-04-01 21:46   ` Alex Williamson
@ 2006-04-02  8:20     ` Keir Fraser
  2006-04-02  8:31       ` Keir Fraser
  2006-04-02  8:37       ` Ian Campbell
  0 siblings, 2 replies; 8+ messages in thread
From: Keir Fraser @ 2006-04-02  8:20 UTC (permalink / raw)
  To: Alex Williamson; +Cc: xen-devel, xen-ia64-devel


On 1 Apr 2006, at 22:46, Alex Williamson wrote:

>    Here's a patch that enables HYPERVISOR_sched_op() and
> HYPERVISOR_sched_opt_compat() for ia64.  We currently have no users of
> this call, but there's no harm in enabling it (tested by adding a
> HYPERVISOR_yield() call to default_idle()).  I did notice a problem 
> with
> the compat interface though, nothing defines __XEN_INTERFACE_VERSION__
> for the build of xen.  We're therefore stuck on interface version
> 0x00000000 where __HYPERVISOR_sched_op_compat == __HYPERVISOR_sched_op.

Well, it doesn't actually matter right now since Xen itself does not 
use the __HYPERVISOR_foo numbers. But yes, I can see this might bite us 
later so we ought to define it.

  -- Keir

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Re: [PATCH] ia64 build fixes
  2006-04-02  8:20     ` Keir Fraser
@ 2006-04-02  8:31       ` Keir Fraser
  2006-04-02  8:37       ` Ian Campbell
  1 sibling, 0 replies; 8+ messages in thread
From: Keir Fraser @ 2006-04-02  8:31 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen-devel, Alex Williamson, xen-ia64-devel


On 2 Apr 2006, at 09:20, Keir Fraser wrote:

>>    Here's a patch that enables HYPERVISOR_sched_op() and
>> HYPERVISOR_sched_opt_compat() for ia64.  We currently have no users of
>> this call, but there's no harm in enabling it (tested by adding a
>> HYPERVISOR_yield() call to default_idle()).  I did notice a problem 
>> with
>> the compat interface though, nothing defines __XEN_INTERFACE_VERSION__
>> for the build of xen.  We're therefore stuck on interface version
>> 0x00000000 where __HYPERVISOR_sched_op_compat == 
>> __HYPERVISOR_sched_op.
>
> Well, it doesn't actually matter right now since Xen itself does not 
> use the __HYPERVISOR_foo numbers. But yes, I can see this might bite 
> us later so we ought to define it.

Ah, I'm forgetting you have a hypercall switch statement. I'll add the 
version number.

With regard to your patch, actually I was thinking more about the vmx 
hypercall interface which already supports sched_op_compat --- should 
that one have sched_op added too, in vmx_hypercall.c?

  -- Keir

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Re: [PATCH] ia64 build fixes
  2006-04-02  8:20     ` Keir Fraser
  2006-04-02  8:31       ` Keir Fraser
@ 2006-04-02  8:37       ` Ian Campbell
  1 sibling, 0 replies; 8+ messages in thread
From: Ian Campbell @ 2006-04-02  8:37 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen-devel, Alex Williamson, xen-ia64-devel

On Sun, 2006-04-02 at 09:20 +0100, Keir Fraser wrote:
> On 1 Apr 2006, at 22:46, Alex Williamson wrote:
> 
> >    Here's a patch that enables HYPERVISOR_sched_op() and
> > HYPERVISOR_sched_opt_compat() for ia64.  We currently have no users of
> > this call, but there's no harm in enabling it (tested by adding a
> > HYPERVISOR_yield() call to default_idle()).  I did notice a problem 
> > with
> > the compat interface though, nothing defines __XEN_INTERFACE_VERSION__
> > for the build of xen.  We're therefore stuck on interface version
> > 0x00000000 where __HYPERVISOR_sched_op_compat == __HYPERVISOR_sched_op.
> 
> Well, it doesn't actually matter right now since Xen itself does not 
> use the __HYPERVISOR_foo numbers. But yes, I can see this might bite us 
> later so we ought to define it.

I was using them in some debugging code the other day and it bit me :-( 

Christian suggested changing xen-compat.h to use the maximum version
when compiling Xen. e.g.
        
        #ifndef __XEN_INTERFACE_VERSION__
        #ifdef __XEN__
        #define __XEN_INTERFACE_VERSION__ 0xffffffff
        #else
        #define __XEN_INTERFACE_VERSION__ 0x00000000
        #endif
        #endif

Ian.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: Re: [PATCH] ia64 build fixes
@ 2006-04-03  2:45 Tian, Kevin
  0 siblings, 0 replies; 8+ messages in thread
From: Tian, Kevin @ 2006-04-03  2:45 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen-devel, Alex Williamson, xen-ia64-devel

>From: Keir Fraser
>Sent: 2006年4月2日 16:32
>With regard to your patch, actually I was thinking more about the vmx
>hypercall interface which already supports sched_op_compat --- should
>that one have sched_op added too, in vmx_hypercall.c?
>
>  -- Keir
>

Vmx_hypercall.c is used in a broken feature where dom0 is also running 
with assist of VT-I, or may be used for future VTI domainN where some 
para-modules want to issue hypercall traffic with Xen. It's OK to forget this 
file for now and we will evaluate which set of ops are really required later, 
or even merge the two paths together when re-picking that model. :-)

Thanks,
Kevin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: Re: [PATCH] ia64 build fixes
@ 2006-04-25 19:59 Benson, Ronald A
  0 siblings, 0 replies; 8+ messages in thread
From: Benson, Ronald A @ 2006-04-25 19:59 UTC (permalink / raw)
  To: Alex Williamson, Keir Fraser; +Cc: xen-devel, xen-ia64-devel

[-- Attachment #1: Type: text/plain, Size: 3442 bytes --]

Any ideas on this failure when I try to boot Xen/ia64 on an Itanium 2
Processor system, the following message is repeated:

"unknown hypercall 17c6"

The number 17c6 sometimes changes and sometimes doesn't. 


Ronald A. Benson
 
 

-----Original Message-----
From: xen-ia64-devel-bounces@lists.xensource.com
[mailto:xen-ia64-devel-bounces@lists.xensource.com] On Behalf Of Alex
Williamson
Sent: Saturday, April 01, 2006 1:47 PM
To: Keir Fraser
Cc: xen-devel; xen-ia64-devel
Subject: [Xen-ia64-devel] Re: [PATCH] ia64 build fixes

On Sat, 2006-04-01 at 11:10 +0100, Keir Fraser wrote:
> Taken, thanks. Can you also look at supporting HYPERVISOR_sched_op() 
> before 3.0.2, in addition to the old HYPERVISOR_sched_op_compat()?

Keir,

   Here's a patch that enables HYPERVISOR_sched_op() and
HYPERVISOR_sched_opt_compat() for ia64.  We currently have no users of
this call, but there's no harm in enabling it (tested by adding a
HYPERVISOR_yield() call to default_idle()).  I did notice a problem with
the compat interface though, nothing defines __XEN_INTERFACE_VERSION__
for the build of xen.  We're therefore stuck on interface version
0x00000000 where __HYPERVISOR_sched_op_compat == __HYPERVISOR_sched_op.
Thanks,

	Alex

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
---

diff -r 60071beccf18 xen/arch/ia64/xen/hypercall.c
--- a/xen/arch/ia64/xen/hypercall.c	Sat Apr  1 14:59:12 2006 +0100
+++ b/xen/arch/ia64/xen/hypercall.c	Sat Apr  1 14:35:19 2006 -0700
@@ -38,7 +38,7 @@ hypercall_t ia64_hypercall_table[] =
 	(hypercall_t)do_ni_hypercall,		/* do_stack_switch */
 	(hypercall_t)do_ni_hypercall,		/* do_set_callbacks */
 	(hypercall_t)do_ni_hypercall,		/* do_fpu_taskswitch */
/*  5 */
-	(hypercall_t)do_ni_hypercall,		/* do_sched_op_compat */
+	(hypercall_t)do_sched_op_compat,
 	(hypercall_t)do_dom0_op,
 	(hypercall_t)do_ni_hypercall,		/* do_set_debugreg */
 	(hypercall_t)do_ni_hypercall,		/* do_get_debugreg */
@@ -61,7 +61,7 @@ hypercall_t ia64_hypercall_table[] =
 	(hypercall_t)do_ni_hypercall,		/* do_mmuext_op */
 	(hypercall_t)do_ni_hypercall,		/* do_acm_op */
 	(hypercall_t)do_ni_hypercall,		/* do_nmi_op */
-	(hypercall_t)do_ni_hypercall,		/*  */
+	(hypercall_t)do_sched_op,
 	(hypercall_t)do_ni_hypercall,		/*  */
/* 30 */
 	(hypercall_t)do_ni_hypercall		/*  */
 	};
@@ -70,6 +70,11 @@ xen_hypercall (struct pt_regs *regs)
 xen_hypercall (struct pt_regs *regs)
 {
 	switch (regs->r2) {
+	    case __HYPERVISOR_sched_op_compat:
+		regs->r8 = do_sched_op_compat((int) regs->r14,
+		                              (unsigned long)
regs->r15);
+		break;
+
 	    case __HYPERVISOR_dom0_op:
 		regs->r8 = do_dom0_op(guest_handle_from_ptr(regs->r14,
 							    dom0_op_t));
@@ -116,6 +121,13 @@ xen_hypercall (struct pt_regs *regs)
 	    case __HYPERVISOR_multicall:
 		regs->r8 = do_multicall(guest_handle_from_ptr(regs->r14,
multicall_entry_t), (unsigned int) regs->r15);
 		break;
+
+#if __XEN_INTERFACE_VERSION__ >= 0x00030101
+	    case __HYPERVISOR_sched_op:
+		regs->r8 = do_sched_op((int) regs->r14,
+		                       guest_handle_from_ptr(regs->r15,
void));
+		break;
+#endif
 
 	    default:
 		printf("unknown xen hypercall %lx\n", regs->r2);



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

[-- Attachment #2: Type: message/rfc822, Size: 6335 bytes --]

[-- Attachment #2.1.1: Type: text/plain, Size: 2158 bytes --]

Hi Eddie,

         When disable this compile option CONFIG_DOMAIN0_CONTIGUOUS with the latest CSet# 9000,  Xen hangs  during its boot process ,but when enable this option , It has nothing wrong .

 the serial output is as below : 

(XEN) About to call timer_init()

(XEN) About to call sort_main_extable()

(XEN) About to call domain_create()

(XEN) ###allocating rid_range, domain f000000007ff8900: starting_rid=40000, ending_rid=80000

(XEN) arch_domain_create: domain=f000000007ff8900

(XEN) About to call construct_dom0()

(XEN) *** LOADING DOMAIN 0 ***

(XEN) METAPHYSICAL MEMORY ARRANGEMENT:

(XEN)  Kernel image:  4000000->4dd00d0

(XEN)  Entry address: 400ff20

(XEN)  Init. ramdisk: 1fac0000 len 13e853

(XEN)  Start info.:   1fc00000->1fc04000

(XEN) assign_new_domain_page: Can't alloc!!!! Aaaargh!

(XEN) BUG at xen/domain.c:661

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

(XEN) unknown hypercall 1270

Thanks 
     Xiantao
CSD-OTC PRC Virtualization
Intel (China) Limited

________________________________

From: xen-ia64-devel-bounces@lists.xensource.com [mailto:xen-ia64-devel-bounces@lists.xensource.com] On Behalf Of Dong, Eddie
Sent: 2006年2月27日 15:54
To: xen-ia64-devel@lists.xensource.com
Subject: [Xen-ia64-devel] CONFIG_DOMAIN0_CONTIGUOUS in domain.c

 

All:

    I am not sure if somebody has tested the path with CONFIG_DOMAIN0_CONTIGUOUS in xen/arch/ia64/xen/domain.c disabled, as this is a must for p2m/vp coming patches, please echo if yes? If no, then it is an urgent task now to either remove the code or disable the configuration by default.

 

Thanks,eddie

 


[-- Attachment #2.1.2: ATT4927010.txt --]
[-- Type: text/plain, Size: 155 bytes --]

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

[-- Attachment #3: Type: text/plain, Size: 152 bytes --]

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-04-25 19:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-31 23:44 [PATCH] ia64 build fixes Alex Williamson
2006-04-01 10:10 ` Keir Fraser
2006-04-01 21:46   ` Alex Williamson
2006-04-02  8:20     ` Keir Fraser
2006-04-02  8:31       ` Keir Fraser
2006-04-02  8:37       ` Ian Campbell
  -- strict thread matches above, loose matches on Subject: below --
2006-04-03  2:45 Tian, Kevin
2006-04-25 19:59 Benson, Ronald A

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).