Commit graph

48181 commits

Author SHA1 Message Date
Roel Messiant 1a7296bb39 [NTOSKRNL]
Disable normal APC delivery while acquiring/releasing a heap lock. Also, BOOLEAN != NTSTATUS.


svn path=/trunk/; revision=53729
2011-09-17 20:26:31 +00:00
Timo Kreuzer 2a158fc63b [NTOSKRNL]
Fix formatting, no code change

svn path=/trunk/; revision=53728
2011-09-17 20:01:55 +00:00
Daniel Reimer 0dfa657dea Update rapps Database
svn path=/trunk/; revision=53727
2011-09-17 13:58:45 +00:00
Eric Kohl dd81be1f25 [RTL]
Fix the overly complicated and buggy implementation of RtlIsDosDeviceName_Ustr based on the simple pre-r52687 implementation of RtlIsDosDeviceName_U. This fixes 14(!) wine tests.

svn path=/trunk/; revision=53726
2011-09-17 00:55:02 +00:00
Eric Kohl b2908d6d6f [RTL]
RtlGenerate8dot3Name: Ignore spaces in long file names instead of converting them to underscores.
See issue #6385 for more details.

svn path=/trunk/; revision=53725
2011-09-16 20:53:16 +00:00
Timo Kreuzer 826d8dedae [NTOSKRNL/AMD64]
- Implement KiApcInterrupt, KiDpcInterrupt and KiIpiInterrupt stubs
- Improve and cleanup stubs.c

svn path=/trunk/; revision=53724
2011-09-16 18:39:55 +00:00
Timo Kreuzer 6c8a335788 [NTOSKRNL/AMD64]
- Update the trap code to use the new macros and cleanup a little

svn path=/trunk/; revision=53723
2011-09-16 17:47:32 +00:00
Aleksey Bragin b4b9d26324 [FASTFAT]
- Don't check for leading "." char in a filename, because it's valid in case of LFN. The driver is already quite broken, so it can't get more broken if this assert is commented out.
Fixes assertion in "kernel32_winetest module".

svn path=/trunk/; revision=53722
2011-09-16 13:42:04 +00:00
Jérôme Gardou 606aa872f2 [WIN32K]
- syscalls are stdcall

svn path=/trunk/; revision=53721
2011-09-16 13:18:40 +00:00
Timo Kreuzer 331009e07d [NTOSKRNL/AMD64]
- Fix KiGeneralProtectionFault
- Don't bugcheck in KiUnexpectedInterrupt
- Remove debugprint in KiEndInterrupt, and instead assert, its called from the clock interrupt, since thats the only instance we handle right now

svn path=/trunk/; revision=53720
2011-09-16 09:46:08 +00:00
Timo Kreuzer 4dfa3c52a3 [HAL/APIC/AMD64]
- add common amd64 asm trap macros
- fix amd64 version of HackEoi
- send EOI in amd64 trap exit code, so we avoid using HackEoi
- modify HalpClockInterruptHandler for better portability
- fix amd64 TscCalibrationISR

svn path=/trunk/; revision=53719
2011-09-16 09:39:41 +00:00
Jérôme Gardou 52d89c3b87 [SHELL32]
- it's right there, use quotes to include it

svn path=/trunk/; revision=53718
2011-09-15 21:46:59 +00:00
Jérôme Gardou d8452f344b [REACTOS]
- wait patiently for rbuild going to Valhalla

svn path=/trunk/; revision=53717
2011-09-15 21:26:32 +00:00
Jérôme Gardou 757ab6e8d4 [REACTOS]
- get version.h and buildno.h out of precompiled headers, to avoid rebuilding the whole module each time we reconfigure the build

svn path=/trunk/; revision=53716
2011-09-15 21:03:39 +00:00
Jérôme Gardou b434a6b048 [CMAKE]
- start documenting reactos specific stuff.
Feel free to complete it :-)

svn path=/trunk/; revision=53715
2011-09-15 20:14:34 +00:00
Timo Kreuzer 89b75ad8b7 [NTOSKRNL/AMD64]
- Add portable kernel initialization code for amd64 only.
- Modify amd64 init code accordingly

svn path=/trunk/; revision=53714
2011-09-15 19:32:13 +00:00
Timo Kreuzer 3e2fddbe19 [CRT]
- Implement MSVC versions of call_copy_ctor, call_dtor, continue_after_catch, __CxxFrameHandler
- Fix amd64 versions of _control87 and _statusfp
- Fix MSVC and amd64 warnings

svn path=/trunk/; revision=53713
2011-09-15 17:11:53 +00:00
Thomas Faber 2fca6b111a [KMTESTS]
- MmSection: properly clean up on failure
- Some more x64 build fixing

