freebsd-skq/sys/powerpc
Brandon Bergren 40b664f64b [PowerPC] More relocation fixes
It turns out relocating the symbol table itself can cause issues, like fbt
crashing because it applies the offsets to the kernel twice.

This had been previously brought up in rS333447 when the stoffs hack was
added, but I had been unaware of this and reimplemented symtab relocation.

Instead of relocating the symbol table, keep track of the relocation base
in ddb, so the ddb symbols behave like the kernel linker-provided symbols.

This is intended to be NFC on platforms other than PowerPC, which do not
use fully relocatable kernels. (The relbase will always be 0)

 * Remove the rest of the stoffs hack.
 * Remove my half-baked displace_symbol_table() function.
 * Extend ddb initialization to cope with having a relocation offset on the
   kernel symbol table.
 * Fix my kernel-as-initrd hack to work with booke64 by using a temporary
   mapping to access the data.
 * Fix another instance of __powerpc__ that is actually RELOCATABLE_KERNEL.
 * Change the behavior or X_db_symbol_values to apply the relocation base
   when updating valp, to match link_elf_symbol_values() behavior.

Reviewed by:	jhibbits
Sponsored by:	Tag1 Consulting, Inc.
Differential Revision:	https://reviews.freebsd.org/D25223
2020-06-21 03:39:26 +00:00
..
aim powerpc: Use IFUNCs for copyin/copyout/etc 2020-06-06 03:09:12 +00:00
amigaone powerpc/amigaone: Add CPLD driver for AmigaOne A1222 "Tabor" 2020-04-03 20:45:16 +00:00
booke [PowerPC] Fix booke64 qemu infinite loop in L2 cache enable 2020-06-19 18:40:39 +00:00
conf [PowerPC] Add virtio to GENERIC 2020-06-19 18:43:13 +00:00
cpufreq powerpc: Fix cpufreq statement scoping 2019-03-08 03:59:53 +00:00
fpu Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
include [PowerPC] Fix booke64 qemu infinite loop in L2 cache enable 2020-06-19 18:40:39 +00:00
mambo sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
mikrotik
mpc85xx powerpc/mpc85xx: Don't use the quantum cache in vmem for MPIC MSIs 2020-06-10 04:04:59 +00:00
ofw [PowerPC] kernel ifunc support for powerpc*, fix ppc64 relocation oddities. 2020-05-07 19:32:49 +00:00
powermac Revert 2020-03-06 23:01:49 +00:00
powernv powerpc/powernv: Don't use the vmem quantum cache for OPAL PCI MSI allocations 2020-06-10 04:08:16 +00:00
powerpc [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
ps3 powerpc/mmu: Convert PowerPC pmap drivers to ifunc from kobj 2020-05-27 01:24:12 +00:00
pseries powerpc/mmu: Convert PowerPC pmap drivers to ifunc from kobj 2020-05-27 01:24:12 +00:00
psim Remove more needless <sys/tty.h> includes 2019-12-01 20:43:37 +00:00