diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-23 19:41:21 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-23 19:41:21 -0700 |
commit | 1a0efefaa1d44275fdc2ff673be5affc342cd4ca (patch) | |
tree | be1a149aa868949045bb28189e610dcc822f8843 /pci | |
parent | 822e44fcf9ca052f4708172a2384f67b96649603 (diff) | |
download | patches-1a0efefaa1d44275fdc2ff673be5affc342cd4ca.tar.gz |
refreshed some of the 64bit patches
Diffstat (limited to 'pci')
3 files changed, 48 insertions, 315 deletions
diff --git a/pci/64bit-resource-finally-enable-64bit-resource-sizes.patch b/pci/64bit-resource-finally-enable-64bit-resource-sizes.patch index 41bcd8ada94e6..4459b568ab5eb 100644 --- a/pci/64bit-resource-finally-enable-64bit-resource-sizes.patch +++ b/pci/64bit-resource-finally-enable-64bit-resource-sizes.patch @@ -13,303 +13,22 @@ Cc: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- - arch/arm/Kconfig | 7 +++++++ - arch/arm26/Kconfig | 7 +++++++ - arch/cris/Kconfig | 7 +++++++ - arch/frv/Kconfig | 7 +++++++ - arch/i386/Kconfig | 7 +++++++ - arch/m32r/Kconfig | 7 +++++++ - arch/m68k/Kconfig | 7 +++++++ - arch/m68knommu/Kconfig | 7 +++++++ - arch/mips/Kconfig | 8 ++++++++ - arch/parisc/Kconfig | 8 ++++++++ - arch/powerpc/Kconfig | 8 ++++++++ - arch/ppc/Kconfig | 7 +++++++ - arch/s390/Kconfig | 8 ++++++++ - arch/sh/Kconfig | 7 +++++++ - arch/sparc/Kconfig | 7 +++++++ - arch/v850/Kconfig | 7 +++++++ - arch/xtensa/Kconfig | 7 +++++++ - include/linux/types.h | 7 ++++++- - kernel/resource.c | 11 ++++++++++- - 19 files changed, 139 insertions(+), 2 deletions(-) + arch/i386/Kconfig | 1 + + include/linux/types.h | 7 ++++++- + kernel/resource.c | 8 +++----- + mm/Kconfig | 6 ++++++ + 4 files changed, 16 insertions(+), 6 deletions(-) ---- gregkh-2.6.orig/arch/arm/Kconfig -+++ gregkh-2.6/arch/arm/Kconfig -@@ -531,6 +531,13 @@ config NODES_SHIFT - - source "mm/Kconfig" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - config LEDS - bool "Timer and CPU usage LEDs" - depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \ ---- gregkh-2.6.orig/arch/arm26/Kconfig -+++ gregkh-2.6/arch/arm26/Kconfig -@@ -187,6 +187,13 @@ config CMDLINE - - source "mm/Kconfig" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - endmenu - - source "net/Kconfig" ---- gregkh-2.6.orig/arch/cris/Kconfig -+++ gregkh-2.6/arch/cris/Kconfig -@@ -80,6 +80,13 @@ config PREEMPT - - source mm/Kconfig - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - endmenu - - menu "Hardware setup" ---- gregkh-2.6.orig/arch/frv/Kconfig -+++ gregkh-2.6/arch/frv/Kconfig -@@ -80,6 +80,13 @@ config HIGHPTE - - source "mm/Kconfig" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - choice - prompt "uClinux kernel load address" - depends on !MMU --- gregkh-2.6.orig/arch/i386/Kconfig +++ gregkh-2.6/arch/i386/Kconfig -@@ -754,6 +754,13 @@ config PHYSICAL_START - - Don't change this unless you know what you are doing. - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL && !X86_PAE -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - config HOTPLUG_CPU - bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" - depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER ---- gregkh-2.6.orig/arch/m32r/Kconfig -+++ gregkh-2.6/arch/m32r/Kconfig -@@ -188,6 +188,13 @@ config ARCH_DISCONTIGMEM_ENABLE - - source "mm/Kconfig" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - config IRAM_START - hex "Internal memory start address (hex)" - default "00f00000" if !CHIP_M32104 ---- gregkh-2.6.orig/arch/m68k/Kconfig -+++ gregkh-2.6/arch/m68k/Kconfig -@@ -368,6 +368,13 @@ config 060_WRITETHROUGH - - source "mm/Kconfig" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - endmenu - - menu "General setup" ---- gregkh-2.6.orig/arch/m68knommu/Kconfig -+++ gregkh-2.6/arch/m68knommu/Kconfig -@@ -605,6 +605,13 @@ endchoice - - source "mm/Kconfig" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - endmenu - - config ISA_DMA_API ---- gregkh-2.6.orig/arch/mips/Kconfig -+++ gregkh-2.6/arch/mips/Kconfig -@@ -1784,6 +1784,14 @@ config HZ - - source "kernel/Kconfig.preempt" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ depends on 32BIT -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - config RTC_DS1742 - bool "DS1742 BRAM/RTC support" - depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927 ---- gregkh-2.6.orig/arch/parisc/Kconfig -+++ gregkh-2.6/arch/parisc/Kconfig -@@ -217,6 +217,14 @@ source "kernel/Kconfig.preempt" - source "kernel/Kconfig.hz" - source "mm/Kconfig" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ depends on !64BIT -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - config COMPAT - def_bool y - depends on 64BIT ---- gregkh-2.6.orig/arch/powerpc/Kconfig -+++ gregkh-2.6/arch/powerpc/Kconfig -@@ -645,6 +645,14 @@ config CRASH_DUMP - - Don't change this unless you know what you are doing. - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ depends on PPC32 -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - config EMBEDDEDBOOT +@@ -511,6 +511,7 @@ config X86_PAE bool - depends on 8xx || 8260 ---- gregkh-2.6.orig/arch/ppc/Kconfig -+++ gregkh-2.6/arch/ppc/Kconfig -@@ -957,6 +957,13 @@ source kernel/Kconfig.hz - source kernel/Kconfig.preempt - source "mm/Kconfig" + depends on HIGHMEM64G + default y ++ select RESOURCES_64BIT -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - source "fs/Kconfig.binfmt" - - config PREP_RESIDUAL ---- gregkh-2.6.orig/arch/s390/Kconfig -+++ gregkh-2.6/arch/s390/Kconfig -@@ -218,6 +218,14 @@ config WARN_STACK_SIZE - - source "mm/Kconfig" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ depends on !64BIT -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - comment "I/O subsystem configuration" - - config MACHCHK_WARNING ---- gregkh-2.6.orig/arch/sh/Kconfig -+++ gregkh-2.6/arch/sh/Kconfig -@@ -532,6 +532,13 @@ config NODES_SHIFT - default "1" - depends on NEED_MULTIPLE_NODES - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - endmenu - - menu "Boot options" ---- gregkh-2.6.orig/arch/sparc/Kconfig -+++ gregkh-2.6/arch/sparc/Kconfig -@@ -67,6 +67,13 @@ config SPARC32 - maintains both the SPARC32 and SPARC64 ports; its web page is - available at <http://www.ultralinux.org/>. - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - # Global things across all Sun machines. - config ISA - bool ---- gregkh-2.6.orig/arch/v850/Kconfig -+++ gregkh-2.6/arch/v850/Kconfig -@@ -235,6 +235,13 @@ menu "Processor type and features" - - source "mm/Kconfig" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - endmenu - - ---- gregkh-2.6.orig/arch/xtensa/Kconfig -+++ gregkh-2.6/arch/xtensa/Kconfig -@@ -99,6 +99,13 @@ config MATH_EMULATION - config HIGHMEM - bool "High memory support" - -+config RESOURCES_32BIT -+ bool "32 bit Memory and IO resources (EXPERIMENTAL)" -+ depends on EXPERIMENTAL -+ help -+ By default resources are 64 bit. This option allows memory and IO -+ resources to be 32 bit to optimize code size. -+ - endmenu - - menu "Platform options" + # Common NUMA Features + config NUMA --- gregkh-2.6.orig/include/linux/types.h +++ gregkh-2.6/include/linux/types.h @@ -178,9 +178,14 @@ typedef __u64 __bitwise __be64; @@ -317,10 +36,10 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> typedef unsigned __bitwise__ gfp_t; -typedef unsigned long resource_size_t; -+#ifdef CONFIG_RESOURCES_32BIT -+typedef __u32 resource_size_t; ++#ifdef CONFIG_RESOURCES_64BIT ++typedef u64 resource_size_t; +#else -+typedef __u64 resource_size_t; ++typedef u32 resource_size_t; #endif +#endif /* __KERNEL__ */ @@ -330,30 +49,39 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> __kernel_ino_t f_tinode; --- gregkh-2.6.orig/kernel/resource.c +++ gregkh-2.6/kernel/resource.c -@@ -23,7 +23,11 @@ +@@ -23,20 +23,18 @@ struct resource ioport_resource = { .name = "PCI IO", - .start = 0x0000, -+#ifdef CONFIG_RESOURCES_32BIT -+ .start = 0x0000UL, -+#else -+ .start = 0x0000ULL, -+#endif ++ .start = 0, .end = IO_SPACE_LIMIT, .flags = IORESOURCE_IO, }; -@@ -32,8 +36,13 @@ EXPORT_SYMBOL(ioport_resource); +- + EXPORT_SYMBOL(ioport_resource); struct resource iomem_resource = { .name = "PCI mem", -+#ifdef CONFIG_RESOURCES_32BIT - .start = 0UL, - .end = ~0UL, -+#else -+ .start = 0ULL, -+ .end = ~0ULL, -+#endif +- .start = 0UL, +- .end = ~0UL, ++ .start = 0, ++ .end = -1, .flags = IORESOURCE_MEM, }; - +- + EXPORT_SYMBOL(iomem_resource); + + static DEFINE_RWLOCK(resource_lock); +--- gregkh-2.6.orig/mm/Kconfig ++++ gregkh-2.6/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. diff --git a/pci/64bit-resource-fix-up-printks-for-resources-in-arch-and-core-code.patch b/pci/64bit-resource-fix-up-printks-for-resources-in-arch-and-core-code.patch index a114c0c97cedd..47c36c362c8fb 100644 --- a/pci/64bit-resource-fix-up-printks-for-resources-in-arch-and-core-code.patch +++ b/pci/64bit-resource-fix-up-printks-for-resources-in-arch-and-core-code.patch @@ -5,10 +5,15 @@ Subject: [PATCH 09/16] 64bit resource: fix up printks for resources in arch and This is needed if we wish to change the size of the resource structures. -Based on an original patch from Vivek Goyal <vgoyal@in.ibm.com> +Based on an original patch from Vivek Goyal <vgoyal@in.ibm.com> and +Andrew Morton. + +(tweaked by Andy Isaacson <adi@hexapodia.org>) + Cc: Vivek Goyal <vgoyal@in.ibm.com> -Cc: Andrew Morton <akpm@osdl.org> +Signed-off-by: Andrew Morton <akpm@osdl.org> +Signed-off-by: Andy Isaacson <adi@hexapodia.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- @@ -388,8 +393,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - printk(KERN_WARNING "Trying to free nonexistent resource <%08lx-%08lx>\n", start, end); + printk(KERN_WARNING "Trying to free nonexistent resource " -+ "<%16llx-%16llx>\n", (unsigned long long)start, -+ (unsigned long long) end); ++ "<%016llx-%016llx>\n", (unsigned long long)start, ++ (unsigned long long)end); } EXPORT_SYMBOL(__release_region); diff --git a/pci/i386-export-memory-more-than-4g-through-proc-iomem.patch b/pci/i386-export-memory-more-than-4g-through-proc-iomem.patch index b21ec1c76cf75..ed749e2e6cb57 100644 --- a/pci/i386-export-memory-more-than-4g-through-proc-iomem.patch +++ b/pci/i386-export-memory-more-than-4g-through-proc-iomem.patch @@ -41,7 +41,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> probe_roms(); for (i = 0; i < e820.nr_map; i++) { struct resource *res; -+#ifdef CONFIG_RESOURCES_32BIT ++#ifndef CONFIG_RESOURCES_64BIT if (e820.map[i].addr + e820.map[i].size > 0x100000000ULL) continue; +#endif |