Commit graph

58501 commits

Author SHA1 Message Date
Jérôme Gardou 8eb28ac873 [WIN32K]
- Check the right variable for error condition

svn path=/trunk/; revision=64193
2014-09-18 14:26:59 +00:00
Timo Kreuzer bf6516577e [NTOSKRNL/AMD64]
Actually revert the change to KiRaiseAssertion, it was correct before

svn path=/trunk/; revision=64192
2014-09-18 14:10:41 +00:00
Timo Kreuzer e4d6f25157 [NTOSKRNL/AMD64]
- Fix trap flags in KiRaiseAssertion
- Add some asm debugcode

svn path=/trunk/; revision=64191
2014-09-18 14:06:31 +00:00
Jérôme Gardou 0d048c3e47 [WIN32K]
- Fix error handling in NtGdiPathToRegion

svn path=/trunk/; revision=64190
2014-09-18 13:27:02 +00:00
Jérôme Gardou 631f96a8a3 [WIN32K]
- Do not make callouts to user-mode while holding a lock on GDI objects.
Fixes crashes in user32_winetest:win and :msg

svn path=/trunk/; revision=64189
2014-09-18 13:26:55 +00:00
Jérôme Gardou 559bf96394 [USER32_WINETEST]
- Compile as a GUI app

svn path=/trunk/; revision=64188
2014-09-18 13:04:59 +00:00
Jérôme Gardou 85d90c9dff [WIN32K]
- Enable all debug channels if DEBUGCHANNEL is set to "+all".
 - Fix GDI objects exclusive locks counting, fixing a memory corruption altogether.
 - Add a missing lock release on error path.
 - Add a debug print.

svn path=/trunk/; revision=64187
2014-09-18 12:09:19 +00:00
Timo Kreuzer bcaee07f89 [RTL]
- Implement RtlpCloseRegistryHandle helper, which closes a registry key, if RTL_REGISTRY_HANDLE was not passed as RelativeTo
- Use RtlpCloseRegistryHandle whereever required, fixing some cases, where we unconditionally closed the handle

svn path=/trunk/; revision=64186
2014-09-18 10:39:54 +00:00
Hermès Bélusca-Maïto 7697e22142 [NTVDM]
- Add dummy INT 18h (ROM Basic) and INT 19h (Bootstrap loader) interrupts. If INT 18h will never be implemented, INT 19h can be used one day...
- Add the standard bootstrap code snippets at F000:FFF0 and F000:E05B.
- For compatibility purposes, and nice info reporting via tools like Microsoft Diagnostics, or Symantec SysInfo, or whatever else..., register nice BIOS Copyright and Version strings. Also add a version string at the end of the BIOS.
- Fix our reported BIOS model.
- Add some temporary documentation (from Bochs BIOS) about the ROM BIOS compatibility entry-points that some apps may use (instead of passing through more documented & standard interfaces).

svn path=/trunk/; revision=64185
2014-09-18 00:16:17 +00:00
Timo Kreuzer 549d7bbce6 [KERNEL32]
Update spec file with x64 specific functions

svn path=/trunk/; revision=64184
2014-09-17 22:54:06 +00:00
Hermès Bélusca-Maïto 981d39b0e5 [NTVDM]: Improve some dprints.
svn path=/trunk/; revision=64183
2014-09-17 21:22:04 +00:00
Jérôme Gardou 07607739ca [USER32]
- Delete region on error path.
[WIN32SS]
 - Improve/add a few debug prints.

svn path=/trunk/; revision=64182
2014-09-17 15:08:23 +00:00
Jérôme Gardou 65581fedb3 [UXTHEME]
- Allocate resources after the quick-return path

svn path=/trunk/; revision=64181
2014-09-17 15:08:13 +00:00
Jérôme Gardou 0ac46dd0d3 [WIN32K]
- Silence a forgotten and very noisy DPRINT.

svn path=/trunk/; revision=64180
2014-09-17 12:12:28 +00:00
Jérôme Gardou d87a241b25 [WIN32K]
- Return empty region in DceGetVisRgn if there is nothing to return.

svn path=/trunk/; revision=64179
2014-09-17 12:01:34 +00:00
Jérôme Gardou 00b90311f3 [WIN32K]
- Fix user-mode region attribute handling in IntGdiSetRegionOwner.

svn path=/trunk/; revision=64178
2014-09-17 11:40:21 +00:00
Jérôme Gardou 215e0d90a1 [WIN32K]
- Slap *a bit* of sense in the way we use region objects and handles, avoiding a massive orgy of handle allocations, locks, leaks and so on.
The motto here being "if you don't need a valid user-mode handle, then chances are that you don't need one at all."
CORE-8506 #resolve #comment Stale region handles should not be passed anymore to user-mode apps now.

svn path=/trunk/; revision=64177
2014-09-17 09:54:27 +00:00
Jérôme Gardou 726e4806e9 [GDI32]
- Fix up values got from win32k in GetOutlineTextMetrics and do not fail if the provided buffersize is only sizeof(OUTLINETEXTMETRICW).
CORE-8507 #resolve

svn path=/trunk/; revision=64176
2014-09-17 09:54:14 +00:00
Timo Kreuzer 725cca1c7f [NTDLL]
- Add Etw trace api stubs (moved from avdapi32)
- Add exports for Etw* functions

[ADVAPI32]
- Add forwarders of trace api functions to ntdll Etw* functions

svn path=/trunk/; revision=64172
2014-09-16 20:40:33 +00:00
Hermès Bélusca-Maïto a760af54a3 [NTVDM]: We can specify device "command" procedures for each PS/2 port so that when one writes to port 0x60, one can write to the correct device "plugged" into it (keyboard, mouse). modularity++;
svn path=/trunk/; revision=64171
2014-09-16 18:54:50 +00:00
Hermès Bélusca-Maïto 28b04f02e8 [NTOS]: Do not break into kdbg because PopFlushVolumes is not fully implemented. Fixes apparent BSOD when trying the "Hibernate" and "Stand By" options in the Task Manager.
CORE-8537 #resolve #comment Demote UNIMPLEMENTED_DBGBREAK for UNIMPLEMENTED in the non-implemented case of PopFlushVolumes. Fixes the apparent BSOD.

svn path=/trunk/; revision=64170
2014-09-16 18:43:16 +00:00
Eric Kohl 6342a92b28 [SAMSRV]
SampRemoveUserFromAllGroups:
- Do not treat a STATUS_MEMBER_NOT_IN_GROUP, returned by SampRemoveMemberFromGroup, as error but as success.
- Clear the Groups attribute at the end.

svn path=/trunk/; revision=64169
2014-09-16 10:32:04 +00:00
Hermès Bélusca-Maïto 0c86291749 [NTVDM]
- Move the mouse driver to DOS since it's our 32bit version of mouse.com, in some sense,
- Temporarily disable the mouse user callbacks because currently they went called in a parallel thread than the CPU one, that caused CPU corruption,
- In the same way we currently trigger IRQ1 interrupts, we do the same for IRQ12,
- Make the console input pump more modular (and mouse presence detection code is WIP),
- Put keyboard code into a dedicated file (as done for the mouse),
- Adapt the existing PS/2 emulation code to support two PS/2 ports controlled by 1 controller. Please note that some documentations precise that the response byte (answer to a PS/2 controller command) is written directly to the PS/2 output port.

svn path=/trunk/; revision=64168
2014-09-16 00:51:15 +00:00
Hermès Bélusca-Maïto 9c5062a147 [NTVDM]
- Code formatting and precise an info in a comment,
- Remove an unneeded commented call, and
- Mention that INT 15h functions C1h and C2h need to be implemented for PS/2 support.

svn path=/trunk/; revision=64167
2014-09-16 00:25:40 +00:00
Jérôme Gardou de914f2aed [KDGDB]
- As pid and tid 0 have a special meaning in GDB, use off-by-one thread and process ID when communicating with it
 - Properly read registers and memory from foreign thread and processes. (This time it was tested and proved to work reliably. __writecr3 ftw!)
 - Loop the list of processes and threads when trying to find them from ID, as PsLookupProessByThreadId and friends can't be used since we can be at any IRQL.
 - Add a few more debug prints to help diagnosing problems.
CORE-8531

svn path=/trunk/; revision=64166
2014-09-15 22:05:21 +00:00
Timo Kreuzer 000f227784 [hivesys.inf]
Fix a typo.

svn path=/trunk/; revision=64165
2014-09-15 21:42:47 +00:00
Timo Kreuzer 1d68dcce50 [ADVAPI32_APITEST]
- Fix linux build

svn path=/trunk/; revision=64164
2014-09-15 21:08:00 +00:00
Timo Kreuzer 445b0977bd [KSECDD]
- Implement Encrypt / DecryptMemory in KSecDD (it uses AES for 16 byte aligned sizes, and 3DES for 8 byte aligned sizes)
- Install KSecDD
- Actually use KSecDD for Encryption from advapi32

svn path=/trunk/; revision=64163
2014-09-15 21:05:38 +00:00
Timo Kreuzer 34f49b3d4b [ADVAPI32_APITEST]
- Add tests for RtlEncrypt/DecryptMemory

svn path=/trunk/; revision=64162
2014-09-15 21:04:03 +00:00
Daniel Reimer abaedf0591 [RAPPS]
Update Database for Kiel.
Add Foxit Reader to Database.

svn path=/trunk/; revision=64161
2014-09-15 20:10:09 +00:00
Eric Kohl dc213a3598 [BOOTDATA]
Set MaxSize and Retention for event logs.

svn path=/trunk/; revision=64160
2014-09-15 12:25:45 +00:00
Eric Kohl 23a11c7198 [EVENTLOG]
- Read MaxSize and Retention from the Registry when a new log file is created.
- Use ntdll file functions instead of their kernel32 counterparts.

svn path=/trunk/; revision=64159
2014-09-15 12:16:46 +00:00
Thomas Faber a28f3fc476 [HAL]
- Don't use svn:eol-style = native for PCI ids but then have the code expect CRLF. Should fix all devices being "Unknown device" on Unix builds.

