android_kernel_samsung_msm8976/include/asm-ppc64
Michael Ellerman e88bcd1b29 [PATCH] ppc64: Remove redundant abs_to_phys() macro
abs_to_phys() is a macro that turns out to do nothing, and also has the
unfortunate property that it's not the inverse of phys_to_abs() on iSeries.

The following is for my benefit as much as everyone else.

With CONFIG_MSCHUNKS enabled, the lmb code is changed such that it keeps
a physbase variable for each lmb region. This is used to take the possibly
discontiguous lmb regions and present them as a contiguous address space
beginning from zero.

In this context each lmb region's base address is its "absolute" base
address, and its physbase is it's "physical" address (from Linux's point of
view). The abs_to_phys() macro does the mapping from "absolute" to "physical".

Note: This is not related to the iSeries mapping of physical to absolute
(ie. Hypervisor) addresses which is maintained with the msChunks structure.
And the msChunks structure is not controlled via CONFIG_MSCHUNKS.

Once upon a time you could compile for non-iSeries with CONFIG_MSCHUNKS
enabled. But these days CONFIG_MSCHUNKS depends on CONFIG_PPC_ISERIES, so
for non-iSeries code abs_to_phys() is a no-op.

On iSeries we always have one lmb region which spans from 0 to
systemcfg->physicalMemorySize (arch/ppc64/kernel/iSeries_setup.c line 383).
This region has a base (ie. absolute) address of 0, and a physbase address
of 0 (as calculated in lmb_analyze() (arch/ppc64/kernel/lmb.c line 144)).

