Commit 6550e07f authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

[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: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 2427ddd8
...@@ -529,6 +529,7 @@ config X86_PAE ...@@ -529,6 +529,7 @@ config X86_PAE
bool bool
depends on HIGHMEM64G depends on HIGHMEM64G
default y default y
select RESOURCES_64BIT
# Common NUMA Features # Common NUMA Features
config NUMA config NUMA
......
...@@ -178,9 +178,14 @@ typedef __u64 __bitwise __be64; ...@@ -178,9 +178,14 @@ typedef __u64 __bitwise __be64;
#ifdef __KERNEL__ #ifdef __KERNEL__
typedef unsigned __bitwise__ gfp_t; 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
#endif /* __KERNEL__ */
struct ustat { struct ustat {
__kernel_daddr_t f_tfree; __kernel_daddr_t f_tfree;
__kernel_ino_t f_tinode; __kernel_ino_t f_tinode;
......
...@@ -23,20 +23,18 @@ ...@@ -23,20 +23,18 @@
struct resource ioport_resource = { struct resource ioport_resource = {
.name = "PCI IO", .name = "PCI IO",
.start = 0x0000, .start = 0,
.end = IO_SPACE_LIMIT, .end = IO_SPACE_LIMIT,
.flags = IORESOURCE_IO, .flags = IORESOURCE_IO,
}; };
EXPORT_SYMBOL(ioport_resource); EXPORT_SYMBOL(ioport_resource);
struct resource iomem_resource = { struct resource iomem_resource = {
.name = "PCI mem", .name = "PCI mem",
.start = 0UL, .start = 0,
.end = ~0UL, .end = -1,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}; };
EXPORT_SYMBOL(iomem_resource); EXPORT_SYMBOL(iomem_resource);
static DEFINE_RWLOCK(resource_lock); static DEFINE_RWLOCK(resource_lock);
......
...@@ -145,3 +145,9 @@ config MIGRATION ...@@ -145,3 +145,9 @@ config MIGRATION
while the virtual addresses are not changed. This is useful for while the virtual addresses are not changed. This is useful for
example on NUMA systems to put pages nearer to the processors accessing example on NUMA systems to put pages nearer to the processors accessing
the page. 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.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment