From: Vivek Goyal <vgoyal@in.ibm.com>
To: linux kernel mailing list <linux-kernel@vger.kernel.org>
Cc: Greg KH <gregkh@suse.de>, Morton Andrew Morton <akpm@osdl.org>
Subject: [RFC][PATCH 5/6] kconfigurable resources arch dependent changes (arch/[j-p]*)
Date: Fri, 5 May 2006 13:34:34 -0400 [thread overview]
Message-ID: <20060505173434.GG6450@in.ibm.com> (raw)
In-Reply-To: <20060505173326.GF6450@in.ibm.com>
o Changes to arch specific code for kconfigurable resources. This
patch contains changes for arch/[j-p]*
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
---
arch/m32r/Kconfig | 7 +++++++
arch/m68k/Kconfig | 7 +++++++
arch/m68knommu/Kconfig | 7 +++++++
arch/m68knommu/kernel/comempci.c | 3 ++-
arch/mips/Kconfig | 8 ++++++++
arch/mips/pci/pci.c | 4 ++--
arch/mips/pmc-sierra/yosemite/ht.c | 4 ++--
arch/parisc/Kconfig | 8 ++++++++
arch/parisc/kernel/pci.c | 2 +-
arch/powerpc/Kconfig | 8 ++++++++
arch/powerpc/kernel/pci_32.c | 10 +++++-----
arch/powerpc/kernel/pci_64.c | 4 ++--
arch/ppc/Kconfig | 7 +++++++
arch/ppc/kernel/pci.c | 12 ++++++------
include/asm-powerpc/pci.h | 2 +-
include/asm-ppc/pci.h | 2 +-
16 files changed, 74 insertions(+), 21 deletions(-)
diff -puN arch/m32r/Kconfig~kconfigurable-resources-arch-changes-j-p arch/m32r/Kconfig
--- linux-2.6.17-rc3-mm1-1M/arch/m32r/Kconfig~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/m32r/Kconfig 2006-05-05 11:58:46.000000000 -0400
@@ -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
diff -puN arch/m68k/Kconfig~kconfigurable-resources-arch-changes-j-p arch/m68k/Kconfig
--- linux-2.6.17-rc3-mm1-1M/arch/m68k/Kconfig~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/m68k/Kconfig 2006-05-05 11:58:46.000000000 -0400
@@ -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"
diff -puN arch/m68knommu/Kconfig~kconfigurable-resources-arch-changes-j-p arch/m68knommu/Kconfig
--- linux-2.6.17-rc3-mm1-1M/arch/m68knommu/Kconfig~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/m68knommu/Kconfig 2006-05-05 11:58:46.000000000 -0400
@@ -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
diff -puN arch/m68knommu/kernel/comempci.c~kconfigurable-resources-arch-changes-j-p arch/m68knommu/kernel/comempci.c
--- linux-2.6.17-rc3-mm1-1M/arch/m68knommu/kernel/comempci.c~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/m68knommu/kernel/comempci.c 2006-05-05 11:58:46.000000000 -0400
@@ -357,7 +357,8 @@ void pcibios_fixup_bus(struct pci_bus *b
/*****************************************************************************/
-void pcibios_align_resource(void *data, struct resource *res, unsigned long size, unsigned long align)
+void pcibios_align_resource(void *data, struct resource *res,
+ resource_size_t size, resource_size_t align)
{
}
diff -puN arch/mips/Kconfig~kconfigurable-resources-arch-changes-j-p arch/mips/Kconfig
--- linux-2.6.17-rc3-mm1-1M/arch/mips/Kconfig~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/mips/Kconfig 2006-05-05 11:58:46.000000000 -0400
@@ -1655,6 +1655,14 @@ config NR_CPUS
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
diff -puN arch/mips/pci/pci.c~kconfigurable-resources-arch-changes-j-p arch/mips/pci/pci.c
--- linux-2.6.17-rc3-mm1-1M/arch/mips/pci/pci.c~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/mips/pci/pci.c 2006-05-05 11:58:46.000000000 -0400
@@ -51,11 +51,11 @@ unsigned long PCIBIOS_MIN_MEM = 0;
*/
void
pcibios_align_resource(void *data, struct resource *res,
- unsigned long size, unsigned long align)
+ resource_size_t size, resource_size_t align)
{
struct pci_dev *dev = data;
struct pci_controller *hose = dev->sysdata;
- unsigned long start = res->start;
+ resource_size_t start = res->start;
if (res->flags & IORESOURCE_IO) {
/* Make sure we start at our min on all hoses */
diff -puN arch/mips/pmc-sierra/yosemite/ht.c~kconfigurable-resources-arch-changes-j-p arch/mips/pmc-sierra/yosemite/ht.c
--- linux-2.6.17-rc3-mm1-1M/arch/mips/pmc-sierra/yosemite/ht.c~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/mips/pmc-sierra/yosemite/ht.c 2006-05-05 11:58:46.000000000 -0400
@@ -383,12 +383,12 @@ void pcibios_update_resource(struct pci_
void pcibios_align_resource(void *data, struct resource *res,
- unsigned long size, unsigned long align)
+ resource_size_t size, resource_size_t align)
{
struct pci_dev *dev = data;
if (res->flags & IORESOURCE_IO) {
- unsigned long start = res->start;
+ resource_size_t start = res->start;
/* We need to avoid collisions with `mirrored' VGA ports
and other strange ISA hardware, so we always want the
diff -puN arch/parisc/Kconfig~kconfigurable-resources-arch-changes-j-p arch/parisc/Kconfig
--- linux-2.6.17-rc3-mm1-1M/arch/parisc/Kconfig~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/parisc/Kconfig 2006-05-05 11:58:46.000000000 -0400
@@ -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
diff -puN arch/parisc/kernel/pci.c~kconfigurable-resources-arch-changes-j-p arch/parisc/kernel/pci.c
--- linux-2.6.17-rc3-mm1-1M/arch/parisc/kernel/pci.c~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/parisc/kernel/pci.c 2006-05-05 11:58:46.000000000 -0400
@@ -289,7 +289,7 @@ EXPORT_SYMBOL(pcibios_bus_to_resource);
* than res->start.
*/
void pcibios_align_resource(void *data, struct resource *res,
- unsigned long size, unsigned long alignment)
+ resource_size_t size, resource_size_t alignment)
{
unsigned long mask, align;
diff -puN include/asm-powerpc/pci.h~kconfigurable-resources-arch-changes-j-p include/asm-powerpc/pci.h
--- linux-2.6.17-rc3-mm1-1M/include/asm-powerpc/pci.h~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/include/asm-powerpc/pci.h 2006-05-05 11:58:46.000000000 -0400
@@ -242,7 +242,7 @@ extern pgprot_t pci_phys_mem_access_prot
#define HAVE_ARCH_PCI_RESOURCE_TO_USER
extern void pci_resource_to_user(const struct pci_dev *dev, int bar,
const struct resource *rsrc,
- u64 *start, u64 *end);
+ resource_size_t *start, resource_size_t *end);
#endif /* CONFIG_PPC_MULTIPLATFORM || CONFIG_PPC32 */
#endif /* __KERNEL__ */
diff -puN arch/powerpc/Kconfig~kconfigurable-resources-arch-changes-j-p arch/powerpc/Kconfig
--- linux-2.6.17-rc3-mm1-1M/arch/powerpc/Kconfig~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/powerpc/Kconfig 2006-05-05 11:58:46.000000000 -0400
@@ -626,6 +626,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
bool
depends on 8xx || 8260
diff -puN arch/powerpc/kernel/pci_32.c~kconfigurable-resources-arch-changes-j-p arch/powerpc/kernel/pci_32.c
--- linux-2.6.17-rc3-mm1-1M/arch/powerpc/kernel/pci_32.c~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/powerpc/kernel/pci_32.c 2006-05-05 11:58:46.000000000 -0400
@@ -173,18 +173,18 @@ EXPORT_SYMBOL(pcibios_bus_to_resource);
* but we want to try to avoid allocating at 0x2900-0x2bff
* which might have be mirrored at 0x0100-0x03ff..
*/
-void pcibios_align_resource(void *data, struct resource *res, u64 size,
- u64 align)
+void pcibios_align_resource(void *data, struct resource *res,
+ resource_size_t size, resource_size_t align)
{
struct pci_dev *dev = data;
if (res->flags & IORESOURCE_IO) {
- u64 start = res->start;
+ resource_size_t start = res->start;
if (size > 0x100) {
printk(KERN_ERR "PCI: I/O Region %s/%d too large"
" (%lld bytes)\n", pci_name(dev),
- dev->resource - res, size);
+ dev->resource - res, (unsigned long long)size);
}
if (start & 0x300) {
@@ -1756,7 +1756,7 @@ long sys_pciconfig_iobase(long which, un
void pci_resource_to_user(const struct pci_dev *dev, int bar,
const struct resource *rsrc,
- u64 *start, u64 *end)
+ resource_size_t *start, resource_size_t *end)
{
struct pci_controller *hose = pci_bus_to_hose(dev->bus->number);
unsigned long offset = 0;
diff -puN arch/powerpc/kernel/pci_64.c~kconfigurable-resources-arch-changes-j-p arch/powerpc/kernel/pci_64.c
--- linux-2.6.17-rc3-mm1-1M/arch/powerpc/kernel/pci_64.c~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/powerpc/kernel/pci_64.c 2006-05-05 11:58:46.000000000 -0400
@@ -138,11 +138,11 @@ EXPORT_SYMBOL(pcibios_bus_to_resource);
* which might have be mirrored at 0x0100-0x03ff..
*/
void pcibios_align_resource(void *data, struct resource *res,
- unsigned long size, unsigned long align)
+ resource_size_t size, resource_size_t align)
{
struct pci_dev *dev = data;
struct pci_controller *hose = pci_bus_to_host(dev->bus);
- unsigned long start = res->start;
+ resource_size_t start = res->start;
unsigned long alignto;
if (res->flags & IORESOURCE_IO) {
diff -puN include/asm-ppc/pci.h~kconfigurable-resources-arch-changes-j-p include/asm-ppc/pci.h
--- linux-2.6.17-rc3-mm1-1M/include/asm-ppc/pci.h~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/include/asm-ppc/pci.h 2006-05-05 11:58:46.000000000 -0400
@@ -133,7 +133,7 @@ extern pgprot_t pci_phys_mem_access_prot
#define HAVE_ARCH_PCI_RESOURCE_TO_USER
extern void pci_resource_to_user(const struct pci_dev *dev, int bar,
const struct resource *rsrc,
- u64 *start, u64 *end);
+ resource_size_t *start, resource_size_t *end);
#endif /* __KERNEL__ */
diff -puN arch/ppc/Kconfig~kconfigurable-resources-arch-changes-j-p arch/ppc/Kconfig
--- linux-2.6.17-rc3-mm1-1M/arch/ppc/Kconfig~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/ppc/Kconfig 2006-05-05 11:58:46.000000000 -0400
@@ -953,6 +953,13 @@ source kernel/Kconfig.hz
source kernel/Kconfig.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.
+
source "fs/Kconfig.binfmt"
config PREP_RESIDUAL
diff -puN arch/ppc/kernel/pci.c~kconfigurable-resources-arch-changes-j-p arch/ppc/kernel/pci.c
--- linux-2.6.17-rc3-mm1-1M/arch/ppc/kernel/pci.c~kconfigurable-resources-arch-changes-j-p 2006-05-05 11:58:46.000000000 -0400
+++ linux-2.6.17-rc3-mm1-1M-root/arch/ppc/kernel/pci.c 2006-05-05 11:58:46.000000000 -0400
@@ -171,13 +171,13 @@ EXPORT_SYMBOL(pcibios_bus_to_resource);
* but we want to try to avoid allocating at 0x2900-0x2bff
* which might have be mirrored at 0x0100-0x03ff..
*/
-void pcibios_align_resource(void *data, struct resource *res, u64 size,
- u64 align)
+void pcibios_align_resource(void *data, struct resource *res,
+ resource_size_t size, resource_size_t align)
{
struct pci_dev *dev = data;
if (res->flags & IORESOURCE_IO) {
- u64 start = res->start;
+ resource_size_t start = res->start;
if (size > 0x100) {
printk(KERN_ERR "PCI: I/O Region %s/%d too large"
@@ -960,8 +960,8 @@ static pgprot_t __pci_mmap_set_pgprot(st
else
prot |= _PAGE_GUARDED;
- printk("PCI map for %s:%llx, prot: %llx\n", pci_name(dev), rp->start,
- prot);
+ printk("PCI map for %s:%llx, prot: %lx\n", pci_name(dev),
+ (unsigned long long)rp->start, prot);
return __pgprot(prot);
}
@@ -1131,7 +1131,7 @@ long sys_pciconfig_iobase(long which, un
void pci_resource_to_user(const struct pci_dev *dev, int bar,
const struct resource *rsrc,
- u64 *start, u64 *end)
+ resource_size_t *start, resource_size_t *end)
{
struct pci_controller *hose = pci_bus_to_hose(dev->bus->number);
unsigned long offset = 0;
_
next prev parent reply other threads:[~2006-05-05 17:34 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-05 17:28 [RFC][PATCH 1/6] kconfigurable resources core changes Vivek Goyal
2006-05-05 17:30 ` [RFC][PATCH 2/6] kconfigurable resources driver pci changes Vivek Goyal
2006-05-05 17:31 ` [RFC][PATCH 3/6] kconfigurable resources driver others changes Vivek Goyal
2006-05-05 17:33 ` [RFC][PATCH 4/6] kconfigurable resources arch dependent changes (arch/[a-i]*) Vivek Goyal
2006-05-05 17:34 ` Vivek Goyal [this message]
2006-05-05 17:36 ` [RFC][PATCH 6/6] kconfigurable resources arch dependent changes (arch/[q-z]*) Vivek Goyal
2006-05-05 18:10 ` [RFC][PATCH 1/6] kconfigurable resources core changes Greg KH
2006-05-05 18:35 ` Vivek Goyal
2006-05-09 19:33 ` Kumar Gala
2006-05-09 20:03 ` Vivek Goyal
2006-05-18 5:19 ` Matthew Frost
2006-05-18 5:43 ` Andrew Morton
2006-05-18 6:14 ` Matthew Frost
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060505173434.GG6450@in.ibm.com \
--to=vgoyal@in.ibm.com \
--cc=akpm@osdl.org \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.