[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] changes for illumos in public headers


  • To: xen-devel@xxxxxxxxxxxxx
  • From: Igor Kozhukhov <ikozhukhov@xxxxxxxxx>
  • Date: Thu, 12 Dec 2013 13:15:01 +0400
  • Delivery-date: Thu, 12 Dec 2013 09:15:31 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

Hello All,

i'm working on port xen-4.2 to DilOS - illumos based platform.

I have a questions about changes in public headers.

for build i need changes:

diff -r 9640d9c4b223 xen/include/public/arch-x86/xen-x86_32.h
--- a/xen/include/public/arch-x86/xen-x86_32.h  Tue Dec 10 16:21:57 2013 +0100
+++ b/xen/include/public/arch-x86/xen-x86_32.h  Thu Dec 12 13:07:50 2013 +0400
@@ -36,6 +36,19 @@
  * Clobbered: Argument registers (e.g., 2-arg hypercall clobbers %ebx,%ecx)
  */
 
+#if defined(__sun)
+/*
+ * Direct hypercall interface:
+ * As above, except the entry sequence to the hypervisor is:
+ *  mov $hypercall-number*32,%eax ; int $0x82
+ */
+#if !defined(_ASM)
+#define TRAP_INSTR "int $0x82"
+#else
+#define TRAP_INSTR int $0x82
+#endif
+#endif
+
 /*
  * These flat segments are in the Xen-private section of every GDT. Since these
  * are also present in the initial GDT, many OSes will be able to avoid
diff -r 9640d9c4b223 xen/include/public/arch-x86/xen-x86_64.h
--- a/xen/include/public/arch-x86/xen-x86_64.h  Tue Dec 10 16:21:57 2013 +0100
+++ b/xen/include/public/arch-x86/xen-x86_64.h  Thu Dec 12 13:07:50 2013 +0400
@@ -36,6 +36,20 @@
  * Clobbered: argument registers (e.g., 2-arg hypercall clobbers %rdi,%rsi)
  */
 
+#if defined(__sun)
+/*
+ * Direct hypercall interface:
+ * As above, except the entry sequence to the hypervisor is:
+ *  mov $hypercall-number*32,%eax ; syscall
+ * Clobbered: %rcx, %r11, argument registers (as above)
+ */
+#if !defined(_ASM)
+#define TRAP_INSTR "syscall"
+#else
+#define TRAP_INSTR syscall
+#endif
+#endif
+  
 /*
  * 64-bit segment selectors
  * These flat segments are in the Xen-private section of every GDT. Since these
diff -r 9640d9c4b223 xen/include/public/xen.h
--- a/xen/include/public/xen.h  Tue Dec 10 16:21:57 2013 +0100
+++ b/xen/include/public/xen.h  Thu Dec 12 13:07:50 2013 +0400
@@ -29,6 +29,20 @@
 
 #include "xen-compat.h"
 
+#if defined(__sun)
+#if defined(__i386) && !defined(__i386__)
+#define __i386__ /* foo */
+#endif
+
+#if defined(__amd64) && !defined(__x86_64__)
+#define __x86_64__
+#endif
+
+#if defined(_ASM) && !defined(__ASSEMBLY__)
+#define __ASSEMBLY__
+#endif
+#endif
+
 #if defined(__i386__) || defined(__x86_64__)
 #include "arch-x86/xen.h"
 #elif defined(__ia64__)

Signed-off-by: Igor Kozhukhov <ikozhukhov@xxxxxxxxx>

also in xen\include\public\trace.h
we have structure: struct t_info

it have conflict with another structure with the same name in illumos sources.
Question: can we rename structure name in xen to: struct t_info_xen

if yes - i can try to update xen code with it and send RTI.

please let me know about first changes in public headers - can integrate it to 
xen mainstream ?
or it is not applicable to xen ?

--
Best regards,
Igor Kozhukhov





_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.