rpms/kernel-xen-2.6/devel linux-2.6-xen-0019-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch, NONE, 1.1 linux-2.6-xen-0020-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch, NONE, 1.1 Makefile, 1.5, 1.6 Makefile.config, 1.5, 1.6 kernel.spec, 1.19, 1.20 linux-2.6-xen-0014-xen-Add-proc-xen-privcmd.patch, 1.1, 1.2 linux-2.6-xen-0015-xen-Add-proc-xen-xenbus.patch, 1.1, 1.2 linux-2.6-xen-0016-xen-Add-Xen-s-sys-hypervisor-interface.patch, 1.1, 1.2 linux-2.6-xen-0017-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch, 1.1, 1.2 linux-2.6-xen-0018-xen-x86_64-Initial-x86_64-support-for-Xen-paravirt_.patch, 1.1, 1.2

Mark McLoughlin (markmc) fedora-extras-commits at redhat.com
Tue Mar 25 12:38:07 UTC 2008


Author: markmc

Update of /cvs/pkgs/rpms/kernel-xen-2.6/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18470

Modified Files:
	Makefile Makefile.config kernel.spec 
	linux-2.6-xen-0014-xen-Add-proc-xen-privcmd.patch 
	linux-2.6-xen-0015-xen-Add-proc-xen-xenbus.patch 
	linux-2.6-xen-0016-xen-Add-Xen-s-sys-hypervisor-interface.patch 
	linux-2.6-xen-0017-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch 
	linux-2.6-xen-0018-xen-x86_64-Initial-x86_64-support-for-Xen-paravirt_.patch 
Added Files:
	linux-2.6-xen-0019-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch 
	linux-2.6-xen-0020-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch 
Log Message:
Fix execshield build on 64 bit


linux-2.6-xen-0019-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch:

