Commit 2ec86fc2 authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Remove support for PPC32.

parent e9f03087
......@@ -40,7 +40,6 @@ C_SRCS = \
signal_arm.c \
signal_arm64.c \
signal_i386.c \
signal_powerpc.c \
signal_x86_64.c \
string.c \
sync.c \
......@@ -58,7 +57,6 @@ C_SRCS = \
unix/signal_arm.c \
unix/signal_arm64.c \
unix/signal_i386.c \
unix/signal_powerpc.c \
unix/signal_x86_64.c \
unix/sync.c \
unix/tape.c \
......
......@@ -1161,42 +1161,6 @@ static inline void get_cpuinfo(SYSTEM_CPU_INFORMATION* info)
}
}
#elif defined(__powerpc__) || defined(__ppc__)
static inline void get_cpuinfo(SYSTEM_CPU_INFORMATION* info)
{
#ifdef __APPLE__
size_t valSize;
int value;
valSize = sizeof(value);
if (sysctlbyname("hw.cpusubtype", &value, &valSize, NULL, 0) == 0)
{
switch (value)
{
case CPU_SUBTYPE_POWERPC_601:
case CPU_SUBTYPE_POWERPC_602: info->Level = 1; break;
case CPU_SUBTYPE_POWERPC_603: info->Level = 3; break;
case CPU_SUBTYPE_POWERPC_603e:
case CPU_SUBTYPE_POWERPC_603ev: info->Level = 6; break;
case CPU_SUBTYPE_POWERPC_604: info->Level = 4; break;
case CPU_SUBTYPE_POWERPC_604e: info->Level = 9; break;
case CPU_SUBTYPE_POWERPC_620: info->Level = 20; break;
case CPU_SUBTYPE_POWERPC_750: /* G3/G4 derive from 603 so ... */
case CPU_SUBTYPE_POWERPC_7400:
case CPU_SUBTYPE_POWERPC_7450: info->Level = 6; break;
case CPU_SUBTYPE_POWERPC_970: info->Level = 9;
/* :o) user_shared_data->ProcessorFeatures[PF_ALTIVEC_INSTRUCTIONS_AVAILABLE] ;-) */
break;
default: break;
}
}
#else
FIXME("CPU Feature detection not implemented.\n");
#endif
info->Architecture = PROCESSOR_ARCHITECTURE_PPC;
}
#elif defined(__arm__)
static inline void get_cpuinfo(SYSTEM_CPU_INFORMATION* info)
......
......@@ -318,7 +318,6 @@ static BOOL get_so_file_info( HANDLE handle, pe_image_info_t *info )
switch (header.elf.machine)
{
case 3: info->cpu = CPU_x86; break;
case 20: info->cpu = CPU_POWERPC; break;
case 40: info->cpu = CPU_ARM; break;
case 62: info->cpu = CPU_x86_64; break;
case 183: info->cpu = CPU_ARM64; break;
......@@ -351,7 +350,6 @@ static BOOL get_so_file_info( HANDLE handle, pe_image_info_t *info )
case 0x01000007: info->cpu = CPU_x86_64; break;
case 0x0000000c: info->cpu = CPU_ARM; break;
case 0x0100000c: info->cpu = CPU_ARM64; break;
case 0x00000012: info->cpu = CPU_POWERPC; break;
}
if (header.macho.filetype == 8) return TRUE;
}
......@@ -383,8 +381,6 @@ static NTSTATUS get_pe_file_info( UNICODE_STRING *path, ULONG attributes,
/* assume current arch */
#if defined(__i386__) || defined(__x86_64__)
info->cpu = is_64bit ? CPU_x86_64 : CPU_x86;
#elif defined(__powerpc__)
info->cpu = CPU_POWERPC;
#elif defined(__arm__)
info->cpu = CPU_ARM;
#elif defined(__aarch64__)
......
/*
* PowerPC signal handling routines
*
* Copyright 2002 Marcus Meissner, SuSE Linux AG
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifdef __powerpc__
#include "config.h"
#include "wine/port.h"
#include <assert.h>
#include <signal.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <sys/types.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include "ntstatus.h"
#define WIN32_NO_STATUS
#include "windef.h"
#include "winternl.h"
#include "wine/exception.h"
#include "ntdll_misc.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(seh);
/***********************************************************************
* RtlCaptureContext (NTDLL.@)
*/
void WINAPI RtlCaptureContext( CONTEXT *context )
{
FIXME("not implemented\n");
memset( context, 0, sizeof(*context) );
}
/**********************************************************************
* call_stack_handlers
*
* Call the stack handlers chain.
*/
static NTSTATUS call_stack_handlers( EXCEPTION_RECORD *rec, CONTEXT *context )
{
EXCEPTION_POINTERS ptrs;
FIXME( "not implemented on PowerPC\n" );
/* hack: call unhandled exception filter directly */
ptrs.ExceptionRecord = rec;
ptrs.ContextRecord = context;
call_unhandled_exception_filter( &ptrs );
return STATUS_UNHANDLED_EXCEPTION;
}
/*******************************************************************
* KiUserExceptionDispatcher (NTDLL.@)
*/
NTSTATUS WINAPI KiUserExceptionDispatcher( EXCEPTION_RECORD *rec, CONTEXT *context )
{
NTSTATUS status;
DWORD c;
TRACE( "code=%x flags=%x addr=%p ip=%x tid=%04x\n",
rec->ExceptionCode, rec->ExceptionFlags, rec->ExceptionAddress,
context->Iar, GetCurrentThreadId() );
for (c = 0; c < rec->NumberParameters; c++)
TRACE( " info[%d]=%08lx\n", c, rec->ExceptionInformation[c] );
if (rec->ExceptionCode == EXCEPTION_WINE_STUB)
{
if (rec->ExceptionInformation[1] >> 16)
MESSAGE( "wine: Call from %p to unimplemented function %s.%s, aborting\n",
rec->ExceptionAddress,
(char*)rec->ExceptionInformation[0], (char*)rec->ExceptionInformation[1] );
else
MESSAGE( "wine: Call from %p to unimplemented function %s.%ld, aborting\n",
rec->ExceptionAddress,
(char*)rec->ExceptionInformation[0], rec->ExceptionInformation[1] );
}
else
{
/* FIXME: dump context */
}
if (call_vectored_handlers( rec, context ) == EXCEPTION_CONTINUE_EXECUTION)
NtContinue( context, FALSE );
if ((status = call_stack_handlers( rec, context )) == STATUS_SUCCESS)
NtContinue( context, FALSE );
if (status != STATUS_UNHANDLED_EXCEPTION) RtlRaiseStatus( status );
return NtRaiseException( rec, context, FALSE );
}
/***********************************************************************
* RtlUnwind (NTDLL.@)
*/
void WINAPI RtlUnwind( PVOID pEndFrame, PVOID targetIp, PEXCEPTION_RECORD pRecord, PVOID retval )
{
FIXME( "Not implemented on PowerPC\n" );
}
/***********************************************************************
* RtlRaiseException (NTDLL.@)
*/
void WINAPI RtlRaiseException( EXCEPTION_RECORD *rec )
{
CONTEXT context;
RtlCaptureContext( &context );
rec->ExceptionAddress = (void *)context.Iar;
RtlRaiseStatus( NtRaiseException( rec, &context, TRUE ));
}
/*************************************************************************
* RtlCaptureStackBackTrace (NTDLL.@)
*/
USHORT WINAPI RtlCaptureStackBackTrace( ULONG skip, ULONG count, PVOID *buffer, ULONG *hash )
{
FIXME( "(%d, %d, %p, %p) stub!\n", skip, count, buffer, hash );
return 0;
}
/**********************************************************************
* DbgBreakPoint (NTDLL.@)
*/
void WINAPI DbgBreakPoint(void)
{
kill(getpid(), SIGTRAP);
}
/**********************************************************************
* DbgUserBreakPoint (NTDLL.@)
*/
void WINAPI DbgUserBreakPoint(void)
{
kill(getpid(), SIGTRAP);
}
/**********************************************************************
* NtCurrentTeb (NTDLL.@)
*/
TEB * WINAPI NtCurrentTeb(void)
{
return unix_funcs->NtCurrentTeb();
}
#endif /* __powerpc__ */
......@@ -355,7 +355,6 @@ static BOOL get_so_file_info( HANDLE handle, pe_image_info_t *info )
switch (header.elf.machine)
{
case 3: info->cpu = CPU_x86; break;
case 20: info->cpu = CPU_POWERPC; break;
case 40: info->cpu = CPU_ARM; break;
case 62: info->cpu = CPU_x86_64; break;
case 183: info->cpu = CPU_ARM64; break;
......@@ -388,7 +387,6 @@ static BOOL get_so_file_info( HANDLE handle, pe_image_info_t *info )
case 0x01000007: info->cpu = CPU_x86_64; break;
case 0x0000000c: info->cpu = CPU_ARM; break;
case 0x0100000c: info->cpu = CPU_ARM64; break;
case 0x00000012: info->cpu = CPU_POWERPC; break;
}
if (header.macho.filetype == 8) return TRUE;
}
......@@ -420,8 +418,6 @@ static NTSTATUS get_pe_file_info( UNICODE_STRING *path, ULONG attributes,
/* assume current arch */
#if defined(__i386__) || defined(__x86_64__)
info->cpu = is_64bit ? CPU_x86_64 : CPU_x86;
#elif defined(__powerpc__)
info->cpu = CPU_POWERPC;
#elif defined(__arm__)
info->cpu = CPU_ARM;
#elif defined(__aarch64__)
......
......@@ -104,8 +104,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(server);
static const enum cpu_type client_cpu = CPU_x86;
#elif defined(__x86_64__)
static const enum cpu_type client_cpu = CPU_x86_64;
#elif defined(__powerpc__)
static const enum cpu_type client_cpu = CPU_POWERPC;
#elif defined(__arm__)
static const enum cpu_type client_cpu = CPU_ARM;
#elif defined(__aarch64__)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment