- fat.asm: remove trailing whitespace.
- fat32.asm: backport the fixes from fat32.S introduced a long time ago.
- fat32.S/faty.S: use .space 12, 0 instead of the long .byte array (generates the same code, but is better readable).
- isoboot/btrt: whitespace fix only.
svn path=/trunk/; revision=70432
Add another test for strlen, that tests, whether the direction flag in ELFAGS has been modified. While clearing it is legitimate to do according to the ABI, the native implementation does not change it, so we don't want to do it either.
svn path=/trunk/; revision=70429
- disable GCC builtins
- Add simple tests for strlen, showing that a NULL pointer will cause an access violation, which is broken in our asm implementation
svn path=/trunk/; revision=70427
[MSVCRT] Explicitly pull in _vsnprintf, bsearch and strcspn from CRT, to prevent the MS linker from exporting stubs from libntdll instead.
See CORE-10753
svn path=/trunk/; revision=70425
- Use the old fat.S source for compiling the FAT12 boot sector, until FATX.S is completely implemented.
- Fix an assembly error in FATX.S
- In comments I added experimental FAT12/16/32 targets based on Timo's FATX.S.
svn path=/trunk/; revision=70423
- Implement AbortSystemShutdownW by a call to BaseAbortSystemShutdown.
- Implement InitiateSystemShutdownW by a call to BaseInitiateSystemShutdown.
- Implement InitiateSystemShutdownExW by a call to BaseInitiateSystemShutdownEx.
- Add RPC binding code for the winreg server (in winlogon.exe).
svn path=/trunk/; revision=70420
SHUTDOWN: Fix the hack be calling InitiateSystemShutdownExW instead of ExitWindowsEx.
WINLOGON: Add a hack by calling ExitWindowsEx in BaseInitiateSystemShutdownEx.
svn path=/trunk/; revision=70419
Disable again the DR7 check until we correctly understand why bit 10 of DR7 (reserved) is almost always set (this lead to MSVC-built ReactOS crashing when being starting in non-debugging mode). See also r69244.
CORE-10165 #comment DR7 check again disabled in r70418.
svn path=/trunk/; revision=70418
For MSVC builds (using KDCOM kd64 WinDbg protocol): Bail out for droppable packets after a given number of retries, if no debugger is attached (list of droppable packets can be found in http://articles.sysprogs.org/kdvmware/kdcom.shtml section "KDCOM protocol", subsection "Droppable packets").
CORE-10541 #resolve #comment Finally fixed in revision r70417!
CORE-7106
svn path=/trunk/; revision=70417
Fix the value for EIP used by KDBG after an INT3 set by KDBG itself. The address is already fixed by KiDispatchException, but only in the context frame, not in the trap frame and KDBG insists to use the trap frame for a lot of things. Also, after a cont from such an int3, KDBG uses a single step to re-enable the breakpoint (it needs to disable it after it was hit to be able to execute the actual instruction), but it used to dismiss *any* single steps after that. So make sure, that an actual single step, as created by the debugger is not being dismissed, but the break point is still restored after the next single step entry. You might expect that a kernel debugger would at least support setting breakpoints, but this is KDBG.
svn path=/trunk/; revision=70416
- Change the start type to demand.
- Should stop free loader from throwing a tantrum because it can't load a non-existant boot driver
svn path=/trunk/; revision=70414
Correctly fix the definition of DRIVER_FS_NOTIFICATION (done the same way as the other DRIVER_xxx "callback" functions; by the way you'll notice they are all NTAPI aka. __stdcall. This is not explicitely mentioned in the W(D)DK, because MS supposes you compile all your kernel-mode code in stdcall convention, the WDK environment coming with preset default compiler switches enabling that. But if you try changing them, you'll run into big troubles. In our headers on the contrary we explicitely mention the calling conventions).
[FLTMGR]
Fix FltpFsNotification to adhere to the correct DRIVER_FS_NOTIFICATION definition.
Addendum to r70410.
svn path=/trunk/; revision=70413
Pass cjMaxBits parameter from GreCreateDIBitmapInternal to IntCreateDIBitmap and check the image size before creating the bitmap.
Should fix crash when hitting about tab in Office2000 WinWord.
CORE-10583 #comment please retest
svn path=/trunk/; revision=70412
- Add the beginning of the fltmgr. It's called rosfltmgr for now so I can test in Windows.
- It's currently just base code which registers for file systems appearing (or disappearing), and attaches itself to them and all other mounted devices in their chain.
- Although it builds (touch wood), don't add it to a running system. The IRPs aren't plugged in yet and it'll just bugcheck lower down the stack.
svn path=/trunk/; revision=70409
- Raise the IRQL when enumerating device lists so it doesn't get edited mid-listing
- Don't hardcode the pointer size when checking the buffer size
svn path=/trunk/; revision=70408
Save parameter registers (rcx, rdx) before calling CallRealMode. Patch by andy-123, applied to a secondary location by me.
CORE-10511 #resolve #comment Thanks. I added the same fix to PnpBiosGet below.
svn path=/trunk/; revision=70407
Hack, that fixes the "Volatile Environment" bug by deleting the "Volatile Environment" key before the user hive is unloaded.
CORE-10705
svn path=/trunk/; revision=70406
Do not use the "LoaderBlock->u.I386.CommonDataArea;" hack to use FreeLdr's DbgPrint function inside KDCOM, for the simple reason that while it works when KDCOM just initializes, the memory area where FreeLdr's DbgPrint function is, gets erased when ReactOS is running. As a result, all attempts to call the DbgPrint function when tracing something in KDCOM at the end of life of ReactOS, just fails lamentably (it hangs).
We therefore cannot rely on external code to provide us with DbgPrint. Instead, implement a very simple DbgPrint function inside KDCOM, as done by KDGDB.
The KD serial port serving for debugging KDCOM is chosen dynamically amongst the other free COM ports.
This needs to be also fixed in KDVM.
[KDGDB]
Instead of hardcoding the KD serial port number serving for debugging KDGDB, determine it dynamically amongst the other free COM ports.
svn path=/trunk/; revision=70405
- Allow to specify in freeldr.ini the debugging port parameters, similarly to what NTLDR allows to do: http://naesten.blogspot.fr/2010/07/undocumented-debug-section-in-bootini.html
- Update the FREELDR.INI example file to reflect these changes.
- Because some FreeLdr components, that need to be initialized before the debugging port parameters can be read from freeldr.ini, use debugging features, we still need to choose some default parameters. For serial ports, we select the possible port starting from COM4 down to COM1.
CORE-9023 #comment Revision 70403: Allow to specify a debugging port in freeldr.ini .
svn path=/trunk/; revision=70403
When the root item in the treeview is selected, remove all items from the listview and wipe the address bar and status bar.
svn path=/trunk/; revision=70402
- Improve implementation of RtlActivateActivationContextUnsafeFast / RtlDeactivateActivationContextUnsafeFast by replace magic numbers by flag values, which are already defined in rtltypes.h, and adding various debugging checks. Two of them are triggered for yet unknown reason:
* Assert in RtlActivateActivationContextUnsafeFast
* "Trying to activate already activated activation context"
They are commented out in trunk not to annoy everyone.
svn path=/trunk/; revision=70396
Initialize the defauls users locale settings based on the selected locale Id from first stage setup.
#CORE-5989 #resolve
svn path=/trunk/; revision=70389
Fix bugs in pen implementation:
- Do not use the x coordinate to adjust styles, instead they start where the lines start
- Don't leak allocated styles
- Make sure the PEN fields are initialized correctly, even for BRUSHES, so that the destructor can do it's cleanup work
- Fix numerous parameter checks
gdi32_apitest:pen now shows 0 failures!
svn path=/trunk/; revision=70388
- Add french translation (not complete, but enough for now: only what can be currently displayed is translated).
- Don't hardcode the "History" item in the travel-log, but use the localized string. Use the hardcoded string *only* if loading the translation failed.
svn path=/trunk/; revision=70376
Fix hebrew "registry editor" translation.
[SHORTCUTS.INF]
Fix regedit shortcut name (localize it instead of using "regedit")
svn path=/trunk/; revision=70373