Commit graph

22228 commits

Author SHA1 Message Date
Hervé Poussineau 8b597b0970 Fix build for Linux people, where gcc claims that it doesn't support I64 for printf. Thanks Usurp on IRC
svn path=/trunk/; revision=23839
2006-08-31 12:31:34 +00:00
Hervé Poussineau ed70ab7f26 Fix Linux build (filename case problem...) Thanks gregj on IRC
svn path=/trunk/; revision=23837
2006-08-31 11:09:05 +00:00
Hervé Poussineau cc2684d474 Cleanup in .inf file handling of usetup:
- Equivalent setupapi functions have the same protoype as in Win32 API
- Extra functions have the INF_* prefix

svn path=/trunk/; revision=23836
2006-08-31 09:13:03 +00:00
Hervé Poussineau f52bca045b Clean up console functions in usetup. We now have 2 categories:
- The same functions as in Win32 Console API, prefixed with Con
- The helpers (which call Con* functions) prefixed with CONSOLE_
Do according changes in other files

svn path=/trunk/; revision=23834
2006-08-31 06:14:25 +00:00
Alex Ionescu e870b20916 - Don't do fast system calls with the wrong DS/ES selectors.
- Properly load DS/ES on system startup and GDT load
- Use proper DS/ES during deprecated IRQ handling.
- Always use GS as 0 for all of the above.
- *FINALLY* fixes the oldest bug there ever was -> DS/ES corruption noticed in VMWare (And recently in QEMU+KERNELKQEMU, since it behaves internally like vmware). Hacks in trap code have FINALLY been removed!

svn path=/trunk/; revision=23833
2006-08-31 05:25:58 +00:00
Alex Ionescu d2ba2fdc17 - Implement more parts of the GPF Handler.
- Add support for lazy loading.
- QEMU + -kernel-qemu seems to work now.
- Hack away the Win32k bug that's been there for ages (copy to user-mode from kernel-mode failing due to probe due to incorrect previous mode). It's not the right fix, but nobody seems to be willing to fix it, and it doesn't make anything less stable, sicne the actually copy is in SEH anyway. It opens a security vuln. (wow, not like we have 15000) in exchange for fixing dozens of win32k bugs and failures.

svn path=/trunk/; revision=23832
2006-08-31 04:10:33 +00:00
Pablo Borobia e82f58c755 Testing commit
svn path=/trunk/; revision=23831
2006-08-31 03:12:14 +00:00
Alex Ionescu e4e58dde50 - Write new, optimized, small, working and clean functions (fixes booting, last few commits broke it for me):
- RtlCompareMemory
    - RtlCompareMemoryUlong
    - RtlFillMemory
    - RtlFillMemoryUlong
    - RtlFillMemoryUlongUlong
    - RtlMoveMemory
    - RtlZeroMemory
    - RtlPrefetchMemoryNonTemporal
    - RtlUshortByteSwap
    - RtlUlongByteSwap
    - RtlUlonglongByteSwap

svn path=/trunk/; revision=23830
2006-08-31 01:20:55 +00:00
Thomas Bluemel 5b8d955fb7 Fix difference in signedness warnings
svn path=/trunk/; revision=23829
2006-08-30 21:47:38 +00:00
Thomas Bluemel 1fcf9ceba0 Use the new ProbeForWriteIoStatusBlock macro
svn path=/trunk/; revision=23828
2006-08-30 21:45:17 +00:00
Thomas Bluemel 176e324621 - Fix some probing macros
- Add probing macros for IO_STATUS_BLOCK structures
- Added two inline functions ProbeArrayForRead() and ProbeArrayForWrite(), mainly for use in win32k as they also check for integer overflows.

svn path=/trunk/; revision=23827
2006-08-30 21:44:12 +00:00
Magnus Olsen 0d6e03c305 Wrote RtlUshotByteSwap RtlUlongByteSwap and RtlUlonglongByteSwap to asm code.
but we need a C api for header to linking it right. Put the asm version to i386 

svn path=/trunk/; revision=23826
2006-08-30 21:17:53 +00:00
Thomas Bluemel 73120d4d50 Revert r23824. This needs to go into the clipboard branch for now.
svn path=/trunk/; revision=23825
2006-08-30 20:59:32 +00:00
Pablo Borobia 0effbf25dc * added GetLayout definition
* added Clipboards definitions
* added GetLastInputInfo definition

