From: Roland McGrath <roland@redhat.com>
Date: Wed, 30 Jan 2008 12:30:44 +0000 (+0100)
Subject: x86: get_desc_base
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=859c0a5b9ca8eba2d65fa42f02505d76f8a712c7;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git

x86: get_desc_base

This defines the get_desc_base function in asm-x86/desc_64.h to match the
one in desc_32.h.  If these two files ever get merged together, this
function could be the same in both.

Signed-off-by: Roland McGrath <roland@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---

diff --git a/include/asm-x86/desc_64.h b/include/asm-x86/desc_64.h
index 7d48df72aef2..230ac6e50a0f 100644
--- a/include/asm-x86/desc_64.h
+++ b/include/asm-x86/desc_64.h
@@ -215,6 +215,16 @@ static inline void load_LDT(mm_context_t *pc)
 
 extern struct desc_ptr idt_descr;
 
+static inline unsigned long get_desc_base(const void *ptr)
+{
+	const u32 *desc = ptr;
+	unsigned long base;
+	base = ((desc[0] >> 16)  & 0x0000ffff) |
+		((desc[1] << 16) & 0x00ff0000) |
+		(desc[1] & 0xff000000);
+	return base;
+}
+
 #endif /* !__ASSEMBLY__ */
 
 #endif