diff options
Diffstat (limited to 'arch/x86/kernel/doublefault.c')
| -rw-r--r-- | arch/x86/kernel/doublefault.c | 36 | 
1 files changed, 17 insertions, 19 deletions
| diff --git a/arch/x86/kernel/doublefault.c b/arch/x86/kernel/doublefault.c index 0e662c55ae90..0b8cedb20d6d 100644 --- a/arch/x86/kernel/doublefault.c +++ b/arch/x86/kernel/doublefault.c @@ -50,25 +50,23 @@ static void doublefault_fn(void)  		cpu_relax();  } -struct tss_struct doublefault_tss __cacheline_aligned = { -	.x86_tss = { -		.sp0		= STACK_START, -		.ss0		= __KERNEL_DS, -		.ldt		= 0, -		.io_bitmap_base	= INVALID_IO_BITMAP_OFFSET, - -		.ip		= (unsigned long) doublefault_fn, -		/* 0x2 bit is always set */ -		.flags		= X86_EFLAGS_SF | 0x2, -		.sp		= STACK_START, -		.es		= __USER_DS, -		.cs		= __KERNEL_CS, -		.ss		= __KERNEL_DS, -		.ds		= __USER_DS, -		.fs		= __KERNEL_PERCPU, - -		.__cr3		= __pa_nodebug(swapper_pg_dir), -	} +struct x86_hw_tss doublefault_tss __cacheline_aligned = { +	.sp0		= STACK_START, +	.ss0		= __KERNEL_DS, +	.ldt		= 0, +	.io_bitmap_base	= INVALID_IO_BITMAP_OFFSET, + +	.ip		= (unsigned long) doublefault_fn, +	/* 0x2 bit is always set */ +	.flags		= X86_EFLAGS_SF | 0x2, +	.sp		= STACK_START, +	.es		= __USER_DS, +	.cs		= __KERNEL_CS, +	.ss		= __KERNEL_DS, +	.ds		= __USER_DS, +	.fs		= __KERNEL_PERCPU, + +	.__cr3		= __pa_nodebug(swapper_pg_dir),  };  /* dummy for do_double_fault() call */ |