diff options
Diffstat (limited to 'arch/x86_64/kernel/setup64.c')
-rw-r--r-- | arch/x86_64/kernel/setup64.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/arch/x86_64/kernel/setup64.c b/arch/x86_64/kernel/setup64.c index 70f1bb808a20..8a691fa6d393 100644 --- a/arch/x86_64/kernel/setup64.c +++ b/arch/x86_64/kernel/setup64.c | |||
@@ -33,7 +33,7 @@ cpumask_t cpu_initialized __cpuinitdata = CPU_MASK_NONE; | |||
33 | struct x8664_pda *_cpu_pda[NR_CPUS] __read_mostly; | 33 | struct x8664_pda *_cpu_pda[NR_CPUS] __read_mostly; |
34 | struct x8664_pda boot_cpu_pda[NR_CPUS] __cacheline_aligned; | 34 | struct x8664_pda boot_cpu_pda[NR_CPUS] __cacheline_aligned; |
35 | 35 | ||
36 | struct desc_ptr idt_descr = { 256 * 16, (unsigned long) idt_table }; | 36 | struct desc_ptr idt_descr = { 256 * 16 - 1, (unsigned long) idt_table }; |
37 | 37 | ||
38 | char boot_cpu_stack[IRQSTACKSIZE] __attribute__((section(".bss.page_aligned"))); | 38 | char boot_cpu_stack[IRQSTACKSIZE] __attribute__((section(".bss.page_aligned"))); |
39 | 39 | ||
@@ -55,11 +55,11 @@ int __init nonx_setup(char *str) | |||
55 | do_not_nx = 1; | 55 | do_not_nx = 1; |
56 | __supported_pte_mask &= ~_PAGE_NX; | 56 | __supported_pte_mask &= ~_PAGE_NX; |
57 | } | 57 | } |
58 | return 0; | 58 | return 1; |
59 | } | 59 | } |
60 | __setup("noexec=", nonx_setup); /* parsed early actually */ | 60 | __setup("noexec=", nonx_setup); /* parsed early actually */ |
61 | 61 | ||
62 | int force_personality32 = READ_IMPLIES_EXEC; | 62 | int force_personality32 = 0; |
63 | 63 | ||
64 | /* noexec32=on|off | 64 | /* noexec32=on|off |
65 | Control non executable heap for 32bit processes. | 65 | Control non executable heap for 32bit processes. |
@@ -74,7 +74,7 @@ static int __init nonx32_setup(char *str) | |||
74 | force_personality32 &= ~READ_IMPLIES_EXEC; | 74 | force_personality32 &= ~READ_IMPLIES_EXEC; |
75 | else if (!strcmp(str, "off")) | 75 | else if (!strcmp(str, "off")) |
76 | force_personality32 |= READ_IMPLIES_EXEC; | 76 | force_personality32 |= READ_IMPLIES_EXEC; |
77 | return 0; | 77 | return 1; |
78 | } | 78 | } |
79 | __setup("noexec32=", nonx32_setup); | 79 | __setup("noexec32=", nonx32_setup); |
80 | 80 | ||
@@ -248,7 +248,7 @@ void __cpuinit cpu_init (void) | |||
248 | switch (v + 1) { | 248 | switch (v + 1) { |
249 | #if DEBUG_STKSZ > EXCEPTION_STKSZ | 249 | #if DEBUG_STKSZ > EXCEPTION_STKSZ |
250 | case DEBUG_STACK: | 250 | case DEBUG_STACK: |
251 | cpu_pda[cpu].debugstack = (unsigned long)estacks; | 251 | cpu_pda(cpu)->debugstack = (unsigned long)estacks; |
252 | estacks += DEBUG_STKSZ; | 252 | estacks += DEBUG_STKSZ; |
253 | break; | 253 | break; |
254 | #endif | 254 | #endif |
@@ -281,12 +281,12 @@ void __cpuinit cpu_init (void) | |||
281 | * Clear all 6 debug registers: | 281 | * Clear all 6 debug registers: |
282 | */ | 282 | */ |
283 | 283 | ||
284 | set_debug(0UL, 0); | 284 | set_debugreg(0UL, 0); |
285 | set_debug(0UL, 1); | 285 | set_debugreg(0UL, 1); |
286 | set_debug(0UL, 2); | 286 | set_debugreg(0UL, 2); |
287 | set_debug(0UL, 3); | 287 | set_debugreg(0UL, 3); |
288 | set_debug(0UL, 6); | 288 | set_debugreg(0UL, 6); |
289 | set_debug(0UL, 7); | 289 | set_debugreg(0UL, 7); |
290 | 290 | ||
291 | fpu_init(); | 291 | fpu_init(); |
292 | } | 292 | } |