This series enables ppc64 support in winelib. It has been tested on a POWER9 Debian system in 64k page mode; all included Wine applications function normally.
Timothy Pearson (3): Mark certain internal functions, such as wine_server_call(), as potentially crossing DLL module boundaries This is needed to allow some systems, such as ppc64, to update module-specific registers (TOC) Initial port to PowerPC 64 Little Endian systems Verified to start winecfg Add proper reporting of CPU information for ppc64 systems
configure | 38 + configure.ac | 9 + dlls/dbghelp/Makefile.in | 1 + dlls/dbghelp/cpu_ppc64.c | 100 +++ dlls/dbghelp/dbghelp.c | 6 +- dlls/kernel32/cpu.c | 3 + dlls/kernel32/module.c | 1 + dlls/kernel32/process.c | 8 +- dlls/kernel32/tests/file.c | 2 + dlls/kernel32/tests/loader.c | 2 + dlls/kernel32/tests/module.c | 2 + dlls/ntdll/Makefile.in | 1 + dlls/ntdll/loader.c | 10 +- dlls/ntdll/nt.c | 46 ++ dlls/ntdll/ntdll.spec | 2 +- dlls/ntdll/process.c | 8 +- dlls/ntdll/server.c | 6 +- dlls/ntdll/signal_powerpc.c | 4 +- dlls/ntdll/signal_ppc64.c | 1221 +++++++++++++++++++++++++++++++ dlls/ntdll/virtual.c | 2 +- dlls/setupapi/fakedll.c | 4 + dlls/shell32/shell32_main.c | 2 +- dlls/ucrtbase/ucrtbase.spec | 2 +- include/basetsd.h | 10 + include/msvcrt/crtdefs.h | 6 + include/rpc.h | 4 +- include/windef.h | 13 + include/wine/library.h | 18 +- include/wine/server.h | 2 +- include/wine/server_protocol.h | 6 +- include/winnt.h | 138 +++- libs/port/interlocked.c | 2 +- libs/wine/port.c | 19 + programs/wineboot/wineboot.c | 33 + programs/winedbg/Makefile.in | 1 + programs/winedbg/be_ppc.c | 2 +- programs/winedbg/be_ppc64.c | 303 ++++++++ programs/winedbg/gdbproxy.c | 2 + programs/winedbg/tgt_active.c | 2 + programs/winedbg/tgt_minidump.c | 3 + programs/winedbg/winedbg.c | 4 + programs/winetest/main.c | 2 + server/mapping.c | 8 +- server/process.h | 2 +- server/protocol.def | 6 +- server/thread.c | 6 + server/trace.c | 21 + tools/widl/widl.c | 7 + tools/widl/widl.h | 2 +- tools/widl/write_msft.c | 2 +- tools/winebuild/build.h | 4 +- tools/winebuild/import.c | 117 +++ tools/winebuild/main.c | 6 + tools/winebuild/parser.c | 4 +- tools/winebuild/spec32.c | 37 +- tools/winebuild/utils.c | 12 + tools/winedump/minidump.c | 3 + tools/winedump/pe.c | 1 + tools/winegcc/utils.h | 2 +- tools/winegcc/winegcc.c | 41 +- tools/wrc/wrc.c | 3 +- 61 files changed, 2259 insertions(+), 75 deletions(-) create mode 100644 dlls/dbghelp/cpu_ppc64.c create mode 100644 dlls/ntdll/signal_ppc64.c create mode 100644 programs/winedbg/be_ppc64.c