svn path=/trunk/; revision=53712
2011-09-15 16:49:22 +00:00
Timo Kreuzer 8f6cfb2651 [HAL/APIC]
- Fix some stuff that gcc complains about. It doesn't like to use static data in non-static inline functions for some unknown reason.
- Implement support for level triggered interrupts, when using lazy irql

svn path=/trunk/; revision=53711
2011-09-15 11:34:21 +00:00
Timo Kreuzer b7e45abc51 [FREELDR]
- Improve List_PaToVa, making the code cleaner
- Dereference LoaderBlock->Extension only after WinLdrSetProcessorContext, since its in kernel address space

svn path=/trunk/; revision=53710
2011-09-15 11:27:27 +00:00
Timo Kreuzer 00502b9642 [FREELDR/HAL/NDK]
- Move some shared constants (HYPERSPACE_BASE, MM_HAL_VA_START, APIC_BASE) to NDK to avoid duplicating them, also fix wrong values for amd64
- Map the hal address space in amd64 freeldr
- Fix use of uninitialized variable (HighPart of PHYSICAL_ADDRESS) in HalpAcpiCopyBiosTable
- Fix some MSVC and amd64 warnings

svn path=/trunk/; revision=53709
2011-09-15 10:46:02 +00:00
Timo Kreuzer 679d1e828c [GDI32]
Improve GdiAllocBatchCommand formatting and fix MSVC warnings

svn path=/trunk/; revision=53708
2011-09-15 10:12:20 +00:00
Timo Kreuzer 19b8dfac16 [NTOSKRNL]
- Fix MSVC warning about signed/unsigned comparison.

svn path=/trunk/; revision=53707
2011-09-14 14:01:41 +00:00
Timo Kreuzer 16c957463f [SHELL32]
A DialogProc returns INT_PTR, not BOOL

svn path=/trunk/; revision=53706
2011-09-14 06:28:11 +00:00
Timo Kreuzer 57b01f1a06 [PSDK]
Use CHAR instead of char in STRRET structure (as documented in MSDN). Fixes compilation of shell32 with MSVC.

svn path=/trunk/; revision=53705
2011-09-13 21:20:46 +00:00
Timo Kreuzer a6a01dd912 [HAL]
Fix amd64 build

svn path=/trunk/; revision=53704
2011-09-13 14:44:47 +00:00
Timo Kreuzer ca9e3a9c67 [NTOSKRNL]
Fix a DPRINT

svn path=/trunk/; revision=53703
2011-09-13 13:28:49 +00:00
Amine Khaldi 3a93089ba7 [SHELL32]
* Merge r53700. Point 3 in bug 6481 was fixed by fixing the parser (at line 414) to use only ',' as the delimiter, to match Windows behavior.

svn path=/trunk/; revision=53702
2011-09-13 13:13:35 +00:00
Timo Kreuzer 744be47dde [NTOSKRNL]
Cleanup amd64/ke.h a bit, add KiUserTrap()

svn path=/trunk/; revision=53701
2011-09-13 13:12:38 +00:00
Timo Kreuzer 611d62ecb0 [NTOSKRNL]
Move x86 specific file trap_x.h into include/internal/i386

svn path=/trunk/; revision=53699
2011-09-13 12:53:50 +00:00
Eric Kohl 9c8386d2b6 [MSGINA]
- Call NotifyBootConfigStatus after a user has been logged-on successfully.
- Implement WlxIsLogoffOk.

svn path=/trunk/; revision=53698
2011-09-13 09:42:25 +00:00
Eric Kohl 5fe2e119f5 [MSPORTS]
Implement device removal.

svn path=/trunk/; revision=53697
2011-09-13 09:30:22 +00:00
Eric Kohl 3b374be2f7 [MSPORTS]
Implement ComDBResizeDatabase.

svn path=/trunk/; revision=53696
2011-09-12 14:24:24 +00:00
Timo Kreuzer d28eae967a [HAL]
Implement lazy irql for APIC. This is useful for VMs, since APIC usually has high overhead due to the need of invoking the hypervisor on every irql raise and lower. With lazy irql we avoid that until absolutely neccessary. Note that we misuse the PCR's IRR field to save the current hardware irql. Its a huge performance boost (some parts take half the time), making APIC performance close to PIC performance on VBox. This is something that Windows doesn't have :)

svn path=/trunk/; revision=53695
2011-09-12 09:46:20 +00:00
Cameron Gutman ff75ae1b72 [NTOSKRNL]
- Create a volatile device tree during 1st stage so the new HAL that's loaded in 2nd stage can do proper enumeration without phantom devices from the old HAL

