diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-12 17:11:31 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-27 09:24:00 -0700 |
commit | 6550e07f41ce8473ed684dac54fbfbd42183ffda (patch) | |
tree | d8ed394175785e9b28333d7ae130b725e176dfb5 | |
parent | 2427ddd8fae2febe3f5ac1ba76b092541304d9f0 (diff) | |
download | blackbird-op-linux-6550e07f41ce8473ed684dac54fbfbd42183ffda.tar.gz blackbird-op-linux-6550e07f41ce8473ed684dac54fbfbd42183ffda.zip |
[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 bool depends on HIGHMEM64G default y + select RESOURCES_64BIT # Common NUMA Features 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; #ifdef __KERNEL__ typedef unsigned __bitwise__ gfp_t; -typedef unsigned long resource_size_t; +#ifdef CONFIG_RESOURCES_64BIT +typedef u64 resource_size_t; +#else +typedef u32 resource_size_t; #endif +#endif /* __KERNEL__ */ + struct ustat { __kernel_daddr_t f_tfree; __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 @@ struct resource ioport_resource = { .name = "PCI IO", - .start = 0x0000, + .start = 0, .end = IO_SPACE_LIMIT, .flags = IORESOURCE_IO, }; - EXPORT_SYMBOL(ioport_resource); struct resource iomem_resource = { .name = "PCI mem", - .start = 0UL, - .end = ~0UL, + .start = 0, + .end = -1, .flags = IORESOURCE_MEM, }; - EXPORT_SYMBOL(iomem_resource); 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 while the virtual addresses are not changed. This is useful for example on NUMA systems to put pages nearer to the processors accessing the page. + +config RESOURCES_64BIT + bool "64 bit Memory and IO resources (EXPERIMENTAL)" if (!64BIT && EXPERIMENTAL) + default 64BIT + help + This option allows memory and IO resources to be 64 bit. |