* [tip:x86/vdso] x86, vdso: Do conditional fixmap of VVAR and HPET page
[not found] <1392587568-7325-11-git-send-email-stefani@seibold.net>
@ 2014-02-17 0:54 ` tip-bot for stefani@seibold.net
2014-02-17 3:51 ` tip-bot for stefani@seibold.net
1 sibling, 0 replies; 6+ messages in thread
From: tip-bot for stefani@seibold.net @ 2014-02-17 0:54 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, stefani, tglx, hpa
Commit-ID: 74cd745f0ce8cc8b95722ee8fdf1d97ffb3afe0b
Gitweb: http://git.kernel.org/tip/74cd745f0ce8cc8b95722ee8fdf1d97ffb3afe0b
Author: stefani@seibold.net <stefani@seibold.net>
AuthorDate: Sun, 16 Feb 2014 22:52:48 +0100
Committer: H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Sun, 16 Feb 2014 16:46:03 -0800
x86, vdso: Do conditional fixmap of VVAR and HPET page
This patch adds conditional fixmap of the VVAR and HPET pages for the
32 bit kernel.
Signed-off-by: Stefani Seibold <stefani@seibold.net>
Link: http://lkml.kernel.org/r/1392587568-7325-11-git-send-email-stefani@seibold.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
arch/x86/include/asm/vdso.h | 6 ++++++
arch/x86/kernel/hpet.c | 5 +++++
arch/x86/kernel/vsyscall_32.c | 4 ++++
arch/x86/vdso/vdso32-setup.c | 6 ------
4 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/arch/x86/include/asm/vdso.h b/arch/x86/include/asm/vdso.h
index fe3cef9..6db8b23 100644
--- a/arch/x86/include/asm/vdso.h
+++ b/arch/x86/include/asm/vdso.h
@@ -1,6 +1,12 @@
#ifndef _ASM_X86_VDSO_H
#define _ASM_X86_VDSO_H
+enum {
+ VDSO_DISABLED = 0,
+ VDSO_ENABLED = 1,
+ VDSO_COMPAT = 2,
+};
+
#if defined CONFIG_X86_32 || defined CONFIG_COMPAT
#include <asm/vdso32.h>
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 54263f0..b99544b 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -15,6 +15,7 @@
#include <asm/fixmap.h>
#include <asm/hpet.h>
#include <asm/time.h>
+#include <asm/elf.h>
#define HPET_MASK CLOCKSOURCE_MASK(32)
@@ -74,6 +75,10 @@ static inline void hpet_writel(unsigned int d, unsigned int a)
static inline void hpet_set_mapping(void)
{
hpet_virt_address = ioremap_nocache(hpet_address, HPET_MMAP_SIZE);
+#ifdef CONFIG_X86_32
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+#endif
__set_fixmap(VSYSCALL_HPET, hpet_address, PAGE_KERNEL_VVAR_NOCACHE);
}
diff --git a/arch/x86/kernel/vsyscall_32.c b/arch/x86/kernel/vsyscall_32.c
index 4b94c47..0cbf94b 100644
--- a/arch/x86/kernel/vsyscall_32.c
+++ b/arch/x86/kernel/vsyscall_32.c
@@ -13,8 +13,12 @@
#include <asm/vsyscall.h>
#include <asm/pgtable.h>
#include <asm/fixmap.h>
+#include <asm/elf.h>
void __init map_vsyscall(void)
{
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+
__set_fixmap(VVAR_PAGE, __pa_symbol(&__vvar_page), PAGE_KERNEL_VVAR);
}
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c
index 9b57770..6b74a46 100644
--- a/arch/x86/vdso/vdso32-setup.c
+++ b/arch/x86/vdso/vdso32-setup.c
@@ -29,12 +29,6 @@
#include <asm/hpet.h>
#include <asm/vvar.h>
-enum {
- VDSO_DISABLED = 0,
- VDSO_ENABLED = 1,
- VDSO_COMPAT = 2,
-};
-
#ifdef CONFIG_COMPAT_VDSO
#define VDSO_DEFAULT VDSO_COMPAT
#else
^ permalink raw reply related [flat|nested] 6+ messages in thread* [tip:x86/vdso] x86, vdso: Do conditional fixmap of VVAR and HPET page
[not found] <1392587568-7325-11-git-send-email-stefani@seibold.net>
2014-02-17 0:54 ` [tip:x86/vdso] x86, vdso: Do conditional fixmap of VVAR and HPET page tip-bot for stefani@seibold.net
@ 2014-02-17 3:51 ` tip-bot for stefani@seibold.net
1 sibling, 0 replies; 6+ messages in thread
From: tip-bot for stefani@seibold.net @ 2014-02-17 3:51 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, stefani, tglx, hpa
Commit-ID: eccca441fe1f6b416a3592d764686edb9fbd2ac6
Gitweb: http://git.kernel.org/tip/eccca441fe1f6b416a3592d764686edb9fbd2ac6
Author: stefani@seibold.net <stefani@seibold.net>
AuthorDate: Sun, 16 Feb 2014 22:52:48 +0100
Committer: H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Sun, 16 Feb 2014 19:48:52 -0800
x86, vdso: Do conditional fixmap of VVAR and HPET page
This patch adds conditional fixmap of the VVAR and HPET pages for the
32 bit kernel.
Signed-off-by: Stefani Seibold <stefani@seibold.net>
Link: http://lkml.kernel.org/r/1392587568-7325-11-git-send-email-stefani@seibold.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
arch/x86/include/asm/vdso.h | 6 ++++++
arch/x86/kernel/hpet.c | 5 +++++
arch/x86/kernel/vsyscall_32.c | 4 ++++
arch/x86/vdso/vdso32-setup.c | 6 ------
4 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/arch/x86/include/asm/vdso.h b/arch/x86/include/asm/vdso.h
index fe3cef9..6db8b23 100644
--- a/arch/x86/include/asm/vdso.h
+++ b/arch/x86/include/asm/vdso.h
@@ -1,6 +1,12 @@
#ifndef _ASM_X86_VDSO_H
#define _ASM_X86_VDSO_H
+enum {
+ VDSO_DISABLED = 0,
+ VDSO_ENABLED = 1,
+ VDSO_COMPAT = 2,
+};
+
#if defined CONFIG_X86_32 || defined CONFIG_COMPAT
#include <asm/vdso32.h>
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 54263f0..b99544b 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -15,6 +15,7 @@
#include <asm/fixmap.h>
#include <asm/hpet.h>
#include <asm/time.h>
+#include <asm/elf.h>
#define HPET_MASK CLOCKSOURCE_MASK(32)
@@ -74,6 +75,10 @@ static inline void hpet_writel(unsigned int d, unsigned int a)
static inline void hpet_set_mapping(void)
{
hpet_virt_address = ioremap_nocache(hpet_address, HPET_MMAP_SIZE);
+#ifdef CONFIG_X86_32
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+#endif
__set_fixmap(VSYSCALL_HPET, hpet_address, PAGE_KERNEL_VVAR_NOCACHE);
}
diff --git a/arch/x86/kernel/vsyscall_32.c b/arch/x86/kernel/vsyscall_32.c
index 4b94c47..0cbf94b 100644
--- a/arch/x86/kernel/vsyscall_32.c
+++ b/arch/x86/kernel/vsyscall_32.c
@@ -13,8 +13,12 @@
#include <asm/vsyscall.h>
#include <asm/pgtable.h>
#include <asm/fixmap.h>
+#include <asm/elf.h>
void __init map_vsyscall(void)
{
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+
__set_fixmap(VVAR_PAGE, __pa_symbol(&__vvar_page), PAGE_KERNEL_VVAR);
}
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c
index 9b57770..6b74a46 100644
--- a/arch/x86/vdso/vdso32-setup.c
+++ b/arch/x86/vdso/vdso32-setup.c
@@ -29,12 +29,6 @@
#include <asm/hpet.h>
#include <asm/vvar.h>
-enum {
- VDSO_DISABLED = 0,
- VDSO_ENABLED = 1,
- VDSO_COMPAT = 2,
-};
-
#ifdef CONFIG_COMPAT_VDSO
#define VDSO_DEFAULT VDSO_COMPAT
#else
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:x86/vdso] x86, vdso: Do conditional fixmap of VVAR and HPET page
[not found] <1392631424-32205-11-git-send-email-stefani@seibold.net>
@ 2014-02-17 15:58 ` tip-bot for stefani@seibold.net
2014-02-17 19:03 ` tip-bot for stefani@seibold.net
2014-02-19 22:30 ` tip-bot for Stefani Seibold
2 siblings, 0 replies; 6+ messages in thread
From: tip-bot for stefani@seibold.net @ 2014-02-17 15:58 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, stefani, tglx, hpa
Commit-ID: f03c08a0c4ff1af34d7b4c5f714b32a23e36b2de
Gitweb: http://git.kernel.org/tip/f03c08a0c4ff1af34d7b4c5f714b32a23e36b2de
Author: stefani@seibold.net <stefani@seibold.net>
AuthorDate: Mon, 17 Feb 2014 11:03:44 +0100
Committer: H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Mon, 17 Feb 2014 07:54:59 -0800
x86, vdso: Do conditional fixmap of VVAR and HPET page
This patch adds conditional fixmap of the VVAR and HPET pages for the
32-bit kernel.
Signed-off-by: Stefani Seibold <stefani@seibold.net>
Link: http://lkml.kernel.org/r/1392631424-32205-11-git-send-email-stefani@seibold.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
arch/x86/include/asm/vdso.h | 6 ++++++
arch/x86/kernel/hpet.c | 5 +++++
arch/x86/kernel/vsyscall_32.c | 5 +++++
arch/x86/vdso/vdso32-setup.c | 6 ------
4 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/arch/x86/include/asm/vdso.h b/arch/x86/include/asm/vdso.h
index fe3cef9..6db8b23 100644
--- a/arch/x86/include/asm/vdso.h
+++ b/arch/x86/include/asm/vdso.h
@@ -1,6 +1,12 @@
#ifndef _ASM_X86_VDSO_H
#define _ASM_X86_VDSO_H
+enum {
+ VDSO_DISABLED = 0,
+ VDSO_ENABLED = 1,
+ VDSO_COMPAT = 2,
+};
+
#if defined CONFIG_X86_32 || defined CONFIG_COMPAT
#include <asm/vdso32.h>
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 54263f0..b99544b 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -15,6 +15,7 @@
#include <asm/fixmap.h>
#include <asm/hpet.h>
#include <asm/time.h>
+#include <asm/elf.h>
#define HPET_MASK CLOCKSOURCE_MASK(32)
@@ -74,6 +75,10 @@ static inline void hpet_writel(unsigned int d, unsigned int a)
static inline void hpet_set_mapping(void)
{
hpet_virt_address = ioremap_nocache(hpet_address, HPET_MMAP_SIZE);
+#ifdef CONFIG_X86_32
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+#endif
__set_fixmap(VSYSCALL_HPET, hpet_address, PAGE_KERNEL_VVAR_NOCACHE);
}
diff --git a/arch/x86/kernel/vsyscall_32.c b/arch/x86/kernel/vsyscall_32.c
index 4b94c47..d4bf015 100644
--- a/arch/x86/kernel/vsyscall_32.c
+++ b/arch/x86/kernel/vsyscall_32.c
@@ -13,8 +13,13 @@
#include <asm/vsyscall.h>
#include <asm/pgtable.h>
#include <asm/fixmap.h>
+#include <asm/elf.h>
void __init map_vsyscall(void)
{
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+
__set_fixmap(VVAR_PAGE, __pa_symbol(&__vvar_page), PAGE_KERNEL_VVAR);
}
+
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c
index 9b57770..6b74a46 100644
--- a/arch/x86/vdso/vdso32-setup.c
+++ b/arch/x86/vdso/vdso32-setup.c
@@ -29,12 +29,6 @@
#include <asm/hpet.h>
#include <asm/vvar.h>
-enum {
- VDSO_DISABLED = 0,
- VDSO_ENABLED = 1,
- VDSO_COMPAT = 2,
-};
-
#ifdef CONFIG_COMPAT_VDSO
#define VDSO_DEFAULT VDSO_COMPAT
#else
^ permalink raw reply related [flat|nested] 6+ messages in thread* [tip:x86/vdso] x86, vdso: Do conditional fixmap of VVAR and HPET page
[not found] <1392631424-32205-11-git-send-email-stefani@seibold.net>
2014-02-17 15:58 ` tip-bot for stefani@seibold.net
@ 2014-02-17 19:03 ` tip-bot for stefani@seibold.net
2014-02-19 22:30 ` tip-bot for Stefani Seibold
2 siblings, 0 replies; 6+ messages in thread
From: tip-bot for stefani@seibold.net @ 2014-02-17 19:03 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, stefani, tglx, hpa
Commit-ID: 987cd7a90ba4a225411e89d043dbf14caf4d1ca6
Gitweb: http://git.kernel.org/tip/987cd7a90ba4a225411e89d043dbf14caf4d1ca6
Author: stefani@seibold.net <stefani@seibold.net>
AuthorDate: Mon, 17 Feb 2014 11:03:44 +0100
Committer: H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Mon, 17 Feb 2014 11:00:21 -0800
x86, vdso: Do conditional fixmap of VVAR and HPET page
This patch adds conditional fixmap of the VVAR and HPET pages for the
32-bit kernel.
Signed-off-by: Stefani Seibold <stefani@seibold.net>
Link: http://lkml.kernel.org/r/1392631424-32205-11-git-send-email-stefani@seibold.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
arch/x86/include/asm/vdso.h | 6 ++++++
arch/x86/kernel/hpet.c | 5 +++++
arch/x86/kernel/vsyscall_32.c | 4 ++++
arch/x86/vdso/vdso32-setup.c | 6 ------
4 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/arch/x86/include/asm/vdso.h b/arch/x86/include/asm/vdso.h
index fe3cef9..6db8b23 100644
--- a/arch/x86/include/asm/vdso.h
+++ b/arch/x86/include/asm/vdso.h
@@ -1,6 +1,12 @@
#ifndef _ASM_X86_VDSO_H
#define _ASM_X86_VDSO_H
+enum {
+ VDSO_DISABLED = 0,
+ VDSO_ENABLED = 1,
+ VDSO_COMPAT = 2,
+};
+
#if defined CONFIG_X86_32 || defined CONFIG_COMPAT
#include <asm/vdso32.h>
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 54263f0..b99544b 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -15,6 +15,7 @@
#include <asm/fixmap.h>
#include <asm/hpet.h>
#include <asm/time.h>
+#include <asm/elf.h>
#define HPET_MASK CLOCKSOURCE_MASK(32)
@@ -74,6 +75,10 @@ static inline void hpet_writel(unsigned int d, unsigned int a)
static inline void hpet_set_mapping(void)
{
hpet_virt_address = ioremap_nocache(hpet_address, HPET_MMAP_SIZE);
+#ifdef CONFIG_X86_32
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+#endif
__set_fixmap(VSYSCALL_HPET, hpet_address, PAGE_KERNEL_VVAR_NOCACHE);
}
diff --git a/arch/x86/kernel/vsyscall_32.c b/arch/x86/kernel/vsyscall_32.c
index 4b94c47..0cbf94b 100644
--- a/arch/x86/kernel/vsyscall_32.c
+++ b/arch/x86/kernel/vsyscall_32.c
@@ -13,8 +13,12 @@
#include <asm/vsyscall.h>
#include <asm/pgtable.h>
#include <asm/fixmap.h>
+#include <asm/elf.h>
void __init map_vsyscall(void)
{
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+
__set_fixmap(VVAR_PAGE, __pa_symbol(&__vvar_page), PAGE_KERNEL_VVAR);
}
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c
index 9b57770..6b74a46 100644
--- a/arch/x86/vdso/vdso32-setup.c
+++ b/arch/x86/vdso/vdso32-setup.c
@@ -29,12 +29,6 @@
#include <asm/hpet.h>
#include <asm/vvar.h>
-enum {
- VDSO_DISABLED = 0,
- VDSO_ENABLED = 1,
- VDSO_COMPAT = 2,
-};
-
#ifdef CONFIG_COMPAT_VDSO
#define VDSO_DEFAULT VDSO_COMPAT
#else
^ permalink raw reply related [flat|nested] 6+ messages in thread* [tip:x86/vdso] x86, vdso: Do conditional fixmap of VVAR and HPET page
[not found] <1392631424-32205-11-git-send-email-stefani@seibold.net>
2014-02-17 15:58 ` tip-bot for stefani@seibold.net
2014-02-17 19:03 ` tip-bot for stefani@seibold.net
@ 2014-02-19 22:30 ` tip-bot for Stefani Seibold
2 siblings, 0 replies; 6+ messages in thread
From: tip-bot for Stefani Seibold @ 2014-02-19 22:30 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, stefani, tglx, hpa
Commit-ID: 6fa967bb8354fff2d5e116d97f4d83fdab644b67
Gitweb: http://git.kernel.org/tip/6fa967bb8354fff2d5e116d97f4d83fdab644b67
Author: Stefani Seibold <stefani@seibold.net>
AuthorDate: Mon, 17 Feb 2014 11:03:44 +0100
Committer: H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Wed, 19 Feb 2014 14:09:07 -0800
x86, vdso: Do conditional fixmap of VVAR and HPET page
This patch adds conditional fixmap of the VVAR and HPET pages for the
32-bit kernel.
Signed-off-by: Stefani Seibold <stefani@seibold.net>
Link: http://lkml.kernel.org/r/1392631424-32205-11-git-send-email-stefani@seibold.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
arch/x86/include/asm/vdso.h | 6 ++++++
arch/x86/kernel/hpet.c | 5 +++++
arch/x86/kernel/vsyscall_32.c | 4 ++++
arch/x86/vdso/vdso32-setup.c | 6 ------
4 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/arch/x86/include/asm/vdso.h b/arch/x86/include/asm/vdso.h
index fe3cef9..6db8b23 100644
--- a/arch/x86/include/asm/vdso.h
+++ b/arch/x86/include/asm/vdso.h
@@ -1,6 +1,12 @@
#ifndef _ASM_X86_VDSO_H
#define _ASM_X86_VDSO_H
+enum {
+ VDSO_DISABLED = 0,
+ VDSO_ENABLED = 1,
+ VDSO_COMPAT = 2,
+};
+
#if defined CONFIG_X86_32 || defined CONFIG_COMPAT
#include <asm/vdso32.h>
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 54263f0..b99544b 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -15,6 +15,7 @@
#include <asm/fixmap.h>
#include <asm/hpet.h>
#include <asm/time.h>
+#include <asm/elf.h>
#define HPET_MASK CLOCKSOURCE_MASK(32)
@@ -74,6 +75,10 @@ static inline void hpet_writel(unsigned int d, unsigned int a)
static inline void hpet_set_mapping(void)
{
hpet_virt_address = ioremap_nocache(hpet_address, HPET_MMAP_SIZE);
+#ifdef CONFIG_X86_32
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+#endif
__set_fixmap(VSYSCALL_HPET, hpet_address, PAGE_KERNEL_VVAR_NOCACHE);
}
diff --git a/arch/x86/kernel/vsyscall_32.c b/arch/x86/kernel/vsyscall_32.c
index 4b94c47..0cbf94b 100644
--- a/arch/x86/kernel/vsyscall_32.c
+++ b/arch/x86/kernel/vsyscall_32.c
@@ -13,8 +13,12 @@
#include <asm/vsyscall.h>
#include <asm/pgtable.h>
#include <asm/fixmap.h>
+#include <asm/elf.h>
void __init map_vsyscall(void)
{
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+
__set_fixmap(VVAR_PAGE, __pa_symbol(&__vvar_page), PAGE_KERNEL_VVAR);
}
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c
index 9b57770..6b74a46 100644
--- a/arch/x86/vdso/vdso32-setup.c
+++ b/arch/x86/vdso/vdso32-setup.c
@@ -29,12 +29,6 @@
#include <asm/hpet.h>
#include <asm/vvar.h>
-enum {
- VDSO_DISABLED = 0,
- VDSO_ENABLED = 1,
- VDSO_COMPAT = 2,
-};
-
#ifdef CONFIG_COMPAT_VDSO
#define VDSO_DEFAULT VDSO_COMPAT
#else
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:x86/vdso] x86, vdso: Do conditional fixmap of VVAR and HPET page
[not found] <1393881143-3569-12-git-send-email-stefani@seibold.net>
@ 2014-03-05 22:32 ` tip-bot for stefani@seibold.net
0 siblings, 0 replies; 6+ messages in thread
From: tip-bot for stefani@seibold.net @ 2014-03-05 22:32 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, luto, hpa, mingo, stefani, tglx, hpa
Commit-ID: 8535b99d22f319672fa22da4df557ba32a58d04f
Gitweb: http://git.kernel.org/tip/8535b99d22f319672fa22da4df557ba32a58d04f
Author: stefani@seibold.net <stefani@seibold.net>
AuthorDate: Mon, 3 Mar 2014 22:12:22 +0100
Committer: H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Wed, 5 Mar 2014 14:02:39 -0800
x86, vdso: Do conditional fixmap of VVAR and HPET page
This patch adds conditional fixmap of the VVAR and HPET pages for a 32
bit kernel
Reviewed-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Stefani Seibold <stefani@seibold.net>
Link: http://lkml.kernel.org/r/1393881143-3569-12-git-send-email-stefani@seibold.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
arch/x86/include/asm/vdso.h | 6 ++++++
arch/x86/kernel/hpet.c | 5 +++++
arch/x86/kernel/vsyscall_32.c | 4 ++++
arch/x86/vdso/vdso32-setup.c | 6 ------
4 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/arch/x86/include/asm/vdso.h b/arch/x86/include/asm/vdso.h
index 0f363c1..a844f90 100644
--- a/arch/x86/include/asm/vdso.h
+++ b/arch/x86/include/asm/vdso.h
@@ -1,6 +1,12 @@
#ifndef _ASM_X86_VDSO_H
#define _ASM_X86_VDSO_H
+enum {
+ VDSO_DISABLED = 0,
+ VDSO_ENABLED = 1,
+ VDSO_COMPAT = 2,
+};
+
#if defined CONFIG_X86_32 || defined CONFIG_COMPAT
#include <asm/vdso32.h>
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 54263f0..b99544b 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -15,6 +15,7 @@
#include <asm/fixmap.h>
#include <asm/hpet.h>
#include <asm/time.h>
+#include <asm/elf.h>
#define HPET_MASK CLOCKSOURCE_MASK(32)
@@ -74,6 +75,10 @@ static inline void hpet_writel(unsigned int d, unsigned int a)
static inline void hpet_set_mapping(void)
{
hpet_virt_address = ioremap_nocache(hpet_address, HPET_MMAP_SIZE);
+#ifdef CONFIG_X86_32
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+#endif
__set_fixmap(VSYSCALL_HPET, hpet_address, PAGE_KERNEL_VVAR_NOCACHE);
}
diff --git a/arch/x86/kernel/vsyscall_32.c b/arch/x86/kernel/vsyscall_32.c
index 4b94c47..0cbf94b 100644
--- a/arch/x86/kernel/vsyscall_32.c
+++ b/arch/x86/kernel/vsyscall_32.c
@@ -13,8 +13,12 @@
#include <asm/vsyscall.h>
#include <asm/pgtable.h>
#include <asm/fixmap.h>
+#include <asm/elf.h>
void __init map_vsyscall(void)
{
+ if (vdso_enabled != VDSO_COMPAT)
+ return;
+
__set_fixmap(VVAR_PAGE, __pa_symbol(&__vvar_page), PAGE_KERNEL_VVAR);
}
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c
index 54db7e4..b37aa1d 100644
--- a/arch/x86/vdso/vdso32-setup.c
+++ b/arch/x86/vdso/vdso32-setup.c
@@ -29,12 +29,6 @@
#include <asm/hpet.h>
#include <asm/vvar.h>
-enum {
- VDSO_DISABLED = 0,
- VDSO_ENABLED = 1,
- VDSO_COMPAT = 2,
-};
-
#ifdef CONFIG_COMPAT_VDSO
#define VDSO_DEFAULT VDSO_COMPAT
#else
^ permalink raw reply related [flat|nested] 6+ messages in thread