On iSeries, abs_to_phys(aa) is defined as lmb_abs_to_phys(aa), which finds
the lmb region containing aa (and there's only one, ie. 0), and then does:

 return lmb.memory.region[0].physbase + (aa - lmb.memory.region[0].base)

physbase == base == 0, so you're left with "return aa".

So remove abs_to_phys(), and lmb_abs_to_phys() which is the implementation
of abs_to_phys() for iSeries.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-08-29 10:53:37 +10:00
..
iSeries [PATCH] iSeries build with newer assemblers and compilers 2005-08-16 21:06:25 -07:00
8253pit.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
a.out.h [PATCH] ppc64: remove unnecessary include 2005-05-01 08:58:46 -07:00
abs_addr.h [PATCH] ppc64: Remove redundant abs_to_phys() macro 2005-08-29 10:53:37 +10:00
agp.h [PATCH] AGP fix for Xen VMM 2005-06-07 12:35:43 -07:00
atomic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bitops.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bootinfo.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
btext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bug.h [PATCH] ppc64: Fix issue with gcc 4.0 compiled kernels 2005-08-26 19:37:11 -07:00
bugs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
byteorder.h [PATCH] headers: enable ppc64 ___arch__swab16 and ___arch__swab32 2005-06-28 21:20:32 -07:00
cache.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cacheflush.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checksum.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat.h [PATCH] compat: introduce compat_time_t 2005-06-23 09:45:32 -07:00
cputable.h [PATCH] ppc64: create firmware_has_feature() 2005-08-29 10:53:35 +10:00
cputime.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
current.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dbdma.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
delay.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
div64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma-mapping.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma.h [PATCH] ppc64 iSeries: allow build with no PCI 2005-06-21 18:46:31 -07:00
eeh.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
elf.h [PATCH] ppc64: Fix PER_LINUX32 behaviour 2005-06-08 16:24:15 -07:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
errno.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fcntl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
firmware.h [PATCH] ppc64: introduce FW_FEATURE_ISERIES 2005-08-29 10:53:35 +10:00
floppy.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hardirq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hdreg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvcall.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvconsole.h [PATCH] hvc_console: Register ops when setting up hvc_console 2005-07-07 18:23:39 -07:00
hvcserver.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hw_irq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ide.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
imalloc.h [PATCH] Four level pagetables for ppc64 2005-08-29 10:53:31 +10:00
io.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctls.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu.h [PATCH] ppc64: move iSeries vio iommu init 2005-08-29 10:53:32 +10:00
ipc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipcbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kdebug.h [PATCH] RCU: clean up a few remaining synchronize_kernel() calls 2005-06-25 16:24:38 -07:00
kexec.h [PATCH] ppc64: kexec support for ppc64 2005-06-25 16:24:51 -07:00
keylargo.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kmap_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.h [PATCH] Return probe redesign: ppc64 specific implementation 2005-06-27 15:23:53 -07:00
linkage.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lmb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
local.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lppaca.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
machdep.h [PATCH] ppc64: fix for kexec boot issue 2005-08-04 13:00:55 -07:00
macio.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mc146818rtc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
memory.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mman.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mmu.h [PATCH] Change address of ppc64 initial segment table 2005-08-29 10:53:33 +10:00
mmu_context.h [PATCH] ppc64: pgtable.h and other header cleanups 2005-05-05 16:36:32 -07:00
mmzone.h [PATCH] ppc64: sparsemem memory model 2005-06-23 09:45:06 -07:00
module.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msgbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
naca.h [PATCH] Remove NACA fixed address constraint 2005-08-29 10:53:33 +10:00
namei.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
numnodes.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nvram.h [PATCH] ppc64: add a minimal nvram driver 2005-06-23 09:43:31 +10:00
of_device.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
paca.h [PATCH] ppc64: Simplify counting of lpevents, remove lpevent_count from paca 2005-06-30 15:16:09 +10:00
page.h [PATCH] Four level pagetables for ppc64 2005-08-29 10:53:31 +10:00
param.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
parport.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci-bridge.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.h [PATCH] pci and yenta: pcibios_bus_to_resource 2005-08-04 21:32:46 -07:00
percpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pgalloc.h [PATCH] Four level pagetables for ppc64 2005-08-29 10:53:31 +10:00
pgtable.h [PATCH] Four level pagetables for ppc64 2005-08-29 10:53:31 +10:00
plpar_wrappers.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_feature.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_low_i2c.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
poll.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
posix_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ppc32.h [PATCH] compat: introduce compat_time_t 2005-06-23 09:45:32 -07:00
ppc_asm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ppcdebug.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
processor.h [PATCH] Four level pagetables for ppc64 2005-08-29 10:53:31 +10:00
prom.h [PATCH] flattened device tree changes 2005-08-29 10:53:31 +10:00
pSeries_reconfig.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ptrace-common.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ptrace.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
resource.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtas.h [PATCH] ppc64: pSeries_progress -> rtas_progress 2005-06-23 09:43:28 +10:00
rwsem.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scatterlist.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
seccomp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sections.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
segment.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sembuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
serial.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmparam.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
siginfo.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.h [PATCH] asm/signal.h unification 2005-05-04 07:33:15 -07:00
smp.h [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
smu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
socket.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sockios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sparsemem.h [PATCH] ppc64: sparsemem memory model 2005-06-23 09:45:06 -07:00
spinlock.h [PATCH] ppc64: reverse prediction on spinlock busy loop code 2005-05-01 08:58:47 -07:00
sstep.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
stat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
statfs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
string.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
system.h [PATCH] ppc64: Remove PTRRELOC() from msChunks code 2005-08-29 10:53:35 +10:00
systemcfg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
termbits.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
termios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
thread_info.h [PATCH] streamline preempt_count type across archs 2005-06-23 09:45:19 -07:00
time.h [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
timex.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlbflush.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
topology.h [PATCH] ppc64: topology API fix 2005-08-01 21:38:01 -07:00
types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uaccess.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ucontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
udbg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uninorth.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h [PATCH] ppc64: inotify syscalls 2005-07-30 10:14:46 -07:00
user.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vdso.h [PATCH] ppc64: Improve mapping of vDSO 2005-04-16 15:24:35 -07:00
vga.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vio.h [PATCH] ppc64: split pSeries specific parts out of vio.c 2005-08-29 10:53:32 +10:00
xics.h [PATCH] ppc64: fix for kexec boot issue 2005-08-04 13:00:55 -07:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00