[ros-diffs] [pschweitzer] 34367: Synced riched20.dll with Wine HEAD
pschweitzer at svn.reactos.org
pschweitzer at svn.reactos.org
Tue Jul 8 12:08:55 CEST 2008
- Previous message: [ros-diffs] [ros-arm-bringup] 34366: - Rewrite the low-level trap/exception/system call code from the ground up: - Do not corrupt the stack anymore - Use a consistent trap frame layout (enable OldIrql and PreviousMode, and set the 0xBADB0D00 debug mark) - Use slower but more correct trap prolog/epilog code for now. - Generalize all prolog/epilog code into macros just like on x86. As a result, traps are now 6 lines of code. - Rewrite the system call interface from the ground up: - System calls didn't actually work: a debug print made the stack layout magical enough so that they didn't normally crush, but only slowly ate the stack. - Copying arguments from caller to system call was, as the comment on the original code so aptly put it, "total shit". - Due to ABI concerns, and to provide an actual template on how you're -supposed- to implement something like system calls on RISC processors, we now use a model similar to BSD, but about ten times better (with that much less code too). We'll document it later on the RosPSG Wiki. - This code probably contains some of the most vile-yet-elegant macro magic ever written for such low-level code as system call dispatching. - The result of all this is that we're at the same place as before (RamdiskAddDevice needs to be implemented by the Ramdisk guys) but with a sane low-level backend that isn't slowly eating away the stack, corrupting data, and basically working through random chance. - Move timebase code from stubs.c to its own file, time.c. - Silence multiple debug prints and fix a corrupted debug print in KiSystemStartup.
- Next message: [ros-diffs] [pschweitzer] 34368: Synced riched20_winetest.exe with Wine HEAD
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: pschweitzer
Date: Tue Jul 8 05:08:54 2008
New Revision: 34367
URL: http://svn.reactos.org/svn/reactos?rev=34367&view=rev
Log:
Synced riched20.dll with Wine HEAD
Modified:
trunk/reactos/dll/win32/riched20/caret.c
trunk/reactos/dll/win32/riched20/editor.c
trunk/reactos/dll/win32/riched20/editor.h
trunk/reactos/dll/win32/riched20/editstr.h
trunk/reactos/dll/win32/riched20/list.c
trunk/reactos/dll/win32/riched20/paint.c
trunk/reactos/dll/win32/riched20/para.c
trunk/reactos/dll/win32/riched20/reader.c
trunk/reactos/dll/win32/riched20/riched20.rbuild
trunk/reactos/dll/win32/riched20/richole.c
trunk/reactos/dll/win32/riched20/run.c
trunk/reactos/dll/win32/riched20/string.c
trunk/reactos/dll/win32/riched20/style.c
trunk/reactos/dll/win32/riched20/undo.c
trunk/reactos/dll/win32/riched20/wrap.c
trunk/reactos/include/psdk/richedit.h
[This mail would be too long, it was shortened to contain the URLs only.]
Modified: trunk/reactos/dll/win32/riched20/caret.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/caret.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/editor.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/editor.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/editor.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/editor.h?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/editstr.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/editstr.h?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/list.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/list.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/paint.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/paint.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/para.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/para.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/reader.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/reader.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/riched20.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/riched20.rbuild?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/richole.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/richole.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/run.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/run.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/string.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/string.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/style.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/style.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/undo.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/undo.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/dll/win32/riched20/wrap.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/wrap.c?rev=34367&r1=34366&r2=34367&view=diff
Modified: trunk/reactos/include/psdk/richedit.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/richedit.h?rev=34367&r1=34366&r2=34367&view=diff
- Previous message: [ros-diffs] [ros-arm-bringup] 34366: - Rewrite the low-level trap/exception/system call code from the ground up: - Do not corrupt the stack anymore - Use a consistent trap frame layout (enable OldIrql and PreviousMode, and set the 0xBADB0D00 debug mark) - Use slower but more correct trap prolog/epilog code for now. - Generalize all prolog/epilog code into macros just like on x86. As a result, traps are now 6 lines of code. - Rewrite the system call interface from the ground up: - System calls didn't actually work: a debug print made the stack layout magical enough so that they didn't normally crush, but only slowly ate the stack. - Copying arguments from caller to system call was, as the comment on the original code so aptly put it, "total shit". - Due to ABI concerns, and to provide an actual template on how you're -supposed- to implement something like system calls on RISC processors, we now use a model similar to BSD, but about ten times better (with that much less code too). We'll document it later on the RosPSG Wiki. - This code probably contains some of the most vile-yet-elegant macro magic ever written for such low-level code as system call dispatching. - The result of all this is that we're at the same place as before (RamdiskAddDevice needs to be implemented by the Ramdisk guys) but with a sane low-level backend that isn't slowly eating away the stack, corrupting data, and basically working through random chance. - Move timebase code from stubs.c to its own file, time.c. - Silence multiple debug prints and fix a corrupted debug print in KiSystemStartup.
- Next message: [ros-diffs] [pschweitzer] 34368: Synced riched20_winetest.exe with Wine HEAD
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Ros-diffs
mailing list