android_kernel_xiaomi_sm8350/arch/ppc64/kernel
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
..
vdso32 [PATCH] ppc64: vdso32: fix link errors after recent toolchain changes 2005-07-07 18:23:36 -07:00
vdso64 [PATCH] ppc64: add PT_NOTE section to vDSO 2005-05-01 08:58:43 -07:00
align.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-offsets.c [PATCH] ppc64 iSeries: tidy up some includes and HvCall.h 2005-06-21 18:46:28 -07:00
binfmt_elf32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bitops.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bpa_iic.c [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
bpa_iic.h [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
bpa_iommu.c [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
bpa_iommu.h [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
bpa_nvram.c [PATCH] ppc64: add a minimal nvram driver 2005-06-23 09:43:31 +10:00
bpa_setup.c [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
btext.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu_setup_power4.S [PATCH] ppc64: add 970MP PVR 2005-07-13 11:25:25 -07:00
cputable.c [PATCH] ppc64: make firmware_has_feature() stronger 2005-08-29 10:53:35 +10:00
dma.c [PATCH] ppc64 iSeries: allow build with no PCI 2005-06-21 18:46:31 -07:00
eeh.c [PATCH] ppc64: Abolish ioremap_mm 2005-06-21 18:46:26 -07:00
entry.S [PATCH] ppc64: cleanup iseries runlight support 2005-06-02 15:12:30 -07:00
firmware.c [PATCH] ppc64: make firmware_has_feature() stronger 2005-08-29 10:53:35 +10:00
head.S [PATCH] ppc64: Rename msChunks structure 2005-08-29 10:53:36 +10:00
HvCall.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvCall.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvconsole.c [PATCH] hvc_console: Separate the NUL character filtering from get_hvc_chars 2005-07-07 18:23:40 -07:00
hvcserver.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
HvLpConfig.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
HvLpEvent.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
i8259.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i8259.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
idle_power4.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
idle.c [PATCH] ppc64: idle fixups 2005-07-07 18:23:41 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iomap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu.c [PATCH] ppc64: iommu vmerge fix 2005-08-17 14:41:22 -07:00
irq.c Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/paulus/ppc64-2.6 2005-06-30 08:48:56 -07:00
iSeries_htab.c [PATCH] ppc64: Remove redundant uses of physRpn_to_absRpn 2005-08-29 10:53:36 +10:00
iSeries_iommu.c [PATCH] ppc64 iSeries: allow build with no PCI 2005-06-21 18:46:31 -07:00
iSeries_irq.c [PATCH] ppc64 iSeries: tidy up irq code after merge 2005-06-21 18:46:30 -07:00
iSeries_pci.c [PATCH] ppc64 iSeries: remove some more members of iSeries_Device_Node 2005-06-21 18:46:30 -07:00
iSeries_proc.c [PATCH] ppc64: Move xItLpQueue proc code into ItLpQueue.c 2005-06-30 15:08:44 +10:00
iSeries_setup.c [PATCH] ppc64: Rename msChunks structure 2005-08-29 10:53:36 +10:00
iSeries_setup.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_smp.c [PATCH] ppc64 iSeries: eliminate some unused inline functions 2005-06-21 18:46:28 -07:00
iSeries_vio.c [PATCH] ppc64: split pSeries specific parts out of vio.c 2005-08-29 10:53:32 +10:00
iSeries_VpdInfo.c [PATCH] ppc64 iSeries: remove some more members of iSeries_Device_Node 2005-06-21 18:46:30 -07:00
ItLpQueue.c [PATCH] ppc64: Replace custom locking code with a spinlock 2005-06-30 15:17:02 +10:00
kprobes.c [PATCH] kprobes: fix namespace problem and sparc64 build 2005-07-05 19:19:00 -07:00
lmb.c [PATCH] ppc64: Remove redundant abs_to_phys() macro 2005-08-29 10:53:37 +10:00
lparcfg.c [PATCH] ppc64: create firmware_has_feature() 2005-08-29 10:53:35 +10:00
LparData.c [PATCH] ppc64: msChunks cleanups 2005-08-29 10:53:35 +10:00
lparmap.c [PATCH] iSeries build with newer assemblers and compilers 2005-08-16 21:06:25 -07:00
machine_kexec.c [PATCH] ppc64: fix for kexec boot issue 2005-08-04 13:00:55 -07:00
Makefile [PATCH] ppc64: make firmware_has_feature() stronger 2005-08-29 10:53:35 +10:00
maple_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
maple_setup.c [PATCH] ppc64: Fixup platforms for new ppc_md.idle 2005-07-07 18:23:41 -07:00
maple_time.c [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
mf.c [PATCH] ppc64: Don't count number of events processed for caller 2005-06-30 15:15:53 +10:00
misc.S [PATCH] Remove general use functions from head.S 2005-08-29 10:53:33 +10:00
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mpic.c [PATCH] ppc64: fix for kexec boot issue 2005-08-04 13:00:55 -07:00
mpic.h [PATCH] ppc64: fix for kexec boot issue 2005-08-04 13:00:55 -07:00
nvram.c [PATCH] ppc64: simplify nvram partition scanning code 2005-06-28 20:33:49 +10:00
of_device.c [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
pacaData.c [PATCH] Change address of ppc64 initial segment table 2005-08-29 10:53:33 +10:00
pci_direct_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_dn.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.c [PATCH] pci and yenta: pcibios_bus_to_resource 2005-08-04 21:32:46 -07:00
pci.h [PATCH] pSeries - read irqs dynamically 2005-06-23 17:09:54 +10:00
pmac_feature.c [PATCH] ppc64: very basic desktop g5 sound support 2005-04-16 15:24:32 -07:00
pmac_low_i2c.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_nvram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_setup.c [PATCH] make a few functions static in pmac_setup.c 2005-07-27 16:25:57 -07:00
pmac_smp.c [PATCH] ppc64: Fix g5 hw timebase sync 2005-05-23 11:51:24 -07:00
pmac_time.c [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
pmac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ppc_ksyms.c [PATCH] ppc64: Add missing exports 2005-06-27 15:11:43 -07:00
proc_ppc64.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
process.c [PATCH] ppc64: make firmware_has_feature() stronger 2005-08-29 10:53:35 +10:00
prom_init.c [PATCH] flattened device tree changes 2005-08-29 10:53:31 +10:00
prom.c [PATCH] flattened device tree changes 2005-08-29 10:53:31 +10:00
pSeries_hvCall.S [PATCH] ppc64: enforce medium thread priority in hypervisor calls 2005-05-01 08:58:46 -07:00
pSeries_iommu.c [PATCH] ppc64: create firmware_has_feature() 2005-08-29 10:53:35 +10:00
pSeries_lpar.c [PATCH] ppc64: Remove redundant uses of physRpn_to_absRpn 2005-08-29 10:53:36 +10:00
pSeries_nvram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pSeries_pci.c [PATCH] pSeries - read irqs dynamically 2005-06-23 17:09:54 +10:00
pSeries_reconfig.c [PATCH] ppc32/ppc64: cleanup /proc/device-tree 2005-06-01 07:54:14 -07:00
pSeries_setup.c [PATCH] ppc64: introduce FW_FEATURE_ISERIES 2005-08-29 10:53:35 +10:00
pSeries_smp.c [PATCH] ppc64: create firmware_has_feature() 2005-08-29 10:53:35 +10:00
pSeries_vio.c [PATCH] ppc64: split pSeries specific parts out of vio.c 2005-08-29 10:53:32 +10:00
ptrace32.c [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
ptrace.c [PATCH] ppc64: fix seccomp with 32-bit userland 2005-06-24 00:05:18 -07:00
ras.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
rtas_flash.c [PATCH] ppc64: trivial user annotations 2005-04-26 11:26:53 -07:00
rtas_pci.c [PATCH] ppc64: PCI device-node failure detection 2005-08-29 10:53:31 +10:00
rtas-proc.c [PATCH] ppc64: pSeries_progress -> rtas_progress 2005-06-23 09:43:28 +10:00
rtas.c [PATCH] correct printing to operator panel 2005-06-23 16:09:41 +10:00
rtasd.c [PATCH] ppc64: quieten RTAS printks 2005-06-20 21:43:07 +10:00
rtc.c [PATCH] ppc64: rename pSeries rtc functions into rtas_* 2005-06-23 09:43:18 +10:00
scanlog.c [PATCH] ppc64: trivial user annotations 2005-04-26 11:26:53 -07:00
semaphore.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.c [PATCH] ppc64: Export machine_power_off for therm_pm72 module 2005-08-24 09:41:35 -07:00
signal32.c [PATCH] ppc64: fix 32-bit signal frame back link 2005-04-30 10:01:40 -07:00
signal.c [PATCH] arch/ppc64: Replace custom MIN macro 2005-05-05 19:32:59 -07:00
smp-tbsync.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.c [PATCH] ppc64: dynamically allocate segment tables 2005-07-27 16:25:58 -07:00
spider-pic.c [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
sys_ppc32.c [PATCH] ppc64: add ioprio syscalls 2005-07-07 18:23:37 -07:00
syscalls.c [PATCH] ppc64: Fix PER_LINUX32 behaviour 2005-06-08 16:24:15 -07:00
sysfs.c [PATCH] ppc64: make firmware_has_feature() stronger 2005-08-29 10:53:35 +10:00
time.c [PATCH] ppc64: make firmware_has_feature() stronger 2005-08-29 10:53:35 +10:00
traps.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
u3_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
udbg.c [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
vdso.c [PATCH] ppc64: Improve mapping of vDSO 2005-04-16 15:24:35 -07:00
vecemu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vector.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vio.c [PATCH] ppc64: split pSeries specific parts out of vio.c 2005-08-29 10:53:32 +10:00
viopath.c [PATCH] ppc64 iSeries: misc header cleanups 2005-06-21 18:46:28 -07:00
vmlinux.lds.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xics.c [PATCH] ppc64: fix for kexec boot issue 2005-08-04 13:00:55 -07:00