aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-06-12 20:11:31 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2006-06-27 12:24:00 -0400
commit6550e07f41ce8473ed684dac54fbfbd42183ffda (patch)
treed8ed394175785e9b28333d7ae130b725e176dfb5
parent2427ddd8fae2febe3f5ac1ba76b092541304d9f0 (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/Kconfig1
-rw-r--r--include/linux/types.h7
-rw-r--r--kernel/resource.c8
-rw-r--r--mm/Kconfig6
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
534config NUMA 535config 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__
179typedef unsigned __bitwise__ gfp_t; 179typedef unsigned __bitwise__ gfp_t;
180 180
181typedef unsigned long resource_size_t; 181#ifdef CONFIG_RESOURCES_64BIT
182typedef u64 resource_size_t;
183#else
184typedef u32 resource_size_t;
182#endif 185#endif
183 186
187#endif /* __KERNEL__ */
188
184struct ustat { 189struct 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
24struct resource ioport_resource = { 24struct 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
31EXPORT_SYMBOL(ioport_resource); 30EXPORT_SYMBOL(ioport_resource);
32 31
33struct resource iomem_resource = { 32struct 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
40EXPORT_SYMBOL(iomem_resource); 38EXPORT_SYMBOL(iomem_resource);
41 39
42static DEFINE_RWLOCK(resource_lock); 40static 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
149config 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.