diff options
| author | H. Peter Anvin <hpa@zytor.com> | 2009-11-23 17:46:07 -0500 |
|---|---|---|
| committer | H. Peter Anvin <hpa@zytor.com> | 2009-11-23 20:09:59 -0500 |
| commit | eb41c8be89dbe079f49202774e04a79ccac48a09 (patch) | |
| tree | e57452dfa35f00f7a7db373d395d9feafab252a7 | |
| parent | 65f116f5f16dc3371fce24fb24bc4843b5380ba5 (diff) | |
x86, platform: Change is_untracked_pat_range() to bool; cleanup init
- Change is_untracked_pat_range() to return bool.
- Clean up the initialization of is_untracked_pat_range() -- by default,
we simply point it at is_ISA_range() directly.
- Move is_untracked_pat_range to the end of struct x86_platform, since
it is the newest field.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Jack Steiner <steiner@sgi.com>
LKML-Reference: <20091119202341.GA4420@sgi.com>
| -rw-r--r-- | arch/x86/include/asm/pat.h | 2 | ||||
| -rw-r--r-- | arch/x86/include/asm/x86_init.h | 4 | ||||
| -rw-r--r-- | arch/x86/kernel/apic/x2apic_uv_x.c | 4 | ||||
| -rw-r--r-- | arch/x86/kernel/x86_init.c | 2 | ||||
| -rw-r--r-- | arch/x86/mm/pat.c | 5 |
5 files changed, 5 insertions, 12 deletions
diff --git a/arch/x86/include/asm/pat.h b/arch/x86/include/asm/pat.h index 4c35dd016b54..e2c1668dde7a 100644 --- a/arch/x86/include/asm/pat.h +++ b/arch/x86/include/asm/pat.h | |||
| @@ -24,6 +24,4 @@ int io_reserve_memtype(resource_size_t start, resource_size_t end, | |||
| 24 | 24 | ||
| 25 | void io_free_memtype(resource_size_t start, resource_size_t end); | 25 | void io_free_memtype(resource_size_t start, resource_size_t end); |
| 26 | 26 | ||
| 27 | int default_is_untracked_pat_range(u64 start, u64 end); | ||
| 28 | |||
| 29 | #endif /* _ASM_X86_PAT_H */ | 27 | #endif /* _ASM_X86_PAT_H */ |
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h index 8112ed786287..024cf3c1fd82 100644 --- a/arch/x86/include/asm/x86_init.h +++ b/arch/x86/include/asm/x86_init.h | |||
| @@ -113,16 +113,16 @@ struct x86_cpuinit_ops { | |||
| 113 | 113 | ||
| 114 | /** | 114 | /** |
| 115 | * struct x86_platform_ops - platform specific runtime functions | 115 | * struct x86_platform_ops - platform specific runtime functions |
| 116 | * @is_untracked_pat_range exclude from PAT logic | ||
| 117 | * @calibrate_tsc: calibrate TSC | 116 | * @calibrate_tsc: calibrate TSC |
| 118 | * @get_wallclock: get time from HW clock like RTC etc. | 117 | * @get_wallclock: get time from HW clock like RTC etc. |
| 119 | * @set_wallclock: set time back to HW clock | 118 | * @set_wallclock: set time back to HW clock |
| 119 | * @is_untracked_pat_range exclude from PAT logic | ||
| 120 | */ | 120 | */ |
| 121 | struct x86_platform_ops { | 121 | struct x86_platform_ops { |
| 122 | int (*is_untracked_pat_range)(u64 start, u64 end); | ||
| 123 | unsigned long (*calibrate_tsc)(void); | 122 | unsigned long (*calibrate_tsc)(void); |
| 124 | unsigned long (*get_wallclock)(void); | 123 | unsigned long (*get_wallclock)(void); |
| 125 | int (*set_wallclock)(unsigned long nowtime); | 124 | int (*set_wallclock)(unsigned long nowtime); |
| 125 | bool (*is_untracked_pat_range)(u64 start, u64 end); | ||
| 126 | }; | 126 | }; |
| 127 | 127 | ||
| 128 | extern struct x86_init_ops x86_init; | 128 | extern struct x86_init_ops x86_init; |
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index 2477c9f88093..597a47b1cec6 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c | |||
| @@ -37,12 +37,12 @@ DEFINE_PER_CPU(int, x2apic_extra_bits); | |||
| 37 | static enum uv_system_type uv_system_type; | 37 | static enum uv_system_type uv_system_type; |
| 38 | static u64 gru_start_paddr, gru_end_paddr; | 38 | static u64 gru_start_paddr, gru_end_paddr; |
| 39 | 39 | ||
| 40 | static int is_GRU_range(u64 start, u64 end) | 40 | static inline bool is_GRU_range(u64 start, u64 end) |
| 41 | { | 41 | { |
| 42 | return start >= gru_start_paddr && end < gru_end_paddr; | 42 | return start >= gru_start_paddr && end < gru_end_paddr; |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | static int uv_is_untracked_pat_range(u64 start, u64 end) | 45 | static bool uv_is_untracked_pat_range(u64 start, u64 end) |
| 46 | { | 46 | { |
| 47 | return is_ISA_range(start, end) || is_GRU_range(start, end); | 47 | return is_ISA_range(start, end) || is_GRU_range(start, end); |
| 48 | } | 48 | } |
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c index bcc749ef62dc..861b8b54e172 100644 --- a/arch/x86/kernel/x86_init.c +++ b/arch/x86/kernel/x86_init.c | |||
| @@ -70,8 +70,8 @@ struct x86_cpuinit_ops x86_cpuinit __cpuinitdata = { | |||
| 70 | }; | 70 | }; |
| 71 | 71 | ||
| 72 | struct x86_platform_ops x86_platform = { | 72 | struct x86_platform_ops x86_platform = { |
| 73 | .is_untracked_pat_range = default_is_untracked_pat_range, | ||
| 74 | .calibrate_tsc = native_calibrate_tsc, | 73 | .calibrate_tsc = native_calibrate_tsc, |
| 75 | .get_wallclock = mach_get_cmos_time, | 74 | .get_wallclock = mach_get_cmos_time, |
| 76 | .set_wallclock = mach_set_rtc_mmss, | 75 | .set_wallclock = mach_set_rtc_mmss, |
| 76 | .is_untracked_pat_range = is_ISA_range, | ||
| 77 | }; | 77 | }; |
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index b5bc08cfcea6..ef712518b5b4 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c | |||
| @@ -349,11 +349,6 @@ static int free_ram_pages_type(u64 start, u64 end) | |||
| 349 | return 0; | 349 | return 0; |
| 350 | } | 350 | } |
| 351 | 351 | ||
| 352 | int default_is_untracked_pat_range(u64 start, u64 end) | ||
| 353 | { | ||
| 354 | return is_ISA_range(start, end); | ||
| 355 | } | ||
| 356 | |||
| 357 | /* | 352 | /* |
| 358 | * req_type typically has one of the: | 353 | * req_type typically has one of the: |
| 359 | * - _PAGE_CACHE_WB | 354 | * - _PAGE_CACHE_WB |