svn path=/trunk/; revision=64158
2014-09-15 10:58:53 +00:00
Hermès Bélusca-Maïto 8d958c5efa [PSDK]: Fix some structure definitions.
svn path=/trunk/; revision=64157
2014-09-15 00:07:46 +00:00
Jérôme Gardou 6087abc76f [KDGDB]
- Fix an embarassing works-for-me but uncommited cast.
 - Add support for reading registers and memory from foreign threads. Highly experimental and nearly untested, use at your own risk.

svn path=/trunk/; revision=64156
2014-09-14 22:50:10 +00:00
Jérôme Gardou d4fd3a072f [DDK]
- Addendum to r64151
Complain on IRC, then complain on ros-dev, then steal fixes from your peers, then do as if nothing happened.

svn path=/trunk/; revision=64155
2014-09-14 22:41:27 +00:00
Jérôme Gardou 31965e9804 [KDGDB]
- Always pass down the result of gdb_receive_packet up to KD, so that it knows when a breakin packet was received. (CTRL-C) now works!
 - Generalize the use of the Send <-> ManipulateState callbacks for a better code reading.
 - Get the exception context as soon as it is thrown (instead of playing with the PRCB)
 - Improve the way we attach to GDB: on the first KD call, we set KdContext->ControlCPending so that KD throws an exception. That way we can first initialize our KD stuff, and then quietly attach to GDB
 - Implement the 'p' (get one register) GDB request.
GDB is now much more reliable.

svn path=/trunk/; revision=64154
2014-09-14 20:45:30 +00:00
Timo Kreuzer fe8e1d19fb [KSECDD]
- Fix a typo in KsecQueryFileInformation
- Implement missing ioctls in KsecDeviceControl
- Support METHOD_OUT_DIRECT for IRP_MJ_DEVICE_CONTROL
- Add stubs for KsecEn/DecryptMemory
[ADVAPI32]
- Use ksecdd to handle SystemFunction040 (RtlEncryptMemory) and SystemFunction041 (RtlDecryptMemory) (they still do nothing, but at least they do it in kenrnel mode now ;-))

svn path=/trunk/; revision=64153
2014-09-14 19:40:15 +00:00
Amine Khaldi 00ad9c4760 [XDK][DDK]
* Handle the rest of cases about the order of pragma and symbol declaration.

svn path=/trunk/; revision=64151
2014-09-14 15:49:35 +00:00
Amine Khaldi 3ff848136a [XDK][DDK]
* Addendum to r64148.

svn path=/trunk/; revision=64150
2014-09-14 15:40:37 +00:00
Amine Khaldi fd4c46b29c [MSI]
* Implement a correct CUSTOMPROC_wrapper wrapper for MSVC.

svn path=/trunk/; revision=64149
2014-09-14 15:31:58 +00:00
Amine Khaldi cc36d06006 [XDK][DDK]
* Work around what looks like a bug in GCC's handling of #pragma redefine_extname. Its behavior regarding additional underscore prefixes depends on the order of pragma and symbol declaration with GCC, while it's consistent with Clang. Brought to you by Thomas Faber, reviewed by Timo Kreuzer.
CORE-8516

svn path=/trunk/; revision=64148
2014-09-14 15:19:20 +00:00
Hermès Bélusca-Maïto 2f4bbc8355 [NTVDM]: Code formatting and add a warning about the usage of callbacks.
svn path=/trunk/; revision=64147
2014-09-14 14:59:20 +00:00
Jérôme Gardou dcade423c6 [KDGDB]
- It can happen that GDB issues something else than qsThreadInfo after qfThreadInfo
 - Properly clean up the callbacks after handling a custom Send/ManipulateState loop

svn path=/trunk/; revision=64146
2014-09-14 14:28:05 +00:00
Jérôme Gardou 38ca96eb96 [KDGDB]
- Improve the 'm' (read memory) gdb request

svn path=/trunk/; revision=64145
2014-09-14 14:27:58 +00:00
Jérôme Gardou 50d072fe6a [KDGDB]
- Add support for the qfThreadInfo GDB request

svn path=/trunk/; revision=64144
2014-09-14 14:27:44 +00:00
Timo Kreuzer 7d06aab495 [WIN32K]
Prevent NULL pointer dereference and fix a compiler warning

svn path=/trunk/; revision=64143
2014-09-14 12:33:03 +00:00
Sylvain Petreolle 54f2255f1d [BOOTDATA]
Install the mount manager.

svn path=/trunk/; revision=64142
2014-09-14 12:03:17 +00:00
Hervé Poussineau 13d49b8487 [MOUNTMGR] Activate it by default
svn path=/trunk/; revision=64141
2014-09-14 11:59:24 +00:00
Hervé Poussineau ec1d1d6087 [MOUNTMGR] Misc fixes
We're now able to do something and to not crash when receiving a device arrival notification.


svn path=/trunk/; revision=64140
2014-09-14 07:53:46 +00:00