diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-12 20:11:31 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-27 12:24:00 -0400 |
commit | 6550e07f41ce8473ed684dac54fbfbd42183ffda (patch) | |
tree | d8ed394175785e9b28333d7ae130b725e176dfb5 | |
parent | 2427ddd8fae2febe3f5ac1ba76b092541304d9f0 (diff) |
[PATCH] 64bit Resource: finally enable 64bit resource sizes
Introduce the Kconfig entry and actually switch to a 64bit value, if
wanted, for resource_size_t.
Based on a patch series originally from Vivek Goyal <vgoyal@in.ibm.com>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | arch/i386/Kconfig | 1 | ||||
-rw-r--r-- | include/linux/types.h | 7 | ||||
-rw-r--r-- | kernel/resource.c | 8 | ||||
-rw-r--r-- | mm/Kconfig | 6 |
4 files changed, 16 insertions, 6 deletions
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 47c08bcd9b24..7e46ad7a7b69 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig | |||
@@ -529,6 +529,7 @@ config X86_PAE | |||
529 | bool | 529 | bool |
530 | depends on HIGHMEM64G | 530 | depends on HIGHMEM64G |
531 | default y | 531 | default y |
532 | select RESOURCES_64BIT | ||
532 | 533 | ||
533 | # Common NUMA Features | 534 | # Common NUMA Features |
534 | config NUMA | 535 | config NUMA |
diff --git a/include/linux/types.h b/include/linux/types.h index a021e1577336..3f235660a3cd 100644 --- a/include/linux/types.h +++ b/include/linux/types.h | |||
@@ -178,9 +178,14 @@ typedef __u64 __bitwise __be64; | |||
178 | #ifdef __KERNEL__ | 178 | #ifdef __KERNEL__ |
179 | typedef unsigned __bitwise__ gfp_t; | 179 | typedef unsigned __bitwise__ gfp_t; |
180 | 180 | ||
181 | typedef unsigned long resource_size_t; | 181 | #ifdef CONFIG_RESOURCES_64BIT |
182 | typedef u64 resource_size_t; | ||
183 | #else | ||
184 | typedef u32 resource_size_t; | ||
182 | #endif | 185 | #endif |
183 | 186 | ||
187 | #endif /* __KERNEL__ */ | ||
188 | |||
184 | struct ustat { | 189 | struct ustat { |
185 | __kernel_daddr_t f_tfree; | 190 | __kernel_daddr_t f_tfree; |
186 | __kernel_ino_t f_tinode; | 191 | __kernel_ino_t f_tinode; |
diff --git a/kernel/resource.c b/kernel/resource.c index 54835c02ab37..cc73029088a7 100644 --- a/kernel/resource.c +++ b/kernel/resource.c | |||
@@ -23,20 +23,18 @@ | |||
23 | 23 | ||
24 | struct resource ioport_resource = { | 24 | struct resource ioport_resource = { |
25 | .name = "PCI IO", | 25 | .name = "PCI IO", |
26 | .start = 0x0000, | 26 | .start = 0, |
27 | .end = IO_SPACE_LIMIT, | 27 | .end = IO_SPACE_LIMIT, |
28 | .flags = IORESOURCE_IO, | 28 | .flags = IORESOURCE_IO, |
29 | }; | 29 | }; |
30 | |||
31 | EXPORT_SYMBOL(ioport_resource); | 30 | EXPORT_SYMBOL(ioport_resource); |
32 | 31 | ||
33 | struct resource iomem_resource = { | 32 | struct resource iomem_resource = { |
34 | .name = "PCI mem", | 33 | .name = "PCI mem", |
35 | .start = 0UL, | 34 | .start = 0, |
36 | .end = ~0UL, | 35 | .end = -1, |
37 | .flags = IORESOURCE_MEM, | 36 | .flags = IORESOURCE_MEM, |
38 | }; | 37 | }; |
39 | |||
40 | EXPORT_SYMBOL(iomem_resource); | 38 | EXPORT_SYMBOL(iomem_resource); |
41 | 39 | ||
42 | static DEFINE_RWLOCK(resource_lock); | 40 | static DEFINE_RWLOCK(resource_lock); |
diff --git a/mm/Kconfig b/mm/Kconfig index 66e65ab39426..e3644b0062b1 100644 --- a/mm/Kconfig +++ b/mm/Kconfig | |||
@@ -145,3 +145,9 @@ config MIGRATION | |||
145 | while the virtual addresses are not changed. This is useful for | 145 | while the virtual addresses are not changed. This is useful for |
146 | example on NUMA systems to put pages nearer to the processors accessing | 146 | example on NUMA systems to put pages nearer to the processors accessing |
147 | the page. | 147 | the page. |
148 | |||
149 | config RESOURCES_64BIT | ||
150 | bool "64 bit Memory and IO resources (EXPERIMENTAL)" if (!64BIT && EXPERIMENTAL) | ||
151 | default 64BIT | ||
152 | help | ||
153 | This option allows memory and IO resources to be 64 bit. | ||