*** empty log message ***

svn path=/trunk/; revision=5334
This commit is contained in:
Magnus Olsen 2003-07-30 19:06:55 +00:00
parent 007c07efe6
commit f15e2b76b9
3 changed files with 191 additions and 0 deletions

View file

@ -0,0 +1,26 @@
@echo off
echo fix temp slov for to make ntdll use this asm code insted of the c code
echo 1. copy makefile-asm ../makefile
cd rtl
del *.o
del *.d
del i386_RtlCompareMemory
del i386_RtlCompareMemoryUlong
del i386_RtlFillMemory
del i386_RtlFillMemoryUlong
del i386_RtlMoveMemory
del i386_RtlRandom
del i386_RtlZeroMemory
cd ..
rem nasmw -f coff i386_RtlCompareMemory.asm
rem nasmw -f coff i386_RtlCompareMemoryUlong.asm
rem nasmw -f coff i386_RtlFillMemory.asm
rem nasmw -f coff i386_RtlFillMemoryUlong.asm
rem nasmw -f coff i386_RtlMoveMemory.asm
rem nasmw -f coff i386_RtlRandom.asm
rem nasmw -f coff i386_RtlZeroMemory.asm

View file

@ -0,0 +1,113 @@
# $Id: makefile-asm,v 1.1 2003/07/30 19:06:55 greatlrd Exp $
PATH_TO_TOP = ../..
TARGET_BOOTSTRAP = yes
TARGET_TYPE = dynlink
TARGET_NAME = ntdll
TARGET_CFLAGS = -g -D__NTDLL__
TARGET_ASFLAGS = -I $(PATH_TO_TOP)/include
TARGET_LFLAGS = -Wl,--file-alignment,0x1000 \
-Wl,--section-alignment,0x1000 \
-nostartfiles -nostdlib
TARGET_SDKLIBS = string.a rosrtl.a
TARGET_GCCLIBS = gcc
TARGET_BASE = 0x77f60000
TARGET_PATH = def
TARGET_ENTRY = 0x0
CSR_OBJECTS = csr/lpc.o csr/capture.o csr/probe.o csr/thread.o
DBG_OBJECTS = dbg/brkpoint.o dbg/debug.o dbg/print.o #dbg/winedbg.o
LDR_OBJECTS = \
ldr/entry.o \
ldr/res.o \
ldr/startup.o \
ldr/utils.o
RTL_I386_OBJECTS = \
rtl/i386/alldiv.o \
rtl/i386/allmul.o \
rtl/i386/allrem.o \
rtl/i386/allshl.o \
rtl/i386/allshr.o \
rtl/i386/aulldiv.o \
rtl/i386/aullrem.o \
rtl/i386/aullshr.o \
rtl/i386/chkstk.o \
rtl/i386/exception.o \
rtl/i386/except.o \
rtl/i386/float.o \
rtl/i386/ftol.o
RTL_OBJECTS = rtl/critical.o rtl/error.o rtl/heap.o rtl/largeint.o \
rtl/math.o \
nasm/i386_RtlCompareMemory.o nasm/i386_RtlCompareMemoryUlong.o \
nasm/i386_RtlFillMemory.o \
nasm/i386_RtlFillMemoryUlong.o nasm/i386_RtlMoveMemory.o \
nasm/i386_RtlRandom.o nasm/i386_RtlZeroMemory.o \
rtl/nls.o rtl/process.o rtl/sd.o \
rtl/thread.o rtl/unicode.o rtl/env.o rtl/path.o rtl/ppb.o \
rtl/bitmap.o rtl/time.o rtl/acl.o rtl/sid.o rtl/image.o \
rtl/access.o rtl/apc.o rtl/callback.o rtl/luid.o rtl/misc.o \
rtl/registry.o rtl/exception.o rtl/intrlck.o rtl/resource.o \
rtl/handle.o rtl/atom.o rtl/message.o rtl/timezone.o \
rtl/propvar.o rtl/security.o rtl/dos8dot3.o rtl/compress.o \
rtl/encode.o rtl/teb.o
STDIO_OBJECTS = stdio/sprintf.o stdio/swprintf.o
STDLIB_OBJECTS = stdlib/abs.o stdlib/atoi.o stdlib/atoi64.o stdlib/atol.o \
stdlib/itoa.o stdlib/itow.o stdlib/labs.o stdlib/splitp.o \
stdlib/strtol.o stdlib/strtoul.o stdlib/wcstol.o \
stdlib/wcstoul.o stdlib/wtoi.o stdlib/wtoi64.o stdlib/wtol.o \
stdlib/mbstowcs.o stdlib/wcstombs.o
STRING_OBJECTS = string/ctype.o \
string/memicmp.o\
string/stricmp.o \
string/strlwr.o \
string/strnicmp.o \
string/strpbrk.o \
string/strstr.o string/strupr.o string/wstring.o
ARCH_OBJECTS = \
$(RTL_I386_OBJECTS)
TARGET_OBJECTS = \
napi.o \
$(ARCH_OBJECTS) \
$(CSR_OBJECTS) \
$(DBG_OBJECTS) \
$(LDR_OBJECTS) \
$(RTL_OBJECTS) \
$(STDIO_OBJECTS) \
$(STDLIB_OBJECTS) \
$(STRING_OBJECTS) \
stubs/stubs.o
DEP_OBJECTS = $(TARGET_OBJECTS)
DEP_EXCLUDE_FILTER = napi.%
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
include $(TOOLS_PATH)/depend.mk
%/TAGS:
etags -o $(@D)/TAGS $(@D)/\*.c
etags: csr/TAGS dbg/TAGS ldr/TAGS main/TAGS rtl/TAGS stdio/TAGS stdlib/TAGS string/TAGS stubs/TAGS
etags -i csr/TAGS -i dbg/TAGS -i ldr/TAGS -i main/TAGS -i rtl/TAGS -i stdio/TAGS -i stdlib/TAGS -i string/TAGS -i stubs/TAGS

View file

@ -0,0 +1,52 @@
This is Intel i386 or higher asm code version of ntdll.dll
The minium cpu req by reactos are : 486.
The asm src in this folder need nasm to be compile with.
1. Rename reactos/lib/ntdll/makefile to reactos/lib/ntdll/makefile.c
or make a backup up of it.
(it contain the C code version of ntdll makefile)
2. Copy reactos/lib/ntdll/nasm/makefile-asm to reactos/lib/ntdll/makefile
(it contain the asm verison of ntdll makefile, I need to change some
part to get the asm version be in use insted of the c version)
3. Now run reactos/make so u get the asm version of ntdll
Hope everyone like this asm optimze version.
but for momment are only thing optimze are
ntdll/rtl/mem.c
-----------------------------------------
RtlCompareMemory
RtlCompareMemoryUlong
RtlFillMemoryUlong
RtlMoveMemory
RtlZeroMemory
RtlFillMemory
(can make it lite faster not maxium optimze yet)
ntdll/rtl/RtlRandom.c
-----------------------------------------
RtlRandom
RtlUniform
SavedValue
info about ntdll/nasm/fixasm.bat
-----------------------------------------
delete all file that are not src or bat file
in the folder ntdll/nasm/