freebsd-dev/sys/powerpc/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
..
altivec.c powerpc: Simplify _nodrop variants of FPU and vector register saves 2020-03-13 01:27:37 +00:00
autoconf.c
bus_machdep.c Move the powerpc64 direct map base address from zero to high memory. This 2018-03-07 17:08:07 +00:00
busdma_machdep.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
clock.c powerpc: Add file forgotten in r346144 2019-04-13 02:29:30 +00:00
copyinout.c powerpc: Fix nits in copyinout comments from r361861 2020-06-06 18:56:40 +00:00
cpu_subr64.S Fix PPC64 kernel build with clang8 + lld8 2019-05-22 15:56:41 +00:00
cpu.c powerpc: Stop advertising that POWER8 and POWER9 support HTM 2020-05-29 00:46:31 +00:00
db_disasm.c powerpc: Axe PPC4xx support. 2020-03-18 01:09:43 +00:00
db_hwwatch.c
db_interface.c powerpc: Add a (CPU/runtime features) flags set to pcpu struct 2020-06-06 02:40:52 +00:00
db_trace.c powerpc: Print trap frame address in ddb backtraces 2019-03-09 03:24:39 +00:00
dump_machdep.c
elf32_machdep.c [PowerPC] kernel ifunc support for powerpc*, fix ppc64 relocation oddities. 2020-05-07 19:32:49 +00:00
elf64_machdep.c [PowerPC] kernel ifunc support for powerpc*, fix ppc64 relocation oddities. 2020-05-07 19:32:49 +00:00
elf_common.c Convert canary, execpathp, and pagesizes to pointers. 2020-04-16 21:53:17 +00:00
exec_machdep.c powerpc: Fix altivec disabling in set_mcontext() 2020-02-06 01:25:30 +00:00
fpu.c powerpc: Simplify _nodrop variants of FPU and vector register saves 2020-03-13 01:27:37 +00:00
gdb_machdep.c [PPC] Handle qOffsets packet 2019-12-16 13:17:39 +00:00
genassym.c powerpc: Add a (CPU/runtime features) flags set to pcpu struct 2020-06-06 02:40:52 +00:00
in_cksum.c
interrupt.c powernv: Add Hypervisor Maintenance Interrupt handler 2019-03-23 03:23:20 +00:00
intr_machdep.c Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
iommu_if.m
machdep.c [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
mem.c [PowerPC] fix panic reading /dev/kmem on !DMAP machines 2020-03-20 11:51:08 +00:00
minidump_machdep.c Remove an obsolete TODO comment from several minidump implementations. 2020-04-24 18:47:42 +00:00
mp_machdep.c powerpc: Add a (CPU/runtime features) flags set to pcpu struct 2020-06-06 02:40:52 +00:00
nexus.c Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
openpic.c powerpc/mpc85xx: Add MSI support for Freescale PowerPC SoCs 2019-11-08 03:36:19 +00:00
pic_if.m powerpc: Add opaque 'private data' to interrupt vectors 2019-01-12 22:05:42 +00:00
platform_if.m powerpc: Fix the NUMA domain list on powernv 2020-01-18 01:26:54 +00:00
platform.c powerpc: Fix the NUMA domain list on powernv 2020-01-18 01:26:54 +00:00
pmap_dispatch.c powerpc: Use IFUNCs for copyin/copyout/etc 2020-06-06 03:09:12 +00:00
ptrace_machdep.c powerpc/ptrace: Give ptrace(2) access to SPE registers when available 2019-11-22 04:34:46 +00:00
sc_machdep.c sc(4) md bits: stop setting sc->kbd entirely 2019-12-30 02:07:55 +00:00
setjmp.S
sigcode32.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
sigcode64.S [PowerPC] Save a dword in the powerpc64 signal trampoline 2020-01-17 23:41:35 +00:00
stack_machdep.c Reimplement stack capture of running threads on i386 and amd64. 2020-01-31 15:43:33 +00:00
support.S powerpc: Use IFUNCs for copyin/copyout/etc 2020-06-06 03:09:12 +00:00
swtch32.S [PowerPC] Ensure ppc32 cpu_switch routines set up Secure-PLT. 2020-05-26 02:27:10 +00:00
swtch64.S powerpc64: Fix switch panic from cpu_throw() 2019-04-29 22:37:35 +00:00
syncicache.c
sys_machdep.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
trap.c powerpc: Use IFUNCs for copyin/copyout/etc 2020-06-06 03:09:12 +00:00
uio_machdep.c
uma_machdep.c Remove dead code from the powerpc uma_small_alloc(). 2020-03-06 20:44:22 +00:00
vm_machdep.c amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00