--- NEW FILE linux-2.6-xen-0019-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch ---
>From d4bf841ac2ddf7692b8c101ce5e787a21b01aa49 Mon Sep 17 00:00:00 2001
From: Mark McLoughlin <markmc at redhat.com>
Date: Thu, 6 Mar 2008 11:10:59 +0000
Subject: [PATCH] xen x86_64: Add 64 bit version of privcmd_hypercall()

Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 include/asm-x86/xen/hypercall.h |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/include/asm-x86/xen/hypercall.h b/include/asm-x86/xen/hypercall.h
index a99725b..77108b4 100644
--- a/include/asm-x86/xen/hypercall.h
+++ b/include/asm-x86/xen/hypercall.h
@@ -545,6 +545,7 @@ MULTI_stack_switch(struct multicall_entry *mcl,
 
 #include <xen/sys/privcmd.h>
 
+#ifdef CONFIG_X86_32
 static inline int privcmd_hypercall(privcmd_hypercall_t *hypercall)
 {
 	int ret;
@@ -570,5 +571,32 @@ static inline int privcmd_hypercall(privcmd_hypercall_t *hypercall)
 
 	return ret;
 }
+#else /* CONFIG_X86_32 */
+static inline int privcmd_hypercall(privcmd_hypercall_t *hypercall)
+{
+	int ret;
+        long ign1, ign2, ign3;
+
+	if (hypercall->op >= (PAGE_SIZE >> 5))
+		return -EINVAL;
+
+        __asm__ __volatile__ (
+		"movq %8,%%r10; movq %9,%%r8;"
+                "shll $5,%%eax ;"
+                "addq $hypercall_page,%%rax ;"
+                "call *%%rax"
+                : "=a" (ret), "=D" (ign1),
+                  "=S" (ign2), "=d" (ign3)
+                : "0" ((unsigned int)hypercall->op),
+                  "1" (hypercall->arg[0]),
+                  "2" (hypercall->arg[1]),
+                  "3" (hypercall->arg[2]),
+                  "g" (hypercall->arg[3]),
+                  "g" (hypercall->arg[4])
+                : "r8", "r10", "memory" );
+
+	return ret;
+}
+#endif /* CONFIG_X86_32 */
 
 #endif /* __HYPERCALL_H__ */
-- 
1.5.4.1


linux-2.6-xen-0020-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch:

--- NEW FILE linux-2.6-xen-0020-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch ---
>From af67b369c3ed0720a78fd341dcabc30c0e49cad1 Mon Sep 17 00:00:00 2001
From: Mark McLoughlin <markmc at redhat.com>
Date: Tue, 25 Mar 2008 11:56:43 +0000
Subject: [PATCH] xen x86_64: Only define load_user_cs_desc() on 32 bit

load_user_cs_desc() is only used on 32 bit, so only
define it in that case.

Fixes compile failure in native_load_user_cs_desc()
since mm_context_t->user_cs is only available on
32 bit.

Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 arch/x86/kernel/paravirt.c |    2 ++
 arch/x86/xen/enlighten.c   |    4 ++++
 include/asm-x86/desc.h     |    4 ++++
 include/asm-x86/paravirt.h |    4 ++++
 4 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index db46adb..a8fce34 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -331,7 +331,9 @@ struct pv_cpu_ops pv_cpu_ops = {
 	.read_tscp = native_read_tscp,
 	.load_tr_desc = native_load_tr_desc,
 	.set_ldt = native_set_ldt,
+#ifdef CONFIG_X86_32
 	.load_user_cs_desc = native_load_user_cs_desc,
+#endif
 	.load_gdt = native_load_gdt,
 	.load_idt = native_load_idt,
 	.store_gdt = native_store_gdt,
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index d29a645..5d37ee5 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -336,6 +336,7 @@ static void xen_set_ldt(const void *addr, unsigned entries)
 	xen_mc_issue(PARAVIRT_LAZY_CPU);
 }
 
+#ifdef CONFIG_X86_32
 static inline void xen_load_user_cs_desc(int cpu, struct mm_struct *mm)
 {
 	void *gdt;
@@ -351,6 +352,7 @@ static inline void xen_load_user_cs_desc(int cpu, struct mm_struct *mm)
 
 	HYPERVISOR_update_descriptor(mgdt.maddr, descriptor);
 }
+#endif
 
 static void xen_load_gdt(const struct desc_ptr *dtr)
 {
@@ -1074,7 +1076,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
 
 	.load_tr_desc = paravirt_nop,
 	.set_ldt = xen_set_ldt,
+#ifdef CONFIG_X86_32
 	.load_user_cs_desc = xen_load_user_cs_desc,
+#endif
 	.load_gdt = xen_load_gdt,
 	.load_idt = xen_load_idt,
 	.load_tls = xen_load_tls,
diff --git a/include/asm-x86/desc.h b/include/asm-x86/desc.h
index ec3a84a..9b280be 100644
--- a/include/asm-x86/desc.h
+++ b/include/asm-x86/desc.h
@@ -95,7 +95,9 @@ static inline int desc_empty(const void *ptr)
 
 #define load_TLS(t, cpu) native_load_tls(t, cpu)
 #define set_ldt native_set_ldt
+#ifdef CONFIG_X86_32
 #define load_user_cs_desc native_load_user_cs_desc
+#endif
 
 #define write_ldt_entry(dt, entry, desc) \
 				native_write_ldt_entry(dt, entry, desc)
@@ -362,10 +364,12 @@ static inline void set_user_cs(struct desc_struct *desc, unsigned long limit)
 	desc->b = (limit & 0xf0000) | 0x00c0fb00;
 }
 
+#ifdef CONFIG_X86_32
 static inline void native_load_user_cs_desc(int cpu, struct mm_struct *mm)
 {
 	get_cpu_gdt_table(cpu)[GDT_ENTRY_DEFAULT_USER_CS] = mm->context.user_cs;
 }
+#endif
 
 #ifdef CONFIG_X86_32
 extern void arch_add_exec_range(struct mm_struct *mm, unsigned long limit);
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h
index 6b469a7..23bcf67 100644
--- a/include/asm-x86/paravirt.h
+++ b/include/asm-x86/paravirt.h
@@ -113,7 +113,9 @@ struct pv_cpu_ops {
 	void (*store_gdt)(struct desc_ptr *);
 	void (*store_idt)(struct desc_ptr *);
 	void (*set_ldt)(const void *desc, unsigned entries);
+#ifdef CONFIG_X86_32
 	void (*load_user_cs_desc)(int cpu, struct mm_struct *mm);
+#endif
 	unsigned long (*store_tr)(void);
 	void (*load_tls)(struct thread_struct *t, unsigned int cpu);
 #ifdef CONFIG_X86_64
@@ -768,11 +770,13 @@ static inline void set_ldt(const void *addr, unsigned entries)
 {
 	PVOP_VCALL2(pv_cpu_ops.set_ldt, addr, entries);
 }
+#ifdef CONFIG_X86_32
 static inline void load_user_cs_desc(unsigned int cpu, 
 				     struct mm_struct *mm)
 {
 	PVOP_VCALL2(pv_cpu_ops.load_user_cs_desc, cpu, mm);
 }
+#endif
 static inline void store_gdt(struct desc_ptr *dtr)
 {
 	PVOP_VCALL1(pv_cpu_ops.store_gdt, dtr);
-- 
1.5.4.1







Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/kernel.spec,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- kernel.spec	25 Mar 2008 10:49:00 -0000	1.19
+++ kernel.spec	25 Mar 2008 12:37:23 -0000	1.20
@@ -688,6 +688,8 @@
 Patch5015: linux-2.6-xen-0016-xen-Add-Xen-s-sys-hypervisor-interface.patch
 Patch5016: linux-2.6-xen-0017-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch
 Patch5017: linux-2.6-xen-0018-xen-x86_64-Initial-x86_64-support-for-Xen-paravirt_.patch
+Patch5018: linux-2.6-xen-0019-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch
+Patch5019: linux-2.6-xen-0020-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch
 # kernel-xen patches end
 
 # Xen hypervisor patches (20000+)
@@ -1253,6 +1255,8 @@
 ApplyPatch linux-2.6-xen-0017-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch
 %ifarch x86_64
 ApplyPatch linux-2.6-xen-0018-xen-x86_64-Initial-x86_64-support-for-Xen-paravirt_.patch
+ApplyPatch linux-2.6-xen-0019-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch
+ApplyPatch linux-2.6-xen-0020-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch
 %endif
 # kernel-xen apply end
 

linux-2.6-xen-0014-xen-Add-proc-xen-privcmd.patch:

Index: linux-2.6-xen-0014-xen-Add-proc-xen-privcmd.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0014-xen-Add-proc-xen-privcmd.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0014-xen-Add-proc-xen-privcmd.patch	25 Mar 2008 10:49:00 -0000	1.1
+++ linux-2.6-xen-0014-xen-Add-proc-xen-privcmd.patch	25 Mar 2008 12:37:23 -0000	1.2
@@ -1,4 +1,4 @@
-From c74a776c532b8f81319ae0eb9fb8f538b4ada503 Mon Sep 17 00:00:00 2001
+From 4ab4513514884f77555daa12172c3537e8d4765b Mon Sep 17 00:00:00 2001
 From: Mark McLoughlin <markmc at redhat.com>
 Date: Mon, 4 Feb 2008 08:24:57 +0000
 Subject: [PATCH] xen: Add /proc/xen/privcmd
@@ -17,9 +17,9 @@
  drivers/xen/xenctrl/main.c      |    6 +++
  drivers/xen/xenctrl/privcmd.c   |   81 +++++++++++++++++++++++++++++++++++++++
  drivers/xen/xenctrl/xenctrl.h   |    6 +++
- include/asm-x86/xen/hypercall.h |   56 +++++++++++++++++++++++++++
+ include/asm-x86/xen/hypercall.h |   28 +++++++++++++
  include/xen/sys/privcmd.h       |   79 ++++++++++++++++++++++++++++++++++++++
- 6 files changed, 229 insertions(+), 0 deletions(-)
+ 6 files changed, 201 insertions(+), 0 deletions(-)
  create mode 100644 drivers/xen/xenctrl/privcmd.c
  create mode 100644 include/xen/sys/privcmd.h
 
@@ -159,16 +159,15 @@
 +int privcmd_create_proc_entry(void) __init;
 +void privcmd_remove_proc_entry(void) __exit;
 diff --git a/include/asm-x86/xen/hypercall.h b/include/asm-x86/xen/hypercall.h
-index bc0ee7d..b0c518c 100644
+index bc0ee7d..cd554ca 100644
 --- a/include/asm-x86/xen/hypercall.h
 +++ b/include/asm-x86/xen/hypercall.h
-@@ -410,4 +410,60 @@ MULTI_stack_switch(struct multicall_entry *mcl,
+@@ -410,4 +410,32 @@ MULTI_stack_switch(struct multicall_entry *mcl,
  	mcl->args[1] = esp;
  }
  
 +#include <xen/sys/privcmd.h>
 +
-+#ifdef CONFIG_X86_32
 +static inline int privcmd_hypercall(privcmd_hypercall_t *hypercall)
 +{
 +	int ret;
@@ -194,33 +193,6 @@
 +
 +	return ret;
 +}
-+#else /* CONFIG_X86_32 */
-+static inline int privcmd_hypercall(privcmd_hypercall_t *hypercall)
-+{
-+	int ret;
-+        long ign1, ign2, ign3;
-+
-+	if (hypercall->op >= (PAGE_SIZE >> 5))
-+		return -EINVAL;
-+
-+        __asm__ __volatile__ (
-+		"movq %8,%%r10; movq %9,%%r8;"
-+                "shll $5,%%eax ;"
-+                "addq $hypercall_page,%%rax ;"
-+                "call *%%rax"
-+                : "=a" (ret), "=D" (ign1),
-+                  "=S" (ign2), "=d" (ign3)
-+                : "0" ((unsigned int)hypercall->op),
-+                  "1" (hypercall->arg[0]),
-+                  "2" (hypercall->arg[1]),
-+                  "3" (hypercall->arg[2]),
-+                  "g" (hypercall->arg[3]),
-+                  "g" (hypercall->arg[4])
-+                : "r8", "r10", "memory" );
-+
-+	return ret;
-+}
-+#endif /* CONFIG_X86_32 */
 +
  #endif /* __HYPERCALL_H__ */
 diff --git a/include/xen/sys/privcmd.h b/include/xen/sys/privcmd.h

linux-2.6-xen-0015-xen-Add-proc-xen-xenbus.patch:

Index: linux-2.6-xen-0015-xen-Add-proc-xen-xenbus.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0015-xen-Add-proc-xen-xenbus.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0015-xen-Add-proc-xen-xenbus.patch	25 Mar 2008 10:49:00 -0000	1.1
+++ linux-2.6-xen-0015-xen-Add-proc-xen-xenbus.patch	25 Mar 2008 12:37:23 -0000	1.2
@@ -1,4 +1,4 @@
-From f96416ef6d859c2fb80658988c58635114f5285c Mon Sep 17 00:00:00 2001
+From 1e54b7b31d3e2834fa05ef676431ad6d39b6645b Mon Sep 17 00:00:00 2001
 From: Mark McLoughlin <markmc at redhat.com>
 Date: Mon, 4 Feb 2008 22:04:36 +0000
 Subject: [PATCH] xen: Add /proc/xen/xenbus

linux-2.6-xen-0016-xen-Add-Xen-s-sys-hypervisor-interface.patch:

Index: linux-2.6-xen-0016-xen-Add-Xen-s-sys-hypervisor-interface.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0016-xen-Add-Xen-s-sys-hypervisor-interface.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0016-xen-Add-Xen-s-sys-hypervisor-interface.patch	25 Mar 2008 10:49:00 -0000	1.1
+++ linux-2.6-xen-0016-xen-Add-Xen-s-sys-hypervisor-interface.patch	25 Mar 2008 12:37:23 -0000	1.2
@@ -1,4 +1,4 @@
-From 349ebcd3a208feb3885bf851ac525f77f75a5cc8 Mon Sep 17 00:00:00 2001
+From f4593b1a1231d896a0ee1f0263101f1900740fe7 Mon Sep 17 00:00:00 2001
 From: Mark McLoughlin <markmc at redhat.com>
 Date: Thu, 7 Feb 2008 15:32:28 +0000
 Subject: [PATCH] xen: Add Xen's /sys/hypervisor interface

linux-2.6-xen-0017-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch:

Index: linux-2.6-xen-0017-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0017-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0017-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch	25 Mar 2008 10:49:00 -0000	1.1
+++ linux-2.6-xen-0017-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch	25 Mar 2008 12:37:23 -0000	1.2
@@ -1,4 +1,4 @@
-From 77d15e86acc349ce5e61dce2cfcf256ba4c0ca66 Mon Sep 17 00:00:00 2001
+From eb0fca079c9c4915bf905d68357588e56380776d Mon Sep 17 00:00:00 2001
 From: Stephen Tweedie <sct at redhat.com>
 Date: Wed, 21 Nov 2007 18:40:31 +0000
 Subject: [PATCH] xen debug: Add xprintk to log directly via hypercall

linux-2.6-xen-0018-xen-x86_64-Initial-x86_64-support-for-Xen-paravirt_.patch:

Index: linux-2.6-xen-0018-xen-x86_64-Initial-x86_64-support-for-Xen-paravirt_.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0018-xen-x86_64-Initial-x86_64-support-for-Xen-paravirt_.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0018-xen-x86_64-Initial-x86_64-support-for-Xen-paravirt_.patch	25 Mar 2008 10:49:00 -0000	1.1
+++ linux-2.6-xen-0018-xen-x86_64-Initial-x86_64-support-for-Xen-paravirt_.patch	25 Mar 2008 12:37:23 -0000	1.2
@@ -1,4 +1,4 @@
-From 461a91a1927aaded2df4dbde682e1aa9f35022ec Mon Sep 17 00:00:00 2001
+From 34be0a90c540c39211050ce73d55ef376db94968 Mon Sep 17 00:00:00 2001
 From: Mark McLoughlin <markmc at redhat.com>
 Date: Tue, 4 Mar 2008 17:59:50 +0000
 Subject: [PATCH] xen x86_64: Initial x86_64 support for Xen paravirt_ops
@@ -5282,7 +5282,7 @@
  
  /* Clear the 'TS' bit */
 diff --git a/include/asm-x86/xen/hypercall.h b/include/asm-x86/xen/hypercall.h
-index b0c518c..77108b4 100644
+index cd554ca..a99725b 100644
 --- a/include/asm-x86/xen/hypercall.h
 +++ b/include/asm-x86/xen/hypercall.h
 @@ -42,13 +42,43 @@




More information about the fedora-extras-commits mailing list