Which will cut down the cost of RDHWR $29 which is used to obtain the
TLS pointer and so far being emulated in software down to a single cycle
operation.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This is to break the code of people who think they are supposed to scribble
into the pci device structure - it's off limits.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
The current implementation of __pa() for 64-bits kernels with 32-bits
symbols is broken. In this configuration, we need 2 values for
PAGE_OFFSET, one in XKPHYS and the other in CKSEG0 space.
When the value in CKSEG0 space is used, it doesn't take into account
of PHYS_OFFSET. Even worse we can't redefine this value.
The patch restores CPHYSADDR() but in __pa()'s implementation because
it removes the need of 2 PAGE_OFFSET.
OTOH, CPHYSADDR() is quite bad when dealing with mapped kernels. So
this patch assumes there's no need to deal with such kernel in 64-bits
world.
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
For platforms that use PHYS_OFFSET and do not use a mapped kernel,
this patch automatically adds PHYS_OFFSET into PAGE_OFFSET.
Therefore there are no more needs for them to redefine PAGE_OFFSET.
For mapped kernel, they need to redefine PAGE_OFFSET anyways.
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
PAGE_OFFSET definition is now using CAC_BASE by default.
This patch also reorder some macros to make them appear
in the same order for both 32 and 64 bits configs.
It also makes use of const.h generic header file to
annotate constants.
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Before this patch, when a platform needed to customize one constant in
spaces.h, they need to redefine all of them.
Now they can just redefine one constant and include the generic file
header at the end:
#include <asm/mach-generic/spaces.h>
This patch doesn't allow to redefine CAC_BASE, IO_BASE and UNCAC_BASE
for 32 bits platforms because there's no need to do so.
This will avoid some macro duplications. It's important specially if
we'll add complex macros.
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
delete mode 100644 include/asm-mips/mach-ip32/spaces.h
No point in adding yet another #ifdef for Loongson since all this mask is
being used for is converting an XKPHYS address into a physical address
anyway. So replace all definitions by one with the highest architectural
possible value.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This patch adds support for the generic GPIO API to Au1x00 boards. It requires
the generic GPIO patch for MIPS boards by Yoichi Yuasa. Now there is a MIPS
target using it, can you queue these patchset for 2.6.22 ? Thank you very
much in advance.
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
"extern inline" will have different semantics with gcc 4.3, and
"static inline" is correct here.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (31 commits)
firewire: fw-sbp2: fix DMA mapping of management ORBs
firewire: fw-sbp2: fix DMA mapping of command ORBs
firewire: fw-sbp2: fix DMA mapping of S/G tables
firewire: fw-sbp2: add a boundary check
firewire: fw-sbp2: correctly align page tables
firewire: fw-sbp2: memset wants string.h
firewire: fw-sbp2: use correct speed in sbp2_agent_reset
firewire: fw-sbp2: correctly dereference by container_of
firewire: Document userspace ioctl interface.
firewire: fw-sbp2: implement nonexclusive login
firewire: fw-sbp2: let SCSI shutdown commands through before logout
firewire: fw-sbp2: implement max sectors limit for some old bridges
firewire: simplify a struct type
firewire: support S100B...S400B and link slower than PHY
firewire: optimize gap count with 1394b leaf nodes
firewire: remove unused macro
firewire: missing newline in printk
firewire: fw-sbp2: remove unused struct member
ieee1394: remove old isochronous ABI
ieee1394: sbp2: change some module parameters from int to bool
...