- unify spec2def and add_importlib_target, thanks to cmake_parse_arguments.
- also generate stub files only when necessary.
- better precompiled header support, commented out as it wasn't tested on any other machine than mine, and it depends on cmake features which don't exist yet.
For now only for gcc toolchain
svn path=/trunk/; revision=52460
- Fix Zw-systemcall stubs on MSVC
- Fix systemcall return stubs on MSVC
-> MSVC kernel boots and usetup works!
Didn't test anymore, because there is a massive atapi debug spam
svn path=/trunk/; revision=52457
- Don't try to load referenced dlls in any other dir than system32. A second attempt would fail on the first dll that was already loaded and the function would bail out before any missing dll could be loaded. This worked only by chance on gcc builds, because the 1st import was bootvid, which was always loaded in the 2nd attempt from system32, and the function failed after that, since hal and kdcom were already loaded.
svn path=/trunk/; revision=52452
- The long awaited LDR rewrite, a commit for testing the new implementation. In case of serious problems it may be reverted (revert should be approved by me).
- Its features include:
* A proper ...everything. Process, thread initialization codes, DLL loading (including compatible path lookup, and compatible/proper loading order of the dependent DLLs, including their initialization) and mapping and section creation, reference counting, relocations, good and understandable PE code for walking import descriptor, snapping, etc etc. Hacks--; GoodCode++;
* Activation contexts operations are now being performed compatible to how Windows performs them (though the actual actctx implementation is still Wine's, it was modified to be compatible). Previously, actctx stuff was added to the ldr code like a pepper is added to the soup: in different places until it starts to work.
* Partial DLL redirection implementation.
* Possibility to support Shim engine and app compat stuff in future.
* More cool stuff, just browse the code.
- I fixed all regressions I could find but one (hang during shutdown of the 3rd stage). The purpose of this commit is to seek and destroy the regressions I couldn't find (if there are any).
- Some of the old rarely called ldr code still remains in startup.c and utils.c. They are subject to be rewritten/removed soon, and every remaining old function is marked with a respective DPRINT1 to see when it's being called.
svn path=/trunk/; revision=52446
- merge r52438
- Fail SIO_GET_EXTENSION_FUNCTION_POINTER
- Fixes the crash during ws2_32_winetest sock
[AFD]
- merge r52441
- Queue the user-mode connect IRP before calling TdiConnect to avoid a race if the TDI_CONNECT IRP is completed before we get a chance to queue the user-mode IRP to accept the connection
- Change the non-blocking TDI helper functions to always return STATUS_PENDING if the completion function will be called to avoid duplicate handling of IRPs
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52443
- Queue the user-mode connect IRP before calling TdiConnect to avoid a race if the TDI_CONNECT IRP is completed before we get a chance to queue the user-mode IRP to accept the connection
- Change the non-blocking TDI helper functions to always return STATUS_PENDING if the completion function will be called to avoid duplicate handling of IRPs
svn path=/trunk/; revision=52441
* Add a way to use WDK headers (psdk, crt and ddk) instead of ours. To use it, just alter USE_WDK_HEADERS in configure.cmd to be 1 instead of 0.
svn path=/trunk/; revision=52439
- Fail SIO_GET_EXTENSION_FUNCTION_POINTER
- Fixes the crash during ws2_32_winetest sock
- In my testing, "sock: 4374916 tests executed (0 marked as todo, 93 failures), 6 skipped."
svn path=/trunk/; revision=52438
- Fix copying of the remote address when satisfying an accept request
- accept() and WSAAccept() no longer report strange peer addresses
- Fixes a few ws2_32_winetest sock tests
svn path=/trunk/; revision=52437
- Lock the volume before formatting to prevent concurrent access during formatting
- This should (in theory) fix our formatting issue on mounted devices but currently we don't support FSCTL_LOCK_VOLUME in our FS drivers
svn path=/trunk/; revision=52435
Fix mshtml.tlb build with Visual Studio.
With mshtml_tlb and mshtml.tlb targets, the solution contained 2 mshtml_tlb targets.
svn path=/trunk/; revision=52433
Optimize KiSystemCallTrampoline inline assembly for MSVC. save one register, use eax for the handler address and don't assign to an intermediate variable before returning (hint by Alex)
svn path=/trunk/; revision=52430
- Hold on to the disconnect IRP until all pending sending IRPs are sent to the transport driver if a controlled disconnect was requested (merge of r52415)
[TCPIP]
- add some mroe debug statements to track new current sync problem
- remove some old debug statements that are useless now
[lwIP]
- add some mroe debug statements to track new current sync problem
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52424
- Register for asynchronous buffer notifications from oskittcp which will fire when a packet is sent
- Fixes sending pending packets that can't fit in the window and fixes the graceful shutdown hang
svn path=/trunk/; revision=52422
* Skip some modules that do not compile, in MSVC build.
* Welcome, MSVC BootCD. I'm sure ros devs will fix the s.it out of you.. Right ?
svn path=/trunk/; revision=52419
- Wait until the all pending sends are serviced before shutting down the socket on a graceful disconnect
- Cancel pending sends and receives on abortive disconnect
- Remove the nasty hack that was the completion queue and replace it with async completions like the lwIP implementation does
- There is a bug with the graceful disconnects which occurs if the graceful disconnect cannot be serviced immediately (a very rare case in my testing) and results in the shutdown() call stalling forever because oskittcp never indicates that send is possible again (which would allow pending send IRPs to be serviced and the shutdown IRP to be completed)
svn path=/trunk/; revision=52416