Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26048d75 authored by Glauber de Oliveira Costa's avatar Glauber de Oliveira Costa Committed by Ingo Molnar
Browse files

x86: use the same data type for tls_array.



This patch changes the type of tls_array in x86_64 to
a desc_struct. Now, both i386 and x86_64 tls_array have
the same type, and code accessing it can be shared.

Signed-off-by: default avatarGlauber de Oliveira Costa <gcosta@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 881c2975
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -150,7 +150,7 @@ static inline void set_ldt(void *addr, int entries)
static inline void load_TLS(struct thread_struct *t, unsigned int cpu)
static inline void load_TLS(struct thread_struct *t, unsigned int cpu)
{
{
	unsigned int i;
	unsigned int i;
	u64 *gdt = (u64 *)(get_cpu_gdt_table(cpu) + GDT_ENTRY_TLS_MIN);
	struct desc_struct *gdt = (get_cpu_gdt_table(cpu) + GDT_ENTRY_TLS_MIN);


	for (i = 0; i < GDT_ENTRY_TLS_ENTRIES; i++)
	for (i = 0; i < GDT_ENTRY_TLS_ENTRIES; i++)
		gdt[i] = t->tls_array[i];
		gdt[i] = t->tls_array[i];
+2 −1
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@
#include <linux/personality.h>
#include <linux/personality.h>
#include <linux/cpumask.h>
#include <linux/cpumask.h>
#include <asm/processor-flags.h>
#include <asm/processor-flags.h>
#include <asm/desc_defs.h>


#define TF_MASK		0x00000100
#define TF_MASK		0x00000100
#define IF_MASK		0x00000200
#define IF_MASK		0x00000200
@@ -244,7 +245,7 @@ struct thread_struct {
 *               goes into MSR_IA32_DS_AREA */
 *               goes into MSR_IA32_DS_AREA */
	unsigned long	ds_area_msr;
	unsigned long	ds_area_msr;
/* cached TLS descriptors. */
/* cached TLS descriptors. */
	u64 tls_array[GDT_ENTRY_TLS_ENTRIES];
	struct desc_struct tls_array[GDT_ENTRY_TLS_ENTRIES];
} __attribute__((aligned(16)));
} __attribute__((aligned(16)));


#define INIT_THREAD  { \
#define INIT_THREAD  { \