svn path=/trunk/; revision=23824
2006-08-30 20:56:17 +00:00
Thomas Bluemel a65807043a Revert r23810, r23811, r23813. The clipboard changes are in the clipboard branch for now.
svn path=/trunk/; revision=23823
2006-08-30 20:40:07 +00:00
Hervé Poussineau 15d6307da5 mpr.dll can now be autosynced with Wine
svn path=/trunk/; revision=23822
2006-08-30 20:37:56 +00:00
Ged Murphy 08ecb38f3b update msi wine regtest
svn path=/trunk/; revision=23821
2006-08-30 20:37:49 +00:00
Ged Murphy 0ce8d02acc update comctl32 winetest
svn path=/trunk/; revision=23818
2006-08-30 20:28:33 +00:00
Hervé Poussineau 42b655b8f9 avifil32.dll can now be autosynced with Wine
svn path=/trunk/; revision=23816
2006-08-30 20:16:11 +00:00
Hervé Poussineau 85bfb7d006 wineimport.cmd (>= r23814) is now able to handle msi.dll autosync. Mark it as such.
svn path=/trunk/; revision=23815
2006-08-30 20:01:42 +00:00
Pablo Borobia fc86ed2df2 * Added more clipboard regression tests
svn path=/trunk/; revision=23813
2006-08-30 19:46:40 +00:00
Hervé Poussineau 4c7a515ebc Add msi_ros.diff
svn path=/trunk/; revision=23812
2006-08-30 19:41:09 +00:00
Pablo Borobia 38bee199b7 shel32.dll part:
* Clipboard implemtation in win32k and user32
* Added a clipboard system for each Window Station
* GetLastInputInfo implementation
* GetLayout in win32k Stubs
* Shell32 changes to cut/copy & paste link/paste
* Implemented ALT+PrintScreen to clipboard

svn path=/trunk/; revision=23811
2006-08-30 19:35:54 +00:00
Pablo Borobia 5a624910f1 user32.dll part:
* Clipboard implemtation in win32k and user32
* Added a clipboard system for each Window Station
* GetLastInputInfo implementation
* GetLayout in win32k Stubs
* Shell32 changes to cut/copy & paste link/paste
* Implemented ALT+PrintScreen to clipboard

svn path=/trunk/; revision=23810
2006-08-30 19:35:22 +00:00
Alex Ionescu 3d10f77c92 - It should now be safe to remove the V86 ESP0 hack, since V86 mode works fine (tested on VMWare/QEmu).
svn path=/trunk/; revision=23809
2006-08-30 19:29:16 +00:00
Hervé Poussineau 21aef1a7a7 Update MSI to current Wine version.
Autosync will be put in place very soon for this dll.

svn path=/trunk/; revision=23808
2006-08-30 19:24:26 +00:00
Ged Murphy 6d52441d10 [WINESYNC]
update comctl32 to Wine_0.9.20

svn path=/trunk/; revision=23807
2006-08-30 19:18:49 +00:00
Thomas Bluemel 900bf1a753 Implement Slim Reader/Writer (SRW) locks:
- Implement AcquireSRWLockExclusive(), AcquireSRWLockShared(), InitializeSRWLock(), ReleaseSRWLockExclusive(), ReleaseSRWLockShared()
- NOTE: Some versions of GCC have a code generation bug with specially aligned structures on the stack. If compiled with such a compiler, the code might trigger special assertions. Pushlocks are also affected by this compiler bug.
- NOTE: The algorithms are most likely not the same as in Windows. Applications are supposed to treat the lock variables as opaque data, therefore it shouldn't matter.

svn path=/trunk/; revision=23806
2006-08-30 19:02:42 +00:00
Hervé Poussineau 538082297d Fix MsiGetFeatureStateA/W and MsiGetComponentStateA/W prototypes
svn path=/trunk/; revision=23805
2006-08-30 18:08:21 +00:00
Magnus Olsen ec839eb8e2 Kill inline asm code compete in RtlUlongByteSwap for it doing swap wrong.
we go back using the C version. Thanks Fireball  

svn path=/trunk/; revision=23804
2006-08-30 17:51:36 +00:00
Alex Ionescu 7ea78797f2 - Fix KeRaiseUserException (can't use "return" from SEH_HANDLE).
svn path=/trunk/; revision=23803
2006-08-30 17:01:58 +00:00
Alex Ionescu 5fc996c43e - Some fixes to KiDispatchException: Add support for forwarding exception back to user-mode, protect against V86 or invalid-stack faults, handle stack overflow exception while handling usermode exception (Thanks KJK for the SEH_FILTER help). Decrement EIP by one when hitting an INT3, to get the correct address.
- Remove two associated kernel fun entries.

svn path=/trunk/; revision=23802
2006-08-30 16:58:12 +00:00
Eric Kohl 99e4b3809f - fix indentation and remove trailing whitespace
- StartServiceA/W: terminate argument buffer with a double zero.

svn path=/trunk/; revision=23801
2006-08-30 10:53:37 +00:00
Hervé Poussineau a301256472 Add missing includes in .rc file
Sort them in alphabetical order

svn path=/trunk/; revision=23800
2006-08-30 10:40:59 +00:00
Magnus Olsen 0b5c566337 Implement RtlRandomEx by copy RtlRandom code.
ms have two different implement, One random is faster that other, (in some doc I read (maybe from osr) some year ago),  the RtlRandomEx  is not document in the free ddk/sdk, but it is include in ddk/ifs kit, according the doc. 

svn path=/trunk/; revision=23799
2006-08-30 10:13:01 +00:00
Johannes Anderwald 5a487c19e7 * remove useless cast
svn path=/trunk/; revision=23798
2006-08-30 09:45:08 +00:00
Johannes Anderwald 29b76a30a2 - fix definition of FONTENUMPROC
svn path=/trunk/; revision=23797
2006-08-30 09:17:47 +00:00
Alex Ionescu 841fa5cc41 - Update kernel fun.
svn path=/trunk/; revision=23796
2006-08-30 06:56:06 +00:00
Alex Ionescu 1b0f8e7e81 - Implement RtlCaptureStackBackTrace and RtlWalkFrameChain and add definitions to ntifs.h
- Get rid of KeRosGetStackFrames and replace usage by RtlWalkFrameChain or RtlCaptureStackBackTrace, depending.
- Remove this entry from Kernel Fun.

svn path=/trunk/; revision=23795
2006-08-30 06:52:10 +00:00
Alex Ionescu a9bb1c6668 - Add about two dozen new bugcheck codes and strings.
- Major cleanup of exp.c to move out deprecated and old code.
- Use KdDebuggerNotPresent to determine if KDBG is there or not. KdDebuggerEnable is now set whenever booting with debugging -- even if only serial port or screen debugging.
- Complete cleanup and major rewrite/improvement of bugcheck code:
  - Moved stack dump routines to bug.c and cleaned them up. Next step is to remove most of them and implement them properly as part of RtlCaptureStackBackTrace and RtlWalkFrameChain.
  - Use InbvDisplayString for everything now. BSODs will only truly show on screen. (however, part of the KeBugCheckWithTf improvements, a special "if debugger enabled" BSOD will also be displayed for debugging purposes).
  - Do checksum calculation in bugcheck callbacks.
  - Detect and display which drivers belong to which EIP.
  - Implemented code to select the proper verbose BSOD message depending on the bug check code.
  - Also implemented code to detect a variety of "known" bug check codes and to recover more data on them, and/or modify them accordingly. Sadly ROS doesn't yet make use of most of these codes.
  - Factored out and split some code into individual routines.
  - Look and functionality is now identical to Windows XP.
  - Stack trace will only be shown if KDBG isn't connected. If KDBG is connected you can do "bt" anyway (which is more powerful).

svn path=/trunk/; revision=23794
2006-08-30 05:22:56 +00:00
Alex Ionescu 655e78f3cc - Jesus Christ... will Hell freeze over before someone finally listens and implements a proper PE loader in Freeloader?
svn path=/trunk/; revision=23793
2006-08-30 01:22:41 +00:00
Hervé Poussineau ab77204ef9 Implement RegNtPreEnumerateValueKey/RegNtPostEnumerateValueKey registry callbacks.
Add missing callbacks in some paths
Fix a few typos

svn path=/trunk/; revision=23792
2006-08-29 23:01:52 +00:00
Brandon Turner 7b27e1c573 Better rand() implementation. This should fix the problem where you get 0 every time you use rand()
svn path=/trunk/; revision=23791
2006-08-29 22:27:48 +00:00
Magnus Olsen 0a5a03e8d1 found more inline asm.
1. move all inline asm to folder i386
2. to do : seh.s should be rewrites to intel syntax 
3. to do : almost all c files in folders i386 need be convert to true asm instead using inline asm 
4. add dection for x86 arch in rbuild for each found I have done 


svn path=/trunk/; revision=23790
2006-08-29 19:14:18 +00:00
Magnus Olsen d43aed9f5c Audult : code is from djgpp most of it, ReactOS own code is like two line long
svn path=/trunk/; revision=23789
2006-08-29 19:10:12 +00:00
Magnus Olsen f4b5816b23 [Audut] clean, after locking at the header I can see clear they comes from wine/djgpp with small changes in some headers that is ros specify.
svn path=/trunk/; revision=23788
2006-08-29 18:31:06 +00:00
Magnus Olsen 40e426cce5 Detect i386 asm code for setjump (we only have one asm version I add arch dections for it in rbuild
svn path=/trunk/; revision=23787
2006-08-29 18:03:24 +00:00
Magnus Olsen 3c0cd4da37 1. Rewote atan.c to pure asm
2. Rewote log10 to pure asm
3. Delete unuse c/asm files like ceil, cos, fabs, flor, sin, sqrt, and tan 
4. Switch to rtl asm version of pow 
5. Follow need be convert to asm atan2, exp, fmod, ldexp
6. Follow need c version  atan2, exp, fmod, ldexp, atan, log10, pow
7. Add i386 arch dections in rbuild for asm/inline asm so we using only i386 asm on x86 cpu 
 

svn path=/trunk/; revision=23784
2006-08-29 17:51:13 +00:00
Alex Ionescu 8453270af7 - Implement GetSideSidFromToken. Patch by Grzegorz Jaśkiewicz.
svn path=/trunk/; revision=23781
2006-08-29 15:22:53 +00:00
Magnus Olsen ae4f64c515 Copied remotely
svn path=/trunk/; revision=23780
2006-08-29 15:08:14 +00:00