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>
This commit is contained in:
H. Peter Anvin
2009-11-23 14:46:07 -08:00
parent 65f116f5f1
commit eb41c8be89
5 changed files with 5 additions and 12 deletions

View File

@@ -24,6 +24,4 @@ int io_reserve_memtype(resource_size_t start, resource_size_t end,
void io_free_memtype(resource_size_t start, resource_size_t end); void io_free_memtype(resource_size_t start, resource_size_t end);
int default_is_untracked_pat_range(u64 start, u64 end);
#endif /* _ASM_X86_PAT_H */ #endif /* _ASM_X86_PAT_H */

View File

@@ -113,16 +113,16 @@ struct x86_cpuinit_ops {
/** /**
* struct x86_platform_ops - platform specific runtime functions * struct x86_platform_ops - platform specific runtime functions
* @is_untracked_pat_range exclude from PAT logic
* @calibrate_tsc: calibrate TSC * @calibrate_tsc: calibrate TSC
* @get_wallclock: get time from HW clock like RTC etc. * @get_wallclock: get time from HW clock like RTC etc.
* @set_wallclock: set time back to HW clock * @set_wallclock: set time back to HW clock
* @is_untracked_pat_range exclude from PAT logic
*/ */
struct x86_platform_ops { struct x86_platform_ops {
int (*is_untracked_pat_range)(u64 start, u64 end);
unsigned long (*calibrate_tsc)(void); unsigned long (*calibrate_tsc)(void);
unsigned long (*get_wallclock)(void); unsigned long (*get_wallclock)(void);
int (*set_wallclock)(unsigned long nowtime); int (*set_wallclock)(unsigned long nowtime);
bool (*is_untracked_pat_range)(u64 start, u64 end);
}; };
extern struct x86_init_ops x86_init; extern struct x86_init_ops x86_init;

View File

@@ -37,12 +37,12 @@ DEFINE_PER_CPU(int, x2apic_extra_bits);
static enum uv_system_type uv_system_type; static enum uv_system_type uv_system_type;
static u64 gru_start_paddr, gru_end_paddr; static u64 gru_start_paddr, gru_end_paddr;
static int is_GRU_range(u64 start, u64 end) static inline bool is_GRU_range(u64 start, u64 end)
{ {
return start >= gru_start_paddr && end < gru_end_paddr; return start >= gru_start_paddr && end < gru_end_paddr;
} }
static int uv_is_untracked_pat_range(u64 start, u64 end) static bool uv_is_untracked_pat_range(u64 start, u64 end)
{ {
return is_ISA_range(start, end) || is_GRU_range(start, end); return is_ISA_range(start, end) || is_GRU_range(start, end);
} }

View File

@@ -70,8 +70,8 @@ struct x86_cpuinit_ops x86_cpuinit __cpuinitdata = {
}; };
struct x86_platform_ops x86_platform = { struct x86_platform_ops x86_platform = {
.is_untracked_pat_range = default_is_untracked_pat_range,
.calibrate_tsc = native_calibrate_tsc, .calibrate_tsc = native_calibrate_tsc,
.get_wallclock = mach_get_cmos_time, .get_wallclock = mach_get_cmos_time,
.set_wallclock = mach_set_rtc_mmss, .set_wallclock = mach_set_rtc_mmss,
.is_untracked_pat_range = is_ISA_range,
}; };

View File

@@ -349,11 +349,6 @@ static int free_ram_pages_type(u64 start, u64 end)
return 0; return 0;
} }
int default_is_untracked_pat_range(u64 start, u64 end)
{
return is_ISA_range(start, end);
}
/* /*
* req_type typically has one of the: * req_type typically has one of the:
* - _PAGE_CACHE_WB * - _PAGE_CACHE_WB