aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-11-23 17:46:07 -0500
committerH. Peter Anvin <hpa@zytor.com>2009-11-23 20:09:59 -0500
commiteb41c8be89dbe079f49202774e04a79ccac48a09 (patch)
treee57452dfa35f00f7a7db373d395d9feafab252a7 /arch
parent65f116f5f16dc3371fce24fb24bc4843b5380ba5 (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>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/include/asm/pat.h2
-rw-r--r--arch/x86/include/asm/x86_init.h4
-rw-r--r--arch/x86/kernel/apic/x2apic_uv_x.c4
-rw-r--r--arch/x86/kernel/x86_init.c2
-rw-r--r--arch/x86/mm/pat.c5
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
25void io_free_memtype(resource_size_t start, resource_size_t end); 25void io_free_memtype(resource_size_t start, resource_size_t end);
26 26
27int 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 */
121struct x86_platform_ops { 121struct 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
128extern struct x86_init_ops x86_init; 128extern 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);
37static enum uv_system_type uv_system_type; 37static enum uv_system_type uv_system_type;
38static u64 gru_start_paddr, gru_end_paddr; 38static u64 gru_start_paddr, gru_end_paddr;
39 39
40static int is_GRU_range(u64 start, u64 end) 40static 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
45static int uv_is_untracked_pat_range(u64 start, u64 end) 45static 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
72struct x86_platform_ops x86_platform = { 72struct 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
352int 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