svn path=/trunk/; revision=53694
2011-09-11 17:26:01 +00:00
Amine Khaldi 2817ba1e7e * Comment out some unused but set variables, remove some others.
* Allow warnings for some 3rd party code.

svn path=/trunk/; revision=53693
2011-09-11 16:56:56 +00:00
Cameron Gutman 15c8127658 [SCSIPORT]
- Remove a duplicate assignment

svn path=/trunk/; revision=53692
2011-09-11 15:40:01 +00:00
Amine Khaldi 6b9d48d482 * Comment out some unused but set variables, remove some others.
* Allow warnings for some 3rd party code.

svn path=/trunk/; revision=53691
2011-09-11 15:39:19 +00:00
Cameron Gutman 4076b77e1f [FREELOADER]
- Use a larger data type to iterate through the disk buffer to avoid an infinite loop with broken BIOSes

svn path=/trunk/; revision=53690
2011-09-11 15:32:15 +00:00
Cameron Gutman 5381c4af56 [WS2_32_NEW]
- Fix an error found by PVS Studio
[RAMDISK]
- Fix an error found by PVS Studio

svn path=/trunk/; revision=53689
2011-09-11 15:17:48 +00:00
Thomas Faber 758fe19cd0 [NTOSKRNL][RTL][DOC]
- Fix incorrect loop boundaries in the ARM version of MmCreateProcessAddressSpace. Spotted by Vincenzo Cotugno and cppcheck
- Correct outdated wineimport.cmd URL in README.WINE
- Assorted spelling and readability fixes

svn path=/trunk/; revision=53688
2011-09-11 11:47:28 +00:00
Thomas Faber 2b17fa159d [KMTESTS]
- Add support for guarded allocations, that can be used to detect buffer overruns
- Add GuardedMemory example test
- Add MmSection test with some basic parameter checks for MmCreateSection
- Fix some x64 build problems
- Update readme

svn path=/trunk/; revision=53687
2011-09-11 11:22:00 +00:00
Eric Kohl 0d4f432270 [SERVICES]
- Add optional asynchronous io code for service control pipes. This is disabled by default due to bugs in NPFS.
- Read service pipe timeout value from the registry.

svn path=/trunk/; revision=53686
2011-09-11 11:17:25 +00:00
Timo Kreuzer 1b9f1974ad [HAL]
- End the interrupt in HalpApcInterruptHandler and HalpDispatchInterruptHandler before calling the kernel, otherwise we would be stuck at high processor irql
- Improve HalEnableSystemInterrupt
- disable interrupts in HalpInitializeClock
=> APIC hal boots to desktop!

svn path=/trunk/; revision=53685
2011-09-11 09:34:50 +00:00
Timo Kreuzer 2aa7014184 [KDCOM]
Improve a debug print

svn path=/trunk/; revision=53684
2011-09-11 08:56:38 +00:00
Eric Kohl 36386adb24 [MUP]
Disable debug output.

svn path=/trunk/; revision=53683
2011-09-11 08:52:59 +00:00
Amine Khaldi f904ba5cf9 * Missed some assignments in debug.c.
* Add a dummy allow_warnings() for msvc build.

svn path=/trunk/; revision=53682
2011-09-11 00:44:13 +00:00
Amine Khaldi 0864fd08d6 * Comment out some unused but set variables, remove some others.
svn path=/trunk/; revision=53681
2011-09-11 00:40:20 +00:00
Amine Khaldi 4e616754a5 * Fix some more unused but set variables.
* Allow warnings for some 3rd party code.

svn path=/trunk/; revision=53680
2011-09-10 23:54:02 +00:00
Timo Kreuzer 680bdcf253 [NTOSKRNL]
The handlers for unexpected interrupts that we generate from asm macros use a push instruction with an 8 bit operand to push the interrupt number on the stack. Now the 8 bit push has the unfortunate behaviour of sign extending to 32 bit. But since the assembler is smart (or at least thinks so) it will not generate such a push instruction for values larger than 0x7f. This resulted in 7 bytes long stubs in the range of 0x30 .. 0x7f and 10 bytes long stubs after that. To fix this 128 is substracted from the value and later readded in the common code path. A second issue arose, because the assembler would start to use 8 bit relative short jumps as soon as the target was less than 127 bytes away, which happened for some of the higher interrupts, which then had a smaller stub then the others. Fix this by moving the stubs up in the code further away from the target label, so that always 32bit relative jumps will be used. These problems didn't show up so far, since we used the PIC and interrupts in the range of 0x30 .. 0x40 and the code that relied on the stubs all having the same length was working well. This changes with an APIC based hal, where interrupts of much higher number are likely to be used.

svn path=/trunk/; revision=53679
2011-09-10 23:05:10 +00:00