Commit graph

59537 commits

Author SHA1 Message Date
Timo Kreuzer 400a2c65cf [RunTmChk]
- Implement _RTC_GetErrDesc, _RTC_SetErrorFuncW, add stubs for _RTC_NumErrors, _RTC_SetErrorType, _RTC_SetErrorFunc
- Implement _RTC_DefaultErrorFuncW which will be used, when no other error func was set
- Implement _RTC_InitBase, which will be called from _RTC_Initialize, and which in turn calls either _CRT_RTC_INITW, if CRT was linked, or a local _CRT_RTC_INITW0, which in turn will return the error function to use. This allows us to use a custom error function for all modules that link to (MSV)CRT. Only user32 does not really fit into here, since it uses the same startup code but does not link to MSVCRT.

[CRT]
- Call _RTC_Initialize from __main before initializing the global constructors, but fall back to a dummy _RTC_NoInitialize(), when RunTmChk.lib was not linked. Now we properly initialize both our own as well as MS RunTmChk lib.

svn path=/trunk/; revision=64816
2014-10-18 21:22:52 +00:00
Timo Kreuzer 91dd4cbea0 [FREELDR]
- Improve memory layout by moving the 32/64 bit stack to 0x7000-0xF000 and moving the BIOSCALLBUFFER up a bit. This gives us 56 KB additional space for freeldr itself. This allows to compile freeldr with /RTC1 (x86 only, the x64 version would get too big). And yes, it works.
- Implement FrLdrBugCheckWithMessage to get some useful messages on the screen and use it in MmCheckFreeldrImageFile
- Merge the .rtc section into the .text section, when we use RTC1
- Check the location of the Extended BIOS Data Area, add it to the memory descriptors and make sure we have enough space to put freeldr in. If the location of the EBDA is too low, print out a nice message on a blue screen :)

svn path=/trunk/; revision=64815
2014-10-18 21:12:12 +00:00
Hervé Poussineau 8325f695c5 [ACPI] Fix some traces
svn path=/trunk/; revision=64814
2014-10-18 21:09:31 +00:00
Hervé Poussineau 6cba55f89e [CMLIB] Add an assert to track potential registry corruptions
svn path=/trunk/; revision=64813
2014-10-18 21:08:40 +00:00
Timo Kreuzer e1db75d329 [AMD64]
Fix build

svn path=/trunk/; revision=64812
2014-10-18 21:01:17 +00:00
Timo Kreuzer e80c501cf4 [FREELDR]
Apply proper indentation, no code change.

svn path=/trunk/; revision=64811
2014-10-18 19:01:53 +00:00
Amine Khaldi 423388ab06 [USER32]
* WINEMessageTypeNames is only used in a case wrapped inside #ifndef __REACTOS__.

svn path=/trunk/; revision=64810
2014-10-18 18:41:15 +00:00
Amine Khaldi 02c5aaa0bd [USER32]
* We're not using any debugging routines here.

svn path=/trunk/; revision=64809
2014-10-18 18:37:28 +00:00
Amine Khaldi 2864422049 [CMAKE/MSVC]
* Rename the lib to runtmchk. Really.
CORE-8626

svn path=/trunk/; revision=64808
2014-10-18 14:45:02 +00:00
Amine Khaldi df43f0f0a0 [CMAKE/MSVC]
* Use the runtime checks globally in ReactOS now, not just for user mode modules.
* We no longer need the MS support lib, as Timo kindly implemented one for ReactOS.
* Rename the lib to runtmchk.
[PSEH][CRT]
* Remove some constrictions to seh.s source files, we no longer need them.
[KERNEL32]
* We no longer need to explicitly link to the runtime checks lib.
[FREELDR][KEYBOARD][NTOS][SETUPLDR]
* Link to the runtime checks lib when this mode is enabled.
CORE-8626

svn path=/trunk/; revision=64807
2014-10-18 14:22:09 +00:00
Amine Khaldi ee8be36736 [BMFD]
* Use set_module_type() instead of the combination of set_entrypoint(), set_subsystem() and set_image_base().
* Remove the now redundant bugcodes dependency.
[FRAMEBUF_NEW]
* Remove redundant bugcodes dependency.

