mirror of
https://github.com/reactos/reactos.git
synced 2025-08-01 19:13:30 +00:00
[FREELDR][NTOS][HALPPC][SDK] Remove PowerPC code
Remove PowerPC-related code from the kernel, HAL, SDK and Freeloader.
This commit is contained in:
parent
911fc3cf5b
commit
6ef6fabfc5
88 changed files with 0 additions and 17348 deletions
|
@ -104,16 +104,6 @@ elseif(ARCH STREQUAL "arm")
|
|||
arm/except.c
|
||||
byteswap.c
|
||||
mem.c)
|
||||
elseif(ARCH STREQUAL "powerpc")
|
||||
list(APPEND ASM_SOURCE
|
||||
powerpc/rtlmem.s
|
||||
powerpc/rtlswap.s)
|
||||
list(APPEND SOURCE
|
||||
byteswap.c
|
||||
powerpc/debug.c
|
||||
powerpc/except.c
|
||||
powerpc/interlocked.c
|
||||
powerpc/thread.c)
|
||||
endif()
|
||||
|
||||
add_asm_files(rtl_asm ${ASM_SOURCE})
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
#include <ntddk.h>
|
||||
#include <winddk.h>
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
DbgBreakPoint() { __asm__("ti 31,0,0"); }
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
DbgBreakPointWithStatus(ULONG Status) { __asm__("ti 31,0,0"); }
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
DebugService
|
||||
(ULONG Service, PVOID Argument1, PVOID Argument1, PVOID Argument3, PVOID Argument4)
|
||||
{
|
||||
ULONG Result;
|
||||
__asm__("mr 0,%1\n\t"
|
||||
"mr 3,%2\n\t"
|
||||
"mr 4,%3\n\t"
|
||||
"mr 5,%4\n\t"
|
||||
"mr 6,%5\n\t"
|
||||
"mr 7,%6\n\t"
|
||||
"sc\n\t"
|
||||
"mr %0,3\n\t" :
|
||||
"=r" (Result) :
|
||||
"r" (0x10000),
|
||||
"r" (Service),
|
||||
"r" (Argument1),
|
||||
"r" (Argument2),
|
||||
"r" (Argument3),
|
||||
"r" (Argument4) );
|
||||
return Result;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
DebugService2
|
||||
(PVOID Arg1, PVOID Arg2, ULONG Service)
|
||||
{
|
||||
}
|
|
@ -1,54 +0,0 @@
|
|||
/* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Runtime Library
|
||||
* PURPOSE: User-Mode Exception Support
|
||||
* FILE: lib/rtl/powerpc/except.c
|
||||
* PROGRAMERS: Alex Ionescu (alex@relsoft.net)
|
||||
* David Welch <welch@cwcom.net>
|
||||
* Skywing <skywing@valhallalegends.com>
|
||||
* KJK::Hyperion <noog@libero.it>
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <rtl.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlCaptureContext
|
||||
(OUT PCONTEXT ContextRecord)
|
||||
{
|
||||
// XXX arty fixme
|
||||
}
|
||||
|
||||
NTSYSAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
RtlDispatchException
|
||||
(IN PEXCEPTION_RECORD ExceptionRecord,
|
||||
IN PCONTEXT Context)
|
||||
{
|
||||
// XXX arty fixme
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlUnwind(IN PVOID TargetFrame OPTIONAL,
|
||||
IN PVOID TargetIp OPTIONAL,
|
||||
IN PEXCEPTION_RECORD ExceptionRecord OPTIONAL,
|
||||
IN PVOID ReturnValue)
|
||||
{
|
||||
// XXX arty fixme
|
||||
}
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlGetCallersAddress(
|
||||
OUT PVOID *CallersAddress,
|
||||
OUT PVOID *CallersCaller)
|
||||
{
|
||||
}
|
|
@ -1,128 +0,0 @@
|
|||
typedef unsigned int size_t;
|
||||
#include <ntddk.h>
|
||||
#include <winddk.h>
|
||||
#include <string.h>
|
||||
#include <intrin.h>
|
||||
|
||||
NTKERNELAPI
|
||||
LONG
|
||||
FASTCALL
|
||||
InterlockedExchange(
|
||||
LONG volatile *Target, LONG Value)
|
||||
{
|
||||
return _InterlockedExchange(Target, Value);
|
||||
}
|
||||
|
||||
NTKERNELAPI
|
||||
LONG
|
||||
FASTCALL
|
||||
InterlockedExchangeAdd(
|
||||
LONG volatile *Target, LONG Value)
|
||||
{
|
||||
return _InterlockedExchangeAdd(Target, Value);
|
||||
}
|
||||
|
||||
NTKERNELAPI
|
||||
LONG
|
||||
WINAPI
|
||||
InterlockedCompareExchange(
|
||||
LONG volatile *Destination,
|
||||
LONG Exchange, LONG Comparand)
|
||||
{
|
||||
return _InterlockedCompareExchange(Destination, Exchange, Comparand);
|
||||
}
|
||||
|
||||
NTKERNELAPI
|
||||
LONG
|
||||
FASTCALL
|
||||
InterlockedIncrement
|
||||
(IN OUT LONG volatile *Addend)
|
||||
{
|
||||
return _InterlockedIncrement(Addend);
|
||||
}
|
||||
|
||||
NTKERNELAPI
|
||||
LONG
|
||||
FASTCALL
|
||||
InterlockedDecrement(
|
||||
IN OUT LONG volatile *Addend)
|
||||
{
|
||||
return _InterlockedDecrement(Addend);
|
||||
}
|
||||
|
||||
PSLIST_ENTRY
|
||||
WINAPI
|
||||
InterlockedPopEntrySList(
|
||||
PSLIST_HEADER ListHead)
|
||||
{
|
||||
PSLIST_ENTRY Result = NULL;
|
||||
KIRQL OldIrql;
|
||||
static BOOLEAN GLLInit = FALSE;
|
||||
static KSPIN_LOCK GlobalListLock;
|
||||
|
||||
if(!GLLInit)
|
||||
{
|
||||
KeInitializeSpinLock(&GlobalListLock);
|
||||
GLLInit = TRUE;
|
||||
}
|
||||
|
||||
KeAcquireSpinLock(&GlobalListLock, &OldIrql);
|
||||
if(ListHead->Next.Next)
|
||||
{
|
||||
Result = ListHead->Next.Next;
|
||||
ListHead->Next.Next = Result->Next;
|
||||
}
|
||||
KeReleaseSpinLock(&GlobalListLock, OldIrql);
|
||||
return Result;
|
||||
}
|
||||
|
||||
NTKERNELAPI
|
||||
PSLIST_ENTRY
|
||||
FASTCALL
|
||||
InterlockedPushEntrySList(
|
||||
IN PSLIST_HEADER ListHead,
|
||||
IN PSLIST_ENTRY ListEntry)
|
||||
{
|
||||
PVOID PrevValue;
|
||||
|
||||
do
|
||||
{
|
||||
PrevValue = ListHead->Next.Next;
|
||||
ListEntry->Next = PrevValue;
|
||||
}
|
||||
while (InterlockedCompareExchangePointer(&ListHead->Next.Next,
|
||||
ListEntry,
|
||||
PrevValue) != PrevValue);
|
||||
|
||||
return (PSLIST_ENTRY)PrevValue;
|
||||
}
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
ExInterlockedAddLargeStatistic(
|
||||
IN PLARGE_INTEGER Addend,
|
||||
IN ULONG Increment)
|
||||
{
|
||||
_InterlockedAddLargeStatistic(&Addend->QuadPart, Increment);
|
||||
}
|
||||
|
||||
NTKERNELAPI
|
||||
LONGLONG
|
||||
FASTCALL
|
||||
ExInterlockedCompareExchange64(
|
||||
IN OUT PLONGLONG Destination,
|
||||
IN PLONGLONG Exchange,
|
||||
IN PLONGLONG Comparand,
|
||||
IN PKSPIN_LOCK Lock)
|
||||
{
|
||||
KIRQL OldIrql;
|
||||
LONGLONG Result;
|
||||
|
||||
KeAcquireSpinLock(Lock, &OldIrql);
|
||||
Result = *Destination;
|
||||
if(*Destination == Result)
|
||||
*Destination = *Exchange;
|
||||
KeReleaseSpinLock(Lock, OldIrql);
|
||||
return Result;
|
||||
}
|
|
@ -1,101 +0,0 @@
|
|||
/*
|
||||
*
|
||||
*/
|
||||
|
||||
.globl RtlCompareMemory
|
||||
.globl RtlCompareMemoryUlong
|
||||
.globl RtlFillMemory
|
||||
.globl RtlFillMemoryUlong
|
||||
.globl RtlFillMemoryUlonglong
|
||||
.globl RtlMoveMemory
|
||||
.globl RtlZeroMemory
|
||||
|
||||
RtlCompareMemory:
|
||||
1:
|
||||
mr 0,5
|
||||
|
||||
cmpwi 0,5,4
|
||||
blt 2f
|
||||
|
||||
lwz 6,0(3)
|
||||
lwz 7,0(3)
|
||||
addi 6,6,-7
|
||||
cmpwi 0,6,0
|
||||
bne 2f
|
||||
|
||||
addi 3,3,4
|
||||
addi 4,4,4
|
||||
subi 5,5,4
|
||||
b 1b
|
||||
|
||||
2:
|
||||
cmpwi 0,5,0
|
||||
beq 3f
|
||||
|
||||
lbz 6,0(3)
|
||||
lbz 7,0(4)
|
||||
addi 6,6,-7
|
||||
cmpwi 0,6,0
|
||||
bne 3f
|
||||
|
||||
addi 3,3,1
|
||||
addi 4,4,1
|
||||
subi 5,5,1
|
||||
b 2b
|
||||
|
||||
3:
|
||||
mr 4,0
|
||||
sub 3,4,5
|
||||
blr
|
||||
|
||||
RtlCompareMemoryUlong:
|
||||
or 6,3,4
|
||||
or 6,6,5
|
||||
andi. 6,6,3
|
||||
bne RtlCompareMemory
|
||||
xor 3,3,3
|
||||
blr
|
||||
|
||||
RtlFillMemory:
|
||||
rlwinm 6,5,8,0xff00
|
||||
rlwinm 7,5,0,0xff
|
||||
or 7,6,7
|
||||
rlwinm 5,7,16,0xffff0000
|
||||
or 5,7,5
|
||||
|
||||
1:
|
||||
cmpwi 0,4,4
|
||||
blt 2f
|
||||
|
||||
stw 5,0(3)
|
||||
|
||||
addi 3,3,4
|
||||
subi 4,4,4
|
||||
b 1b
|
||||
|
||||
2:
|
||||
cmpwi 0,4,0
|
||||
beq 3f
|
||||
|
||||
stb 5,0(3)
|
||||
|
||||
addi 3,3,1
|
||||
subi 4,4,1
|
||||
b 2b
|
||||
|
||||
3:
|
||||
blr
|
||||
|
||||
RtlFillMemoryUlong:
|
||||
b RtlFillMemory
|
||||
|
||||
RtlFillMemoryUlonglong:
|
||||
b RtlFillMemoryUlong
|
||||
|
||||
RtlMoveMemory:
|
||||
b memmove
|
||||
|
||||
RtlZeroMemory:
|
||||
mr 5,4
|
||||
xor 4,4,4
|
||||
b memset
|
|
@ -1,41 +0,0 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Run-Time Library
|
||||
* PURPOSE: Byte swap functions
|
||||
* FILE: lib/rtl/powerpc/rtlswap.s
|
||||
* PROGRAMER: Alex Ionescu (alex.ionescu@reactos.org)
|
||||
*/
|
||||
|
||||
.globl RtlUshortByteSwap
|
||||
.globl RtlUlongByteSwap
|
||||
.globl RtlUlonglongByteSwap
|
||||
|
||||
/* FUNCTIONS ***************************************************************/
|
||||
|
||||
RtlUshortByteSwap:
|
||||
/* Swap high and low bits */
|
||||
rlwinm 4,3,24,0xff
|
||||
rlwinm 5,3,8,0xff00
|
||||
or 3,4,5
|
||||
blr
|
||||
|
||||
RtlUlongByteSwap:
|
||||
rlwinm 4,3,8,0xff
|
||||
rlwinm 5,3,24,0xff000000
|
||||
or 4,4,5
|
||||
rlwinm 5,3,8,0xff0000
|
||||
rlwinm 3,3,24,0xff00
|
||||
or 3,4,5
|
||||
or 3,3,6
|
||||
blr
|
||||
|
||||
RtlUlonglongByteSwap:
|
||||
stwu 1,16(1)
|
||||
stw 4,4(1)
|
||||
bl RtlUlongByteSwap
|
||||
stw 3,4(1)
|
||||
lwz 3,4(1)
|
||||
bl RtlUlongByteSwap
|
||||
lwz 4,4(1)
|
||||
subi 1,1,16
|
||||
blr
|
|
@ -1,38 +0,0 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
* PURPOSE: Rtl user thread functions
|
||||
* FILE: lib/rtl/powerpc/thread.c
|
||||
* PROGRAMERS:
|
||||
* Alex Ionescu (alex@relsoft.net)
|
||||
* Eric Kohl
|
||||
* KJK::Hyperion
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <rtl.h>
|
||||
#include "i386/ketypes.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* PRIVATE FUNCTIONS *******************************************************/
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
RtlInitializeContext(IN HANDLE ProcessHandle,
|
||||
OUT PCONTEXT ThreadContext,
|
||||
IN PVOID ThreadStartParam OPTIONAL,
|
||||
IN PTHREAD_START_ROUTINE ThreadStartAddress,
|
||||
IN PINITIAL_TEB InitialTeb)
|
||||
{
|
||||
DPRINT("RtlInitializeContext: (hProcess: %p, ThreadContext: %p, Teb: %p\n",
|
||||
ProcessHandle, ThreadContext, InitialTeb);
|
||||
// XXX arty fixme
|
||||
}
|
||||
|
||||
/* EOF */
|
Loading…
Add table
Add a link
Reference in a new issue