RFC: 64-bit resources and changes to pci, ioremap, ...
From: Kumar Gala
Date: Fri Jul 29 2005 - 10:57:58 EST
As I started to update the existing patches to make struct resource
have 64-bit start and end values I started to see all the places that
this effects and was hoping to get some discussion on what direction
we want to take.
One of the main reasons to make this change is to handle processors
that have larger physical address space than effective. A number of
higher-end embedded processors are starting to support larger
physical address space while still having a 32-bit effective
address. I was wondering if any x86 variants support this type of
The main issue that I'm starting to see is that the concept of a
physical address from the processors point of view needs to be
consistent throughout all subsystems of the kernel. Currently the
major usage of struct resource is with the PCI subsystem and PCI
drivers. The following are some questions that I was hoping to get
answers to and discussion around:
* How many 32-bit systems support larger than 32-bit physical
addresses (I know newer PPCs do)?
* How many 32-bit systems support a 64-bit PCI address space?
* Should ioremap and variants start taking 64-bit physical addresses?
* Do we make this an arch option and wrap start and end in a typedef
similar to pte_t and provide accessor macros to ensure proper use?
Andrew has also asked me to post size comparisons of drivers/*/*.o
building allmodconfig with 32-bit resources and 64-bit resources to
see what the size growth is. I'll post logs for people to take a
look at in a followup email.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/