Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 302777 Details for
Bug 437358
F-10 pv_ops xen: Add ia32 emulation
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
0004-Make-the-int80-and-syscall-vdso32-implementations-se.patch
0004-Make-the-int80-and-syscall-vdso32-implementations-se.patch (text/plain), 3.42 KB, created by
Mark McLoughlin
on 2008-04-17 17:51:24 UTC
(
hide
)
Description:
0004-Make-the-int80-and-syscall-vdso32-implementations-se.patch
Filename:
MIME Type:
Creator:
Mark McLoughlin
Created:
2008-04-17 17:51:24 UTC
Size:
3.42 KB
patch
obsolete
>From 663c968b942c33aa8f58b0136faf1ff38d1147b4 Mon Sep 17 00:00:00 2001 >From: Eduardo Habkost <ehabkost@redhat.com> >Date: Wed, 26 Mar 2008 13:16:40 -0300 >Subject: [PATCH] Make the int80 and syscall vdso32 implementations selectable by .config > >This will allow us to enable it when needed under Xen, on a further patch. > >This commit should be a no-op for existing code. > >Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> >--- > arch/x86/Kconfig | 19 +++++++++++++++++++ > arch/x86/vdso/Makefile | 2 +- > arch/x86/vdso/vdso32-setup.c | 18 +++++++++++++++++- > arch/x86/vdso/vdso32.S | 16 +++++++++++----- > 4 files changed, 48 insertions(+), 7 deletions(-) > >diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig >index f18418d..310ff62 100644 >--- a/arch/x86/Kconfig >+++ b/arch/x86/Kconfig >@@ -1216,6 +1216,25 @@ config COMPAT_VDSO > > If unsure, say Y. > >+ >+config VDSO_INT80 >+ def_bool X86_32 >+ >+config VDSO_SYSCALL >+ def_bool !X86_32 >+ >+ >+config VDSO_DEFAULT_INT80 >+ bool >+ default X86_32 >+ depends on VDSO_INT80 >+ >+config VDSO_DEFAULT_SYSCALL >+ bool >+ default !X86_32 >+ depends on VDSO_SYSCALL >+ >+ > endmenu > > config ARCH_ENABLE_MEMORY_HOTPLUG >diff --git a/arch/x86/vdso/Makefile b/arch/x86/vdso/Makefile >index 0a8f474..783fc0a 100644 >--- a/arch/x86/vdso/Makefile >+++ b/arch/x86/vdso/Makefile >@@ -61,7 +61,7 @@ $(obj)/%-syms.lds: $(obj)/%.so.dbg FORCE > # Build multiple 32-bit vDSO images to choose from at boot time. > # > obj-$(VDSO32-y) += vdso32-syms.lds >-vdso32.so-$(CONFIG_X86_32) += int80 >+vdso32.so-$(CONFIG_VDSO_INT80) += int80 > vdso32.so-$(CONFIG_COMPAT) += syscall > vdso32.so-$(VDSO32-y) += sysenter > >diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c >index d877d17..b9ca6b3 100644 >--- a/arch/x86/vdso/vdso32-setup.c >+++ b/arch/x86/vdso/vdso32-setup.c >@@ -197,10 +197,26 @@ static __init void relocate_vdso(Elf32_Ehdr *ehdr) > * These symbols are defined by vdso32.S to mark the bounds > * of the ELF DSO images included therein. > */ >-extern const char vdso32_default_start, vdso32_default_end; >+#ifdef CONFIG_VDSO_INT80 >+extern const char vdso32_int80_start, vdso32_int80_end; >+#endif >+#ifdef CONFIG_VDSO_SYSCALL >+extern const char vdso32_syscall_start, vdso32_syscall_end; >+#endif > extern const char vdso32_sysenter_start, vdso32_sysenter_end; > static struct page *vdso32_pages[1]; > >+ >+#ifdef CONFIG_VDSO_DEFAULT_INT80 >+# define vdso32_default_start vdso32_int80_start >+# define vdso32_default_end vdso32_int80_end >+#elif defined(CONFIG_VDSO_DEFAULT_SYSCALL) >+# define vdso32_default_start vdso32_syscall_start >+# define vdso32_default_end vdso32_syscall_end >+#else >+# error No CONFIG_VDSO_DEFAULT_ option is set >+#endif >+ > #ifdef CONFIG_X86_64 > > static int use_sysenter __read_mostly = -1; >diff --git a/arch/x86/vdso/vdso32.S b/arch/x86/vdso/vdso32.S >index 1e36f72..d4485fb 100644 >--- a/arch/x86/vdso/vdso32.S >+++ b/arch/x86/vdso/vdso32.S >@@ -2,14 +2,20 @@ > > __INITDATA > >- .globl vdso32_default_start, vdso32_default_end >-vdso32_default_start: >-#ifdef CONFIG_X86_32 >+#ifdef CONFIG_VDSO_INT80 >+ .globl vdso32_int80_start, vdso32_int80_end >+vdso32_int80_start: > .incbin "arch/x86/vdso/vdso32-int80.so" >-#else >+vdso32_int80_end: >+#endif >+ >+#ifdef CONFIG_VDSO_SYSCALL >+ .globl vdso32_syscall_start, vdso32_syscall_end >+vdso32_syscall_start: > .incbin "arch/x86/vdso/vdso32-syscall.so" >+vdso32_syscall_end: > #endif >-vdso32_default_end: >+ > > .globl vdso32_sysenter_start, vdso32_sysenter_end > vdso32_sysenter_start: >-- >1.5.4.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 437358
:
302774
|
302775
|
302776
| 302777 |
302778