diff options
Diffstat (limited to 'include')
28 files changed, 187 insertions, 150 deletions
diff --git a/include/acpi/acmacros.h b/include/acpi/acmacros.h index 8948a6461834..45662f6dbdb6 100644 --- a/include/acpi/acmacros.h +++ b/include/acpi/acmacros.h | |||
@@ -486,6 +486,8 @@ | |||
486 | #define ACPI_FUNCTION_NAME(name) | 486 | #define ACPI_FUNCTION_NAME(name) |
487 | #endif | 487 | #endif |
488 | 488 | ||
489 | #ifdef DEBUG_FUNC_TRACE | ||
490 | |||
489 | #define ACPI_FUNCTION_TRACE(a) ACPI_FUNCTION_NAME(a) \ | 491 | #define ACPI_FUNCTION_TRACE(a) ACPI_FUNCTION_NAME(a) \ |
490 | acpi_ut_trace(ACPI_DEBUG_PARAMETERS) | 492 | acpi_ut_trace(ACPI_DEBUG_PARAMETERS) |
491 | #define ACPI_FUNCTION_TRACE_PTR(a,b) ACPI_FUNCTION_NAME(a) \ | 493 | #define ACPI_FUNCTION_TRACE_PTR(a,b) ACPI_FUNCTION_NAME(a) \ |
@@ -563,6 +565,27 @@ | |||
563 | 565 | ||
564 | #endif /* ACPI_SIMPLE_RETURN_MACROS */ | 566 | #endif /* ACPI_SIMPLE_RETURN_MACROS */ |
565 | 567 | ||
568 | #else /* !DEBUG_FUNC_TRACE */ | ||
569 | |||
570 | #define ACPI_FUNCTION_TRACE(a) | ||
571 | #define ACPI_FUNCTION_TRACE_PTR(a,b) | ||
572 | #define ACPI_FUNCTION_TRACE_U32(a,b) | ||
573 | #define ACPI_FUNCTION_TRACE_STR(a,b) | ||
574 | #define ACPI_FUNCTION_EXIT | ||
575 | #define ACPI_FUNCTION_STATUS_EXIT(s) | ||
576 | #define ACPI_FUNCTION_VALUE_EXIT(s) | ||
577 | #define ACPI_FUNCTION_TRACE(a) | ||
578 | #define ACPI_FUNCTION_ENTRY() | ||
579 | |||
580 | #define return_VOID return | ||
581 | #define return_ACPI_STATUS(s) return(s) | ||
582 | #define return_VALUE(s) return(s) | ||
583 | #define return_UINT8(s) return(s) | ||
584 | #define return_UINT32(s) return(s) | ||
585 | #define return_PTR(s) return(s) | ||
586 | |||
587 | #endif /* DEBUG_FUNC_TRACE */ | ||
588 | |||
566 | /* Conditional execution */ | 589 | /* Conditional execution */ |
567 | 590 | ||
568 | #define ACPI_DEBUG_EXEC(a) a | 591 | #define ACPI_DEBUG_EXEC(a) a |
@@ -599,26 +622,26 @@ | |||
599 | #define ACPI_DEBUG_EXEC(a) | 622 | #define ACPI_DEBUG_EXEC(a) |
600 | #define ACPI_NORMAL_EXEC(a) a; | 623 | #define ACPI_NORMAL_EXEC(a) a; |
601 | 624 | ||
602 | #define ACPI_DEBUG_DEFINE(a) | 625 | #define ACPI_DEBUG_DEFINE(a) do { } while(0) |
603 | #define ACPI_DEBUG_ONLY_MEMBERS(a) | 626 | #define ACPI_DEBUG_ONLY_MEMBERS(a) do { } while(0) |
604 | #define ACPI_FUNCTION_NAME(a) | 627 | #define ACPI_FUNCTION_NAME(a) do { } while(0) |
605 | #define ACPI_FUNCTION_TRACE(a) | 628 | #define ACPI_FUNCTION_TRACE(a) do { } while(0) |
606 | #define ACPI_FUNCTION_TRACE_PTR(a,b) | 629 | #define ACPI_FUNCTION_TRACE_PTR(a,b) do { } while(0) |
607 | #define ACPI_FUNCTION_TRACE_U32(a,b) | 630 | #define ACPI_FUNCTION_TRACE_U32(a,b) do { } while(0) |
608 | #define ACPI_FUNCTION_TRACE_STR(a,b) | 631 | #define ACPI_FUNCTION_TRACE_STR(a,b) do { } while(0) |
609 | #define ACPI_FUNCTION_EXIT | 632 | #define ACPI_FUNCTION_EXIT do { } while(0) |
610 | #define ACPI_FUNCTION_STATUS_EXIT(s) | 633 | #define ACPI_FUNCTION_STATUS_EXIT(s) do { } while(0) |
611 | #define ACPI_FUNCTION_VALUE_EXIT(s) | 634 | #define ACPI_FUNCTION_VALUE_EXIT(s) do { } while(0) |
612 | #define ACPI_FUNCTION_ENTRY() | 635 | #define ACPI_FUNCTION_ENTRY() do { } while(0) |
613 | #define ACPI_DUMP_STACK_ENTRY(a) | 636 | #define ACPI_DUMP_STACK_ENTRY(a) do { } while(0) |
614 | #define ACPI_DUMP_OPERANDS(a,b,c,d,e) | 637 | #define ACPI_DUMP_OPERANDS(a,b,c,d,e) do { } while(0) |
615 | #define ACPI_DUMP_ENTRY(a,b) | 638 | #define ACPI_DUMP_ENTRY(a,b) do { } while(0) |
616 | #define ACPI_DUMP_TABLES(a,b) | 639 | #define ACPI_DUMP_TABLES(a,b) do { } while(0) |
617 | #define ACPI_DUMP_PATHNAME(a,b,c,d) | 640 | #define ACPI_DUMP_PATHNAME(a,b,c,d) do { } while(0) |
618 | #define ACPI_DUMP_RESOURCE_LIST(a) | 641 | #define ACPI_DUMP_RESOURCE_LIST(a) do { } while(0) |
619 | #define ACPI_DUMP_BUFFER(a,b) | 642 | #define ACPI_DUMP_BUFFER(a,b) do { } while(0) |
620 | #define ACPI_DEBUG_PRINT(pl) | 643 | #define ACPI_DEBUG_PRINT(pl) do { } while(0) |
621 | #define ACPI_DEBUG_PRINT_RAW(pl) | 644 | #define ACPI_DEBUG_PRINT_RAW(pl) do { } while(0) |
622 | 645 | ||
623 | #define return_VOID return | 646 | #define return_VOID return |
624 | #define return_ACPI_STATUS(s) return(s) | 647 | #define return_ACPI_STATUS(s) return(s) |
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h index 7812267b577f..c090a8b0bc99 100644 --- a/include/acpi/acoutput.h +++ b/include/acpi/acoutput.h | |||
@@ -178,8 +178,8 @@ | |||
178 | 178 | ||
179 | /* Defaults for debug_level, debug and normal */ | 179 | /* Defaults for debug_level, debug and normal */ |
180 | 180 | ||
181 | #define ACPI_DEBUG_DEFAULT (ACPI_LV_INIT | ACPI_LV_WARN | ACPI_LV_ERROR | ACPI_LV_DEBUG_OBJECT) | 181 | #define ACPI_DEBUG_DEFAULT (ACPI_LV_INIT | ACPI_LV_WARN | ACPI_LV_ERROR) |
182 | #define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_WARN | ACPI_LV_ERROR | ACPI_LV_DEBUG_OBJECT) | 182 | #define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_WARN | ACPI_LV_ERROR) |
183 | #define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL) | 183 | #define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL) |
184 | 184 | ||
185 | #endif /* __ACOUTPUT_H__ */ | 185 | #endif /* __ACOUTPUT_H__ */ |
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index c6fa5e023bc7..5e3dcf3299bf 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h | |||
@@ -321,7 +321,8 @@ struct acpi_bus_event { | |||
321 | }; | 321 | }; |
322 | 322 | ||
323 | extern struct kset acpi_subsys; | 323 | extern struct kset acpi_subsys; |
324 | 324 | extern int acpi_bus_generate_genetlink_event(struct acpi_device *device, | |
325 | u8 type, int data); | ||
325 | /* | 326 | /* |
326 | * External Functions | 327 | * External Functions |
327 | */ | 328 | */ |
diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h index dab2ec59a3b0..c785485e62a6 100644 --- a/include/acpi/platform/acenv.h +++ b/include/acpi/platform/acenv.h | |||
@@ -136,7 +136,7 @@ | |||
136 | 136 | ||
137 | /*! [Begin] no source code translation */ | 137 | /*! [Begin] no source code translation */ |
138 | 138 | ||
139 | #if defined(__linux__) | 139 | #if defined(_LINUX) || defined(__linux__) |
140 | #include "aclinux.h" | 140 | #include "aclinux.h" |
141 | 141 | ||
142 | #elif defined(_AED_EFI) | 142 | #elif defined(_AED_EFI) |
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h index a568717f98c6..6ed15a0978eb 100644 --- a/include/acpi/platform/aclinux.h +++ b/include/acpi/platform/aclinux.h | |||
@@ -91,7 +91,10 @@ | |||
91 | #define ACPI_USE_NATIVE_DIVIDE | 91 | #define ACPI_USE_NATIVE_DIVIDE |
92 | #endif | 92 | #endif |
93 | 93 | ||
94 | #ifndef __cdecl | ||
94 | #define __cdecl | 95 | #define __cdecl |
96 | #endif | ||
97 | |||
95 | #define ACPI_FLUSH_CPU_CACHE() | 98 | #define ACPI_FLUSH_CPU_CACHE() |
96 | #endif /* __KERNEL__ */ | 99 | #endif /* __KERNEL__ */ |
97 | 100 | ||
diff --git a/include/acpi/processor.h b/include/acpi/processor.h index b4b0ffdab098..f9f987f8e661 100644 --- a/include/acpi/processor.h +++ b/include/acpi/processor.h | |||
@@ -21,6 +21,8 @@ | |||
21 | #define ACPI_PSD_REV0_REVISION 0 /* Support for _PSD as in ACPI 3.0 */ | 21 | #define ACPI_PSD_REV0_REVISION 0 /* Support for _PSD as in ACPI 3.0 */ |
22 | #define ACPI_PSD_REV0_ENTRIES 5 | 22 | #define ACPI_PSD_REV0_ENTRIES 5 |
23 | 23 | ||
24 | #define ACPI_TSD_REV0_REVISION 0 /* Support for _PSD as in ACPI 3.0 */ | ||
25 | #define ACPI_TSD_REV0_ENTRIES 5 | ||
24 | /* | 26 | /* |
25 | * Types of coordination defined in ACPI 3.0. Same macros can be used across | 27 | * Types of coordination defined in ACPI 3.0. Same macros can be used across |
26 | * P, C and T states | 28 | * P, C and T states |
@@ -125,17 +127,53 @@ struct acpi_processor_performance { | |||
125 | 127 | ||
126 | /* Throttling Control */ | 128 | /* Throttling Control */ |
127 | 129 | ||
130 | struct acpi_tsd_package { | ||
131 | acpi_integer num_entries; | ||
132 | acpi_integer revision; | ||
133 | acpi_integer domain; | ||
134 | acpi_integer coord_type; | ||
135 | acpi_integer num_processors; | ||
136 | } __attribute__ ((packed)); | ||
137 | |||
138 | struct acpi_ptc_register { | ||
139 | u8 descriptor; | ||
140 | u16 length; | ||
141 | u8 space_id; | ||
142 | u8 bit_width; | ||
143 | u8 bit_offset; | ||
144 | u8 reserved; | ||
145 | u64 address; | ||
146 | } __attribute__ ((packed)); | ||
147 | |||
148 | struct acpi_processor_tx_tss { | ||
149 | acpi_integer freqpercentage; /* */ | ||
150 | acpi_integer power; /* milliWatts */ | ||
151 | acpi_integer transition_latency; /* microseconds */ | ||
152 | acpi_integer control; /* control value */ | ||
153 | acpi_integer status; /* success indicator */ | ||
154 | }; | ||
128 | struct acpi_processor_tx { | 155 | struct acpi_processor_tx { |
129 | u16 power; | 156 | u16 power; |
130 | u16 performance; | 157 | u16 performance; |
131 | }; | 158 | }; |
132 | 159 | ||
160 | struct acpi_processor; | ||
133 | struct acpi_processor_throttling { | 161 | struct acpi_processor_throttling { |
134 | int state; | 162 | unsigned int state; |
163 | unsigned int platform_limit; | ||
164 | struct acpi_pct_register control_register; | ||
165 | struct acpi_pct_register status_register; | ||
166 | unsigned int state_count; | ||
167 | struct acpi_processor_tx_tss *states_tss; | ||
168 | struct acpi_tsd_package domain_info; | ||
169 | cpumask_t shared_cpu_map; | ||
170 | int (*acpi_processor_get_throttling) (struct acpi_processor * pr); | ||
171 | int (*acpi_processor_set_throttling) (struct acpi_processor * pr, | ||
172 | int state); | ||
173 | |||
135 | u32 address; | 174 | u32 address; |
136 | u8 duty_offset; | 175 | u8 duty_offset; |
137 | u8 duty_width; | 176 | u8 duty_width; |
138 | int state_count; | ||
139 | struct acpi_processor_tx states[ACPI_PROCESSOR_MAX_THROTTLING]; | 177 | struct acpi_processor_tx states[ACPI_PROCESSOR_MAX_THROTTLING]; |
140 | }; | 178 | }; |
141 | 179 | ||
@@ -169,6 +207,9 @@ struct acpi_processor { | |||
169 | u32 id; | 207 | u32 id; |
170 | u32 pblk; | 208 | u32 pblk; |
171 | int performance_platform_limit; | 209 | int performance_platform_limit; |
210 | int throttling_platform_limit; | ||
211 | /* 0 - states 0..n-th state available */ | ||
212 | |||
172 | struct acpi_processor_flags flags; | 213 | struct acpi_processor_flags flags; |
173 | struct acpi_processor_power power; | 214 | struct acpi_processor_power power; |
174 | struct acpi_processor_performance *performance; | 215 | struct acpi_processor_performance *performance; |
@@ -270,7 +311,7 @@ static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr) | |||
270 | 311 | ||
271 | /* in processor_throttling.c */ | 312 | /* in processor_throttling.c */ |
272 | int acpi_processor_get_throttling_info(struct acpi_processor *pr); | 313 | int acpi_processor_get_throttling_info(struct acpi_processor *pr); |
273 | int acpi_processor_set_throttling(struct acpi_processor *pr, int state); | 314 | extern int acpi_processor_set_throttling(struct acpi_processor *pr, int state); |
274 | extern struct file_operations acpi_processor_throttling_fops; | 315 | extern struct file_operations acpi_processor_throttling_fops; |
275 | 316 | ||
276 | /* in processor_idle.c */ | 317 | /* in processor_idle.c */ |
diff --git a/include/asm-i386/alternative.h b/include/asm-i386/alternative.h index eb7da5402bfa..bda6c810c0f4 100644 --- a/include/asm-i386/alternative.h +++ b/include/asm-i386/alternative.h | |||
@@ -149,4 +149,6 @@ apply_paravirt(struct paravirt_patch_site *start, | |||
149 | #define __parainstructions_end NULL | 149 | #define __parainstructions_end NULL |
150 | #endif | 150 | #endif |
151 | 151 | ||
152 | extern void text_poke(void *addr, unsigned char *opcode, int len); | ||
153 | |||
152 | #endif /* _I386_ALTERNATIVE_H */ | 154 | #endif /* _I386_ALTERNATIVE_H */ |
diff --git a/include/asm-i386/cmpxchg.h b/include/asm-i386/cmpxchg.h index 64dcdf46117b..f86ede28f6dc 100644 --- a/include/asm-i386/cmpxchg.h +++ b/include/asm-i386/cmpxchg.h | |||
@@ -34,7 +34,7 @@ static inline void __set_64bit (unsigned long long * ptr, | |||
34 | "\n1:\t" | 34 | "\n1:\t" |
35 | "movl (%0), %%eax\n\t" | 35 | "movl (%0), %%eax\n\t" |
36 | "movl 4(%0), %%edx\n\t" | 36 | "movl 4(%0), %%edx\n\t" |
37 | "lock cmpxchg8b (%0)\n\t" | 37 | LOCK_PREFIX "cmpxchg8b (%0)\n\t" |
38 | "jnz 1b" | 38 | "jnz 1b" |
39 | : /* no outputs */ | 39 | : /* no outputs */ |
40 | : "D"(ptr), | 40 | : "D"(ptr), |
diff --git a/include/asm-i386/mce.h b/include/asm-i386/mce.h index b0a02ee34ffd..d56d89742e8f 100644 --- a/include/asm-i386/mce.h +++ b/include/asm-i386/mce.h | |||
@@ -5,3 +5,7 @@ extern void mcheck_init(struct cpuinfo_x86 *c); | |||
5 | #endif | 5 | #endif |
6 | 6 | ||
7 | extern int mce_disabled; | 7 | extern int mce_disabled; |
8 | |||
9 | extern void stop_mce(void); | ||
10 | extern void restart_mce(void); | ||
11 | |||
diff --git a/include/asm-i386/nmi.h b/include/asm-i386/nmi.h index fb1e133efd9f..ff30c98f87b0 100644 --- a/include/asm-i386/nmi.h +++ b/include/asm-i386/nmi.h | |||
@@ -57,5 +57,7 @@ unsigned lapic_adjust_nmi_hz(unsigned hz); | |||
57 | int lapic_watchdog_ok(void); | 57 | int lapic_watchdog_ok(void); |
58 | void disable_lapic_nmi_watchdog(void); | 58 | void disable_lapic_nmi_watchdog(void); |
59 | void enable_lapic_nmi_watchdog(void); | 59 | void enable_lapic_nmi_watchdog(void); |
60 | void stop_nmi(void); | ||
61 | void restart_nmi(void); | ||
60 | 62 | ||
61 | #endif /* ASM_NMI_H */ | 63 | #endif /* ASM_NMI_H */ |
diff --git a/include/asm-i386/processor-cyrix.h b/include/asm-i386/processor-cyrix.h new file mode 100644 index 000000000000..97568ada1f97 --- /dev/null +++ b/include/asm-i386/processor-cyrix.h | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * NSC/Cyrix CPU indexed register access. Must be inlined instead of | ||
3 | * macros to ensure correct access ordering | ||
4 | * Access order is always 0x22 (=offset), 0x23 (=value) | ||
5 | * | ||
6 | * When using the old macros a line like | ||
7 | * setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x88); | ||
8 | * gets expanded to: | ||
9 | * do { | ||
10 | * outb((CX86_CCR2), 0x22); | ||
11 | * outb((({ | ||
12 | * outb((CX86_CCR2), 0x22); | ||
13 | * inb(0x23); | ||
14 | * }) | 0x88), 0x23); | ||
15 | * } while (0); | ||
16 | * | ||
17 | * which in fact violates the access order (= 0x22, 0x22, 0x23, 0x23). | ||
18 | */ | ||
19 | |||
20 | static inline u8 getCx86(u8 reg) | ||
21 | { | ||
22 | outb(reg, 0x22); | ||
23 | return inb(0x23); | ||
24 | } | ||
25 | |||
26 | static inline void setCx86(u8 reg, u8 data) | ||
27 | { | ||
28 | outb(reg, 0x22); | ||
29 | outb(data, 0x23); | ||
30 | } | ||
diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h index 48a7f69bb767..3845fe72383e 100644 --- a/include/asm-i386/processor.h +++ b/include/asm-i386/processor.h | |||
@@ -168,17 +168,6 @@ static inline void clear_in_cr4 (unsigned long mask) | |||
168 | write_cr4(cr4); | 168 | write_cr4(cr4); |
169 | } | 169 | } |
170 | 170 | ||
171 | /* | ||
172 | * NSC/Cyrix CPU indexed register access macros | ||
173 | */ | ||
174 | |||
175 | #define getCx86(reg) ({ outb((reg), 0x22); inb(0x23); }) | ||
176 | |||
177 | #define setCx86(reg, data) do { \ | ||
178 | outb((reg), 0x22); \ | ||
179 | outb((data), 0x23); \ | ||
180 | } while (0) | ||
181 | |||
182 | /* Stop speculative execution */ | 171 | /* Stop speculative execution */ |
183 | static inline void sync_core(void) | 172 | static inline void sync_core(void) |
184 | { | 173 | { |
diff --git a/include/asm-powerpc/mpic.h b/include/asm-powerpc/mpic.h index 2ffb06abe881..262db6b8da73 100644 --- a/include/asm-powerpc/mpic.h +++ b/include/asm-powerpc/mpic.h | |||
@@ -296,6 +296,9 @@ struct mpic | |||
296 | unsigned int dcr_base; | 296 | unsigned int dcr_base; |
297 | #endif | 297 | #endif |
298 | 298 | ||
299 | /* Protected sources */ | ||
300 | unsigned long *protected; | ||
301 | |||
299 | #ifdef CONFIG_MPIC_WEIRD | 302 | #ifdef CONFIG_MPIC_WEIRD |
300 | /* Pointer to HW info array */ | 303 | /* Pointer to HW info array */ |
301 | u32 *hw_set; | 304 | u32 *hw_set; |
diff --git a/include/asm-powerpc/prom.h b/include/asm-powerpc/prom.h index 6e391c9894ce..672083787a1d 100644 --- a/include/asm-powerpc/prom.h +++ b/include/asm-powerpc/prom.h | |||
@@ -139,7 +139,7 @@ extern unsigned long __init of_get_flat_dt_root(void); | |||
139 | 139 | ||
140 | /* For updating the device tree at runtime */ | 140 | /* For updating the device tree at runtime */ |
141 | extern void of_attach_node(struct device_node *); | 141 | extern void of_attach_node(struct device_node *); |
142 | extern void of_detach_node(const struct device_node *); | 142 | extern void of_detach_node(struct device_node *); |
143 | 143 | ||
144 | /* Other Prototypes */ | 144 | /* Other Prototypes */ |
145 | extern void finish_device_tree(void); | 145 | extern void finish_device_tree(void); |
diff --git a/include/asm-ppc/system.h b/include/asm-ppc/system.h index f1311a8f310f..cc45780421ca 100644 --- a/include/asm-ppc/system.h +++ b/include/asm-ppc/system.h | |||
@@ -54,6 +54,7 @@ extern void show_regs(struct pt_regs * regs); | |||
54 | extern void flush_instruction_cache(void); | 54 | extern void flush_instruction_cache(void); |
55 | extern void hard_reset_now(void); | 55 | extern void hard_reset_now(void); |
56 | extern void poweroff_now(void); | 56 | extern void poweroff_now(void); |
57 | extern int set_dabr(unsigned long dabr); | ||
57 | #ifdef CONFIG_6xx | 58 | #ifdef CONFIG_6xx |
58 | extern long _get_L2CR(void); | 59 | extern long _get_L2CR(void); |
59 | extern long _get_L3CR(void); | 60 | extern long _get_L3CR(void); |
diff --git a/include/asm-x86_64/alternative.h b/include/asm-x86_64/alternative.h index eea7aecfac78..ab161e810151 100644 --- a/include/asm-x86_64/alternative.h +++ b/include/asm-x86_64/alternative.h | |||
@@ -154,4 +154,6 @@ apply_paravirt(struct paravirt_patch *start, struct paravirt_patch *end) | |||
154 | #define __parainstructions_end NULL | 154 | #define __parainstructions_end NULL |
155 | #endif | 155 | #endif |
156 | 156 | ||
157 | extern void text_poke(void *addr, unsigned char *opcode, int len); | ||
158 | |||
157 | #endif /* _X86_64_ALTERNATIVE_H */ | 159 | #endif /* _X86_64_ALTERNATIVE_H */ |
diff --git a/include/asm-x86_64/cmpxchg.h b/include/asm-x86_64/cmpxchg.h index 09a6b6b6b74d..5e182062e6ec 100644 --- a/include/asm-x86_64/cmpxchg.h +++ b/include/asm-x86_64/cmpxchg.h | |||
@@ -128,7 +128,7 @@ static inline unsigned long __cmpxchg_local(volatile void *ptr, | |||
128 | ((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)(o),\ | 128 | ((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)(o),\ |
129 | (unsigned long)(n),sizeof(*(ptr)))) | 129 | (unsigned long)(n),sizeof(*(ptr)))) |
130 | #define cmpxchg_local(ptr,o,n)\ | 130 | #define cmpxchg_local(ptr,o,n)\ |
131 | ((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)(o),\ | 131 | ((__typeof__(*(ptr)))__cmpxchg_local((ptr),(unsigned long)(o),\ |
132 | (unsigned long)(n),sizeof(*(ptr)))) | 132 | (unsigned long)(n),sizeof(*(ptr)))) |
133 | 133 | ||
134 | #endif | 134 | #endif |
diff --git a/include/asm-x86_64/hypertransport.h b/include/asm-x86_64/hypertransport.h index c16c6ff4bdd7..5cbf9fa5e0b5 100644 --- a/include/asm-x86_64/hypertransport.h +++ b/include/asm-x86_64/hypertransport.h | |||
@@ -1,42 +1 @@ | |||
1 | #ifndef ASM_HYPERTRANSPORT_H | #include <asm-i386/hypertransport.h> | |
2 | #define ASM_HYPERTRANSPORT_H | ||
3 | |||
4 | /* | ||
5 | * Constants for x86 Hypertransport Interrupts. | ||
6 | */ | ||
7 | |||
8 | #define HT_IRQ_LOW_BASE 0xf8000000 | ||
9 | |||
10 | #define HT_IRQ_LOW_VECTOR_SHIFT 16 | ||
11 | #define HT_IRQ_LOW_VECTOR_MASK 0x00ff0000 | ||
12 | #define HT_IRQ_LOW_VECTOR(v) (((v) << HT_IRQ_LOW_VECTOR_SHIFT) & HT_IRQ_LOW_VECTOR_MASK) | ||
13 | |||
14 | #define HT_IRQ_LOW_DEST_ID_SHIFT 8 | ||
15 | #define HT_IRQ_LOW_DEST_ID_MASK 0x0000ff00 | ||
16 | #define HT_IRQ_LOW_DEST_ID(v) (((v) << HT_IRQ_LOW_DEST_ID_SHIFT) & HT_IRQ_LOW_DEST_ID_MASK) | ||
17 | |||
18 | #define HT_IRQ_LOW_DM_PHYSICAL 0x0000000 | ||
19 | #define HT_IRQ_LOW_DM_LOGICAL 0x0000040 | ||
20 | |||
21 | #define HT_IRQ_LOW_RQEOI_EDGE 0x0000000 | ||
22 | #define HT_IRQ_LOW_RQEOI_LEVEL 0x0000020 | ||
23 | |||
24 | |||
25 | #define HT_IRQ_LOW_MT_FIXED 0x0000000 | ||
26 | #define HT_IRQ_LOW_MT_ARBITRATED 0x0000004 | ||
27 | #define HT_IRQ_LOW_MT_SMI 0x0000008 | ||
28 | #define HT_IRQ_LOW_MT_NMI 0x000000c | ||
29 | #define HT_IRQ_LOW_MT_INIT 0x0000010 | ||
30 | #define HT_IRQ_LOW_MT_STARTUP 0x0000014 | ||
31 | #define HT_IRQ_LOW_MT_EXTINT 0x0000018 | ||
32 | #define HT_IRQ_LOW_MT_LINT1 0x000008c | ||
33 | #define HT_IRQ_LOW_MT_LINT0 0x0000098 | ||
34 | |||
35 | #define HT_IRQ_LOW_IRQ_MASKED 0x0000001 | ||
36 | |||
37 | |||
38 | #define HT_IRQ_HIGH_DEST_ID_SHIFT 0 | ||
39 | #define HT_IRQ_HIGH_DEST_ID_MASK 0x00ffffff | ||
40 | #define HT_IRQ_HIGH_DEST_ID(v) ((((v) >> 8) << HT_IRQ_HIGH_DEST_ID_SHIFT) & HT_IRQ_HIGH_DEST_ID_MASK) | ||
41 | |||
42 | #endif /* ASM_HYPERTRANSPORT_H */ | ||
diff --git a/include/asm-x86_64/mce.h b/include/asm-x86_64/mce.h index 556be5563e30..7bc030a1996d 100644 --- a/include/asm-x86_64/mce.h +++ b/include/asm-x86_64/mce.h | |||
@@ -107,6 +107,9 @@ extern void do_machine_check(struct pt_regs *, long); | |||
107 | 107 | ||
108 | extern int mce_notify_user(void); | 108 | extern int mce_notify_user(void); |
109 | 109 | ||
110 | extern void stop_mce(void); | ||
111 | extern void restart_mce(void); | ||
112 | |||
110 | #endif | 113 | #endif |
111 | 114 | ||
112 | #endif | 115 | #endif |
diff --git a/include/asm-x86_64/msidef.h b/include/asm-x86_64/msidef.h index 5b8acddb70fb..083ad5827e48 100644 --- a/include/asm-x86_64/msidef.h +++ b/include/asm-x86_64/msidef.h | |||
@@ -1,47 +1 @@ | |||
1 | #ifndef ASM_MSIDEF_H | #include <asm-i386/msidef.h> | |
2 | #define ASM_MSIDEF_H | ||
3 | |||
4 | /* | ||
5 | * Constants for Intel APIC based MSI messages. | ||
6 | */ | ||
7 | |||
8 | /* | ||
9 | * Shifts for MSI data | ||
10 | */ | ||
11 | |||
12 | #define MSI_DATA_VECTOR_SHIFT 0 | ||
13 | #define MSI_DATA_VECTOR_MASK 0x000000ff | ||
14 | #define MSI_DATA_VECTOR(v) (((v) << MSI_DATA_VECTOR_SHIFT) & MSI_DATA_VECTOR_MASK) | ||
15 | |||
16 | #define MSI_DATA_DELIVERY_MODE_SHIFT 8 | ||
17 | #define MSI_DATA_DELIVERY_FIXED (0 << MSI_DATA_DELIVERY_MODE_SHIFT) | ||
18 | #define MSI_DATA_DELIVERY_LOWPRI (1 << MSI_DATA_DELIVERY_MODE_SHIFT) | ||
19 | |||
20 | #define MSI_DATA_LEVEL_SHIFT 14 | ||
21 | #define MSI_DATA_LEVEL_DEASSERT (0 << MSI_DATA_LEVEL_SHIFT) | ||
22 | #define MSI_DATA_LEVEL_ASSERT (1 << MSI_DATA_LEVEL_SHIFT) | ||
23 | |||
24 | #define MSI_DATA_TRIGGER_SHIFT 15 | ||
25 | #define MSI_DATA_TRIGGER_EDGE (0 << MSI_DATA_TRIGGER_SHIFT) | ||
26 | #define MSI_DATA_TRIGGER_LEVEL (1 << MSI_DATA_TRIGGER_SHIFT) | ||
27 | |||
28 | /* | ||
29 | * Shift/mask fields for msi address | ||
30 | */ | ||
31 | |||
32 | #define MSI_ADDR_BASE_HI 0 | ||
33 | #define MSI_ADDR_BASE_LO 0xfee00000 | ||
34 | |||
35 | #define MSI_ADDR_DEST_MODE_SHIFT 2 | ||
36 | #define MSI_ADDR_DEST_MODE_PHYSICAL (0 << MSI_ADDR_DEST_MODE_SHIFT) | ||
37 | #define MSI_ADDR_DEST_MODE_LOGICAL (1 << MSI_ADDR_DEST_MODE_SHIFT) | ||
38 | |||
39 | #define MSI_ADDR_REDIRECTION_SHIFT 3 | ||
40 | #define MSI_ADDR_REDIRECTION_CPU (0 << MSI_ADDR_REDIRECTION_SHIFT) /* dedicated cpu */ | ||
41 | #define MSI_ADDR_REDIRECTION_LOWPRI (1 << MSI_ADDR_REDIRECTION_SHIFT) /* lowest priority */ | ||
42 | |||
43 | #define MSI_ADDR_DEST_ID_SHIFT 12 | ||
44 | #define MSI_ADDR_DEST_ID_MASK 0x00ffff0 | ||
45 | #define MSI_ADDR_DEST_ID(dest) (((dest) << MSI_ADDR_DEST_ID_SHIFT) & MSI_ADDR_DEST_ID_MASK) | ||
46 | |||
47 | #endif /* ASM_MSIDEF_H */ | ||
diff --git a/include/asm-x86_64/nmi.h b/include/asm-x86_64/nmi.h index d0a7f53b1497..5fb3c0de5ccc 100644 --- a/include/asm-x86_64/nmi.h +++ b/include/asm-x86_64/nmi.h | |||
@@ -88,5 +88,7 @@ unsigned lapic_adjust_nmi_hz(unsigned hz); | |||
88 | int lapic_watchdog_ok(void); | 88 | int lapic_watchdog_ok(void); |
89 | void disable_lapic_nmi_watchdog(void); | 89 | void disable_lapic_nmi_watchdog(void); |
90 | void enable_lapic_nmi_watchdog(void); | 90 | void enable_lapic_nmi_watchdog(void); |
91 | void stop_nmi(void); | ||
92 | void restart_nmi(void); | ||
91 | 93 | ||
92 | #endif /* ASM_NMI_H */ | 94 | #endif /* ASM_NMI_H */ |
diff --git a/include/asm-x86_64/pgtable.h b/include/asm-x86_64/pgtable.h index 60cff1e4f7a3..c9d8764c89d1 100644 --- a/include/asm-x86_64/pgtable.h +++ b/include/asm-x86_64/pgtable.h | |||
@@ -403,6 +403,8 @@ extern struct list_head pgd_list; | |||
403 | 403 | ||
404 | extern int kern_addr_valid(unsigned long addr); | 404 | extern int kern_addr_valid(unsigned long addr); |
405 | 405 | ||
406 | pte_t *lookup_address(unsigned long addr); | ||
407 | |||
406 | #define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \ | 408 | #define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \ |
407 | remap_pfn_range(vma, vaddr, pfn, size, prot) | 409 | remap_pfn_range(vma, vaddr, pfn, size, prot) |
408 | 410 | ||
diff --git a/include/asm-x86_64/processor.h b/include/asm-x86_64/processor.h index a1645bbc03bd..19525175b91c 100644 --- a/include/asm-x86_64/processor.h +++ b/include/asm-x86_64/processor.h | |||
@@ -389,17 +389,6 @@ static inline void prefetchw(void *x) | |||
389 | 389 | ||
390 | #define cpu_relax() rep_nop() | 390 | #define cpu_relax() rep_nop() |
391 | 391 | ||
392 | /* | ||
393 | * NSC/Cyrix CPU indexed register access macros | ||
394 | */ | ||
395 | |||
396 | #define getCx86(reg) ({ outb((reg), 0x22); inb(0x23); }) | ||
397 | |||
398 | #define setCx86(reg, data) do { \ | ||
399 | outb((reg), 0x22); \ | ||
400 | outb((data), 0x23); \ | ||
401 | } while (0) | ||
402 | |||
403 | static inline void serialize_cpu(void) | 392 | static inline void serialize_cpu(void) |
404 | { | 393 | { |
405 | __asm__ __volatile__ ("cpuid" : : : "ax", "bx", "cx", "dx"); | 394 | __asm__ __volatile__ ("cpuid" : : : "ax", "bx", "cx", "dx"); |
diff --git a/include/asm-x86_64/proto.h b/include/asm-x86_64/proto.h index d6e3225549c0..31f20ad65876 100644 --- a/include/asm-x86_64/proto.h +++ b/include/asm-x86_64/proto.h | |||
@@ -75,8 +75,6 @@ extern void setup_node_bootmem(int nodeid, unsigned long start, unsigned long en | |||
75 | extern void early_quirks(void); | 75 | extern void early_quirks(void); |
76 | extern void check_efer(void); | 76 | extern void check_efer(void); |
77 | 77 | ||
78 | extern int unhandled_signal(struct task_struct *tsk, int sig); | ||
79 | |||
80 | extern void select_idle_routine(const struct cpuinfo_x86 *c); | 78 | extern void select_idle_routine(const struct cpuinfo_x86 *c); |
81 | 79 | ||
82 | extern unsigned long table_start, table_end; | 80 | extern unsigned long table_start, table_end; |
diff --git a/include/asm-x86_64/system.h b/include/asm-x86_64/system.h index 6313d33a0686..02175aa1d16a 100644 --- a/include/asm-x86_64/system.h +++ b/include/asm-x86_64/system.h | |||
@@ -75,19 +75,31 @@ static inline unsigned long read_cr0(void) | |||
75 | unsigned long cr0; | 75 | unsigned long cr0; |
76 | asm volatile("movq %%cr0,%0" : "=r" (cr0)); | 76 | asm volatile("movq %%cr0,%0" : "=r" (cr0)); |
77 | return cr0; | 77 | return cr0; |
78 | } | 78 | } |
79 | 79 | ||
80 | static inline void write_cr0(unsigned long val) | 80 | static inline void write_cr0(unsigned long val) |
81 | { | 81 | { |
82 | asm volatile("movq %0,%%cr0" :: "r" (val)); | 82 | asm volatile("movq %0,%%cr0" :: "r" (val)); |
83 | } | 83 | } |
84 | |||
85 | static inline unsigned long read_cr2(void) | ||
86 | { | ||
87 | unsigned long cr2; | ||
88 | asm("movq %%cr2,%0" : "=r" (cr2)); | ||
89 | return cr2; | ||
90 | } | ||
91 | |||
92 | static inline void write_cr2(unsigned long val) | ||
93 | { | ||
94 | asm volatile("movq %0,%%cr2" :: "r" (val)); | ||
95 | } | ||
84 | 96 | ||
85 | static inline unsigned long read_cr3(void) | 97 | static inline unsigned long read_cr3(void) |
86 | { | 98 | { |
87 | unsigned long cr3; | 99 | unsigned long cr3; |
88 | asm("movq %%cr3,%0" : "=r" (cr3)); | 100 | asm("movq %%cr3,%0" : "=r" (cr3)); |
89 | return cr3; | 101 | return cr3; |
90 | } | 102 | } |
91 | 103 | ||
92 | static inline void write_cr3(unsigned long val) | 104 | static inline void write_cr3(unsigned long val) |
93 | { | 105 | { |
@@ -99,12 +111,24 @@ static inline unsigned long read_cr4(void) | |||
99 | unsigned long cr4; | 111 | unsigned long cr4; |
100 | asm("movq %%cr4,%0" : "=r" (cr4)); | 112 | asm("movq %%cr4,%0" : "=r" (cr4)); |
101 | return cr4; | 113 | return cr4; |
102 | } | 114 | } |
103 | 115 | ||
104 | static inline void write_cr4(unsigned long val) | 116 | static inline void write_cr4(unsigned long val) |
105 | { | 117 | { |
106 | asm volatile("movq %0,%%cr4" :: "r" (val) : "memory"); | 118 | asm volatile("movq %0,%%cr4" :: "r" (val) : "memory"); |
107 | } | 119 | } |
120 | |||
121 | static inline unsigned long read_cr8(void) | ||
122 | { | ||
123 | unsigned long cr8; | ||
124 | asm("movq %%cr8,%0" : "=r" (cr8)); | ||
125 | return cr8; | ||
126 | } | ||
127 | |||
128 | static inline void write_cr8(unsigned long val) | ||
129 | { | ||
130 | asm volatile("movq %0,%%cr8" :: "r" (val) : "memory"); | ||
131 | } | ||
108 | 132 | ||
109 | #define stts() write_cr0(8 | read_cr0()) | 133 | #define stts() write_cr0(8 | read_cr0()) |
110 | 134 | ||
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h index 5fd44e63fb26..448f70b30a0c 100644 --- a/include/linux/of_platform.h +++ b/include/linux/of_platform.h | |||
@@ -31,8 +31,8 @@ extern struct bus_type of_platform_bus_type; | |||
31 | */ | 31 | */ |
32 | struct of_platform_driver | 32 | struct of_platform_driver |
33 | { | 33 | { |
34 | char *name; | 34 | const char *name; |
35 | struct of_device_id *match_table; | 35 | const struct of_device_id *match_table; |
36 | struct module *owner; | 36 | struct module *owner; |
37 | 37 | ||
38 | int (*probe)(struct of_device* dev, | 38 | int (*probe)(struct of_device* dev, |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index b15c6498fe67..ced4d3f76104 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -2040,6 +2040,8 @@ | |||
2040 | #define PCI_DEVICE_ID_ALTIMA_AC9100 0x03ea | 2040 | #define PCI_DEVICE_ID_ALTIMA_AC9100 0x03ea |
2041 | #define PCI_DEVICE_ID_ALTIMA_AC1003 0x03eb | 2041 | #define PCI_DEVICE_ID_ALTIMA_AC1003 0x03eb |
2042 | 2042 | ||
2043 | #define PCI_VENDOR_ID_LENOVO 0x17aa | ||
2044 | |||
2043 | #define PCI_VENDOR_ID_ARECA 0x17d3 | 2045 | #define PCI_VENDOR_ID_ARECA 0x17d3 |
2044 | #define PCI_DEVICE_ID_ARECA_1110 0x1110 | 2046 | #define PCI_DEVICE_ID_ARECA_1110 0x1110 |
2045 | #define PCI_DEVICE_ID_ARECA_1120 0x1120 | 2047 | #define PCI_DEVICE_ID_ARECA_1120 0x1120 |
diff --git a/include/linux/signal.h b/include/linux/signal.h index ea91abe740da..0ae338866240 100644 --- a/include/linux/signal.h +++ b/include/linux/signal.h | |||
@@ -237,12 +237,15 @@ extern int group_send_sig_info(int sig, struct siginfo *info, struct task_struct | |||
237 | extern int __group_send_sig_info(int, struct siginfo *, struct task_struct *); | 237 | extern int __group_send_sig_info(int, struct siginfo *, struct task_struct *); |
238 | extern long do_sigpending(void __user *, unsigned long); | 238 | extern long do_sigpending(void __user *, unsigned long); |
239 | extern int sigprocmask(int, sigset_t *, sigset_t *); | 239 | extern int sigprocmask(int, sigset_t *, sigset_t *); |
240 | extern int show_unhandled_signals; | ||
240 | 241 | ||
241 | struct pt_regs; | 242 | struct pt_regs; |
242 | extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie); | 243 | extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie); |
243 | 244 | ||
244 | extern struct kmem_cache *sighand_cachep; | 245 | extern struct kmem_cache *sighand_cachep; |
245 | 246 | ||
247 | int unhandled_signal(struct task_struct *tsk, int sig); | ||
248 | |||
246 | /* | 249 | /* |
247 | * In POSIX a signal is sent either to a specific thread (Linux task) | 250 | * In POSIX a signal is sent either to a specific thread (Linux task) |
248 | * or to the process as a whole (Linux thread group). How the signal | 251 | * or to the process as a whole (Linux thread group). How the signal |