diff options
author | Yinghai Lu <yinghai@kernel.org> | 2010-02-10 04:20:11 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-02-10 20:47:17 -0500 |
commit | 9ad3f2c7c69659c343843393944d739fec1f2e73 (patch) | |
tree | b1eef2d30a70d8386c3fdfe8bd73cf15de657f8c /arch/x86/pci/amd_bus.c | |
parent | 97445c3b86e0b64e059b4829a7193f8e26fb5bfc (diff) |
x86/pci: Add cap_resource()
Prepare for 32bit pci root bus
-v2: hpa said we should compare with (resource_size_t)~0
-v3: according to Linus to use MAX_RESOURCE instead.
also need need to put related patches together
-v4: according to Andrew, use min in cap_resource()
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <1265793639-15071-8-git-send-email-yinghai@kernel.org>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/pci/amd_bus.c')
-rw-r--r-- | arch/x86/pci/amd_bus.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86/pci/amd_bus.c b/arch/x86/pci/amd_bus.c index f06bb1b4a80a..f7e13b63154e 100644 --- a/arch/x86/pci/amd_bus.c +++ b/arch/x86/pci/amd_bus.c | |||
@@ -201,7 +201,7 @@ static int __init early_fill_mp_bus_info(void) | |||
201 | 201 | ||
202 | memset(range, 0, sizeof(range)); | 202 | memset(range, 0, sizeof(range)); |
203 | /* 0xfd00000000-0xffffffffff for HT */ | 203 | /* 0xfd00000000-0xffffffffff for HT */ |
204 | range[0].end = (0xfdULL<<32) - 1; | 204 | range[0].end = cap_resource((0xfdULL<<32) - 1); |
205 | 205 | ||
206 | /* need to take out [0, TOM) for RAM*/ | 206 | /* need to take out [0, TOM) for RAM*/ |
207 | address = MSR_K8_TOP_MEM1; | 207 | address = MSR_K8_TOP_MEM1; |
@@ -286,7 +286,8 @@ static int __init early_fill_mp_bus_info(void) | |||
286 | } | 286 | } |
287 | } | 287 | } |
288 | 288 | ||
289 | update_res(info, start, end, IORESOURCE_MEM, 1); | 289 | update_res(info, cap_resource(start), cap_resource(end), |
290 | IORESOURCE_MEM, 1); | ||
290 | subtract_range(range, RANGE_NUM, start, end); | 291 | subtract_range(range, RANGE_NUM, start, end); |
291 | printk(KERN_CONT "\n"); | 292 | printk(KERN_CONT "\n"); |
292 | } | 293 | } |
@@ -321,7 +322,8 @@ static int __init early_fill_mp_bus_info(void) | |||
321 | if (!range[i].end) | 322 | if (!range[i].end) |
322 | continue; | 323 | continue; |
323 | 324 | ||
324 | update_res(info, range[i].start, range[i].end, | 325 | update_res(info, cap_resource(range[i].start), |
326 | cap_resource(range[i].end), | ||
325 | IORESOURCE_MEM, 1); | 327 | IORESOURCE_MEM, 1); |
326 | } | 328 | } |
327 | } | 329 | } |