[PATCH 0/3] Enable ppc64 support in winelib

Timothy Pearson tpearson at raptorengineering.com
Tue Feb 26 04:03:37 CST 2019


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

-- 
2.20.1




More information about the wine-devel mailing list