svn path=/trunk/; revision=64806
2014-10-18 14:16:54 +00:00
Amine Khaldi 9b9d883909 [FRAMEBUF_NEW]
* Use set_module_type() instead of the combination of set_entrypoint(), set_subsystem() and set_image_base().

svn path=/trunk/; revision=64805
2014-10-18 14:12:41 +00:00
Amine Khaldi 9f58c0ec69 [CMAKE]
* Fix inconsistencies around kernel mode dlls handling.

svn path=/trunk/; revision=64804
2014-10-18 14:09:11 +00:00
Hermès Bélusca-Maïto dcd0795cd0 [FAST486]: Implement a basic support for the Trap Flag.
svn path=/trunk/; revision=64803
2014-10-18 14:08:50 +00:00
Amine Khaldi 9333ffdf62 [APITESTS/W32KDLL_*]
* Use set_module_type() instead of set_entrypoint().

svn path=/trunk/; revision=64802
2014-10-18 14:00:20 +00:00
Amine Khaldi 2ebfae067a [CMAKE]
* Let the minimum required CMake version be 2.8.12 so that *cough* people with old RosBE would be warned to update it! (I'm looking at you, Arch).

svn path=/trunk/; revision=64801
2014-10-18 13:13:20 +00:00
Pierre Schweitzer e2a846bea8 [NTFS]
Bugfixing... Part 5/X:
- Actually, we don't care about the name in the file index. We don't need it to read the data attribute, it's unnamed. And the returned name was buggy (this still needs work though)
- When we are getting a file record which is a directory, there is NO data attribute. Don't attempt to read it. This prevents failure on directory entry return.

These fixes enable NTFS directory listing in ReactOS!
Even though, more fixes are required. So far, the metadata of the files are kind of broken. Explorer seems to be unable to list files.
This keeps anyway being a major step forward, as this was totally impossible a month ago ;-).

For these willing to see NTFS in action in ReactOS: http://www.heisspiter.net/~Pierre/rostests/NTFS_listing.png

svn path=/trunk/; revision=64800
2014-10-18 12:18:37 +00:00
Kamil Hornicek 4a58f77497 [SHELL32]
- fix a copy paste error
CID 1101990

svn path=/trunk/; revision=64799
2014-10-18 10:33:49 +00:00
Thomas Faber 71451cf5dd [MOUNTMGR]
- Fix IsDriveLetter. CID 1206760.

svn path=/trunk/; revision=64798
2014-10-18 10:11:02 +00:00
Thomas Faber e383d6c605 [CDROM]
- Remove invalid frees. CID 511759.

svn path=/trunk/; revision=64797
2014-10-18 09:52:14 +00:00
Amine Khaldi c0e495f046 [CMAKE]
* Addendum to r64795.
* Also remove unneeded wine linking and ntdll importing.
* Remove redundant defines.

svn path=/trunk/; revision=64796
2014-10-17 23:29:24 +00:00
Amine Khaldi 2bdcf8789d [CMAKE]
* Make the minimum required version 2.8.
* Remove redundant psdk dependencies.
* Tidy up CMake files.

svn path=/trunk/; revision=64795
2014-10-17 23:28:29 +00:00
Hermès Bélusca-Maïto fd8e3415c8 [NTVDM]: simplify code and add a reference link concerning the CrtColorPaletteMask mask.
svn path=/trunk/; revision=64794
2014-10-17 22:27:34 +00:00
Pierre Schweitzer 60d3d2c399 [NTFS]
Bugfixing... Part 4/X:
- Fix a nasty bug in NtfsLookupFileAt() (how did it work before?). The name parsing was wrong (no progress was being made) and thus was leading to an infinite loop in directory browsing.
- Fix a lovely bug coming from a non-documented feature in NTFS. To properly read the MFT index, you've to apply a mask. Do this to properly handles MFT record. This fixes returned MFT index which allows resuse.
- Do not allow returning MFT records < 0x10 for now. Not sure whether it should be allowed, but so far, these are MFT special records, so let's forget about it. IIRC, they are available on Windows. But trying to chase another bug for the moment.

This does not fix yet directory enumeration.

svn path=/trunk/; revision=64793
2014-10-17 22:17:59 +00:00
Hermès Bélusca-Maïto f9ec8698fc [NTVDM]
- Use a helper function for copying little chunks of memory (1, 2, 4 and 8 bytes) because a profiling of ntvdm showed that especially 1 and 2 bytes of memory were read the most, and calling RtlCopy/MoveMemory for intensively copying 1 or 2 bytes was shown to be inefficient. We also don't use directly intrinsics/builtins because the compiler cannot know in advance the size of the memory to be copied, it cannot perform the required optimizations. It was checked that using the builtin-memcpy or memmove of GCC when compiling the program in release+full optimization mode just embedded a call to _memcpy, and naively using the movsX intrinsics of MSVC does not do the job of "moving" memory taking into account for the possible overlaps. Therefore, for small sizes (<= 8 bytes), we use copy assignments, whereas for large sizes (and for 3, 5, 7, 9+ bytes) we use the regular method of calling RtlMoveMemory. We gain ~=10% speed with this optimization.
- Also I use >> and & for dividing by 4 and 2 instead of the regular / and % operations because they are not optimized otherwise by default by MSVC (they are however, if you explicitely enable optimizations).

svn path=/trunk/; revision=64792
2014-10-17 22:08:51 +00:00
Amine Khaldi 44a73d10bc [CMAKE/KEYBOARD]
* Improve the way we handle keyboard layouts.

svn path=/trunk/; revision=64791
2014-10-17 20:41:58 +00:00
Sylvain Petreolle cab7763783 [EXT2FS]
Properly fix warnings on MSVC, introduced in r38302.
"- 'allowwarnings=true' -- not anymore", they said.
Advice by ThFabba.

svn path=/trunk/; revision=64790
2014-10-17 19:27:29 +00:00
James Tabor df36f5a015 [User32Test]
- Turn off tracking pop up menu tests. See CORE-8299.

svn path=/trunk/; revision=64789
2014-10-17 17:48:35 +00:00
James Tabor 1f5f256e01 [User32]
- Patch by Michael Müller : Also set cch member in GetMenuItemInfo when passing a null pointer.
- Fix two menu tests.

svn path=/trunk/; revision=64788
2014-10-17 16:43:46 +00:00
Kamil Hornicek adf80f6d59 [CMD]
- prevent a buffer underrun (fixes stray quotes being appended on autocomplete in some cases)
- check if the input string is not empty (fixes first file in directory getting skipped on autocomplete)
- fix some typos
CORE-8623

svn path=/trunk/; revision=64787
2014-10-17 16:39:54 +00:00
Aleksandar Andrejevic ec863ef510 [NTVDM]
Add an 8x14 font to the video BIOS.
Font data provided by Roy Tam.


svn path=/trunk/; revision=64786
2014-10-17 14:15:43 +00:00
Amine Khaldi c47d138515 [USER32_WINETEST]
* Sync with Wine 1.7.27.
* Jim! help!
CORE-8540

svn path=/trunk/; revision=64785
2014-10-17 13:49:22 +00:00
Amine Khaldi a0b621c3e4 [ADVAPI32_WINETEST]
* Sync with Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64784
2014-10-17 13:36:13 +00:00
Amine Khaldi d38402977a [PSDK]
* Add missing PROCESS_SET_LIMITED_INFORMATION and THREAD_RESUME.

svn path=/trunk/; revision=64783
2014-10-17 13:35:59 +00:00
Thomas Faber 74ea894067 [PING]
- Remove a broken "optimization"
CORE-7509 #resolve

svn path=/trunk/; revision=64782
2014-10-17 13:21:06 +00:00
Amine Khaldi 0854129ae9 [KDCOM]
* Use set_module_type() instead of combining set_entrypoint() and set_image_base().

svn path=/trunk/; revision=64781
2014-10-17 11:12:03 +00:00
Amine Khaldi 2e2fd94fa3 [CMAKE]
* Fix IMAGEBASE handling.

svn path=/trunk/; revision=64780
2014-10-17 11:10:47 +00:00
Amine Khaldi 3331eff2ba [LIBXML2]
* Update to v2.9.2.
CORE-8642

svn path=/trunk/; revision=64779
2014-10-17 10:58:01 +00:00
Thomas Faber e5a60cbf1b [NPFS]
- Arch, pool tags are specified in reverse order

svn path=/trunk/; revision=64778
2014-10-17 10:04:57 +00:00
Amine Khaldi 5a93a71d04 [WIN32K]
* Workaround for CORE-8525, CORE-6023, CORE-7735 and CORE-8635.
* Brought to you by V and Amine. Thanks to Timo and Jerome for the reviews.
CORE-8525 CORE-6023 CORE-7735 CORE-8635 #comment Please retest with r64777 or later.

svn path=/trunk/; revision=64777
2014-10-17 07:59:29 +00:00
Pierre Schweitzer 3fa669eddb [NTFS]
Bugfixing... Part 3/X:
- Really release the allocated memory in NtfsFindFileAt() and NtfsLookupFileAt(). Don't attempt to release caller pointer!

This fixes crashes on directory enumeration failure. Even though this latter still doesn't work.

svn path=/trunk/; revision=64776
2014-10-17 06:55:52 +00:00
Hermès Bélusca-Maïto 13b500f258 [FAST486]: Use psh/poppack.h here too.
svn path=/trunk/; revision=64775
2014-10-17 02:31:14 +00:00
Hermès Bélusca-Maïto a12d0f001f [FAST486]: rename some structs and use #include <pshpack/poppack.h> for portability purposes.
svn path=/trunk/; revision=64774
2014-10-17 02:29:48 +00:00
Hermès Bélusca-Maïto f9278312d9 [FAST486]: Do not call RtlCopyMemory for copying few bytes (2 and 4).
svn path=/trunk/; revision=64773
2014-10-16 21:48:18 +00:00
Thomas Faber 9bc2c3ba15 [NPFS]
- Don't return a canceled IRP from NpRemoveDataQueueEntry.

svn path=/trunk/; revision=64772
2014-10-16 21:43:03 +00:00
Pierre Schweitzer 104149a180 [NTFS]
Bugfixing... Part 2/X:
- Please welcome yet another structure in our NTFS driver... The INDX buffer which is used for non resident index entries. Doc (incomplete) here: http://bos.asmhackers.net/docs/filesystems/ntfs/INDX.html
- Make use of it in NtfsFindMftRecord() to replace some totally obscure code.
- Add some asserts to verify we read somehow what we expect. One of the assert is not working properly... Hum! Need to find out why.

We don't go any farther so far. Good news though: a FIXME has been replaced by another FIXME.
NB: This would deserve being ported to FreeLDR to fix the same FIXME.

svn path=/trunk/; revision=64771
2014-10-16 21:37:27 +00:00
Timo Kreuzer 08a4791b4a {NTOSKRNL]
Handle int 0x2c (assertion failure) in KDBG by breaking into the debugger instead of ignoring it and pretending it was handled. Now NT_ASSERT works on GCC builds as well. (As good as things work in KDBG...)

svn path=/trunk/; revision=64770
2014-10-16 21:33:32 +00:00
Jérôme Gardou 6b2a5b98f0 [TCPIP]
- Fix potential NULL pointer dereference

svn path=/trunk/; revision=64769
2014-10-16 20:15:33 +00:00
Jérôme Gardou e9067c2bda [INCLUDE/IDL]
- Properly mark some arguments as [out] only for wlansvc interface.

svn path=/trunk/; revision=64768
2014-10-16 20:15:26 +00:00
Jérôme Gardou cac835f291 [USERENV]
- Add proper stubs for GetAppliedGPOList[A,W]
CORE-8636

svn path=/trunk/; revision=64767
2014-10-16 20:15:13 +00:00