Commit graph

58417 commits

Author SHA1 Message Date
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
Hervé Poussineau 782d9efde7 [RAMDISK] Remove support for IOCTL_CDROM_GET_LAST_SESSION (useless since r64106)
svn path=/trunk/; revision=64139
2014-09-14 07:51:40 +00:00
Hermès Bélusca-Maïto 76a416c915 [NTVDM]: Implement few INT 33h (mouse) functions:
- For function 0Ah, we don't still support defining hardware cursor.
- Implement function 0Ch (define interrupt subroutine params), compatible MSMOUSE v1.0+
- Implement function 14h (exchange interrupt subroutines), compatible MSMOUSE v3.0+
- Implement function 18h (set alternate mouse user handler), that is the same thing as function 0Ch but for a set of maximum 3 handlers, compatible MSMOUSE v6.0+
- Implement function 19h (return user alternate interrupt vector) that returns the handler associated with a call mask, compatible MSMOUSE v6.0+
- Call all those handlers accordingly to their associated call mask, for mouse moves and mouse button presses.

svn path=/trunk/; revision=64138
2014-09-14 00:48:21 +00:00
Hermès Bélusca-Maïto fe68098da9 [NTVDM]
- Add DPRINTs to the DumpMemory function.
- Use a VgaSetActiveScreenBuffer function to change active screen buffers: it calls the SetConsoleActiveScreenBuffer API but also recreates the VDM console menus, because on windows custom console menus are per-screen-buffer, and not per-console, so that if you set menus when one screen buffer is activated, and if you change it, then your menus become unuseful because for this new active screenbuffer, they are not set. It's completely ridiculous but we need to live with that (on ReactOS we still don't have this behaviour).

svn path=/trunk/; revision=64137
2014-09-14 00:43:43 +00:00
Aleksandar Andrejevic 75c869d7b5 [NTVDM]
Implement motion counters in the mouse BIOS.


svn path=/trunk/; revision=64136
2014-09-13 21:50:23 +00:00
Hermès Bélusca-Maïto 7b9ecd8232 [NTVDM]: Return mouse information for INT 33h, AX=00h. Needed for apps that check for the mouse.
svn path=/trunk/; revision=64135
2014-09-13 20:37:56 +00:00
Hermès Bélusca-Maïto 1c4d9ec3f1 Fix a typo.
svn path=/trunk/; revision=64134
2014-09-13 20:18:02 +00:00
Aleksandar Andrejevic d15e766663 [NTVDM]
Implement mouse buttons and cursor positioning.


svn path=/trunk/; revision=64133
2014-09-13 15:32:07 +00:00
Timo Kreuzer 63143d1ab6 [PSEH3]
- Unregister frame before calling finally funtion in _SEH3$_AutoCleanup
- Restore full volatile register context for clang
- Don't clobber ebx in __SEH3$_RegisterFrameWithNonVolatiles (noticed by Thomas)
- Improve __SEH3$_InvokeEmbeddedFilterFromRegistration

svn path=/trunk/; revision=64132
2014-09-13 13:31:20 +00:00
Amine Khaldi cb89710974 [BOOTDATA]
* Add DX InstalledVersion key. By Lee Schroeder.
CORE-8530 #resolve #comment Committed in r64131. Thanks!
CORE-8461 #comment Please retest with r64131+

svn path=/trunk/; revision=64131
2014-09-13 08:52:28 +00:00
Timo Kreuzer 9199599d20 [NTOSKRNL]
Mark lowest pages of P0BootStackData and KiDoubleFaultStackData as read-only to prevent unnoticed stack-overflow. CORE-4380 #resolve

svn path=/trunk/; revision=64130
2014-09-13 08:24:03 +00:00
Aleksandar Andrejevic a475a70e24 [NTVDM]
Start implementing the NTVDM mouse BIOS driver.


svn path=/trunk/; revision=64129
2014-09-13 02:02:44 +00:00
Jérôme Gardou 836ae31c1d [NTOSKRNL/GCC]
- Use 0x00800000 as base address. This doesn't change anything (still loaded at 0x80800000) and it produces debug symbols that GDB can understand
[CMAKE]
 - Get back to using DWARF2 symbols. They are a lot bigger, but at least they work
Now GDB can be used to source-level debug ntoskrnl.

svn path=/trunk/; revision=64128
2014-09-12 22:56:22 +00:00
Jérôme Gardou 1bbea7c093 [KDGDB]
- Add a callback mechanism permitting to "simulate" KD send <-> receive loop without having to actually communicate to GDB
 - Use that to update the program counter when cont'ing a breakpoint
Now cont'ing an assertion failure is possible, since we actually get beyond the int 3 instruction

svn path=/trunk/; revision=64127
2014-09-12 20:23:08 +00:00
Thomas Faber 476ad09335 [PSEH3]
- Add missing C_ASSERTs

svn path=/trunk/; revision=64124
2014-09-12 10:43:50 +00:00
Thomas Faber 7849947ca5 [PSEH_TEST]
- Fix incorrect size in memcmp. Spotted by clang

svn path=/trunk/; revision=64123
2014-09-12 10:31:48 +00:00
Jérôme Gardou 9cc2b4e75c [KDGDB]
- introduce KDGDB, a KDCOM-like DLL, wrapping the KD protocol and the GDB remote protocol together.
It is not fully functional, but for now it permits source-level debugging in some modules. More will be added as I feel the need and find the time to work a bit more on it. (That is, unless an angel comes and resume the work)
To use it, set GDB and _WINKD_ to TRUE in your CMakeCache.txt. Using separate debug symbols is also a good idea.

svn path=/trunk/; revision=64121
2014-09-11 20:55:42 +00:00
Amine Khaldi b26a0236de [WIN32SS]
* Remove extraneous parentheses.
CORE-8516

svn path=/trunk/; revision=64120
2014-09-11 13:34:39 +00:00
Amine Khaldi e23636afda [WINEMP3.ACM]
* Link with mingwex.
CORE-8516

svn path=/trunk/; revision=64119
2014-09-11 13:24:10 +00:00
Amine Khaldi 76eee27b07 [SHELL32_APITEST]
* CLSID_MenuDeskBar is already part of the uuid lib.

svn path=/trunk/; revision=64118
2014-09-11 11:07:03 +00:00
Amine Khaldi 922aac9731 [WINMM_WINETEST]
* Addendum to r64114.
CORE-8516

svn path=/trunk/; revision=64117
2014-09-11 11:04:28 +00:00
Amine Khaldi b758e85060 [OLEAUT32]
* Link with mingwex.
* Fall back to gas with vartype.c until http://llvm.org/bugs/show_bug.cgi?id=19027 is fixed.
CORE-8516

svn path=/trunk/; revision=64116
2014-09-11 11:03:20 +00:00
Amine Khaldi 8a8c6273fc [INCLUDES]
* Define DECLSPEC_HOTPATCH to nothing until http://llvm.org/bugs/show_bug.cgi?id=20888 is fixed.
CORE-8516

svn path=/trunk/; revision=64115
2014-09-11 10:50:15 +00:00
Amine Khaldi db90bb6299 [CMAKE]
* Don't set -Wno-unused-but-set-variable until http://llvm.org/bugs/show_bug.cgi?id=20906 is fixed or the warnings are fixed upstream.
CORE-8516

svn path=/trunk/; revision=64114
2014-09-11 10:43:57 +00:00
Amine Khaldi d84558f23a [GLU32]
* Link with mingwex.
* Allow multiple definitions at link time because longjmp exists in both our msvcrt and mingwex.
CORE-8516

svn path=/trunk/; revision=64113
2014-09-11 10:13:05 +00:00
Hervé Poussineau 364fbd6cea [CDFS]
- Correctly decode address of first session, which now uses MSF format since r64106

svn path=/trunk/; revision=64112
2014-09-10 19:45:57 +00:00
Amine Khaldi 9cf026de3a [CMAKE/CLANG]
* Do not add PIC and PIE related flags.
CORE-8516

svn path=/trunk/; revision=64111
2014-09-10 19:00:53 +00:00
Amine Khaldi 63012a3b59 [WIN32SS]
* Remove unused CompareSpans().

svn path=/trunk/; revision=64110
2014-09-10 18:49:29 +00:00
Hervé Poussineau 2d5c0c6269 [NTOS:IO]
- Support creating new registry keys when registering new interfaces
- IoSetDeviceInterfaceState: do not try to parse symbolic link name, as symbolic link name is enough to open the right object
- IoSetDeviceInterfaceState: send the notification on the right interface when registering interfaces on devices already having an interface


svn path=/trunk/; revision=64108
2014-09-10 16:05:44 +00:00
Amine Khaldi e40fc3d65f [RICHED20]
* Fall back to gas with some source files until http://llvm.org/bugs/show_bug.cgi?id=19027 is fixed.
CORE-8516

svn path=/trunk/; revision=64107
2014-09-10 16:03:22 +00:00
Hervé Poussineau fa4b180304 [CDFS] Use IOCTL_CDROM_READ_TOC instead of IOCTL_CDROM_GET_LAST_SESSION, which is not always available
svn path=/trunk/; revision=64106
2014-09-10 16:02:02 +00:00
Amine Khaldi 37ff67c8fc [CMAKE/CLANG]
* Link mingwex when needed because having it globally won't do.
CORE-8516

svn path=/trunk/; revision=64105
2014-09-10 15:56:48 +00:00
Amine Khaldi 009e72443d [CMAKE/CLANG]
* Do not pass -mwindows when linking executables.
CORE-8516

svn path=/trunk/; revision=64104
2014-09-10 15:34:05 +00:00
Thomas Faber de2119ac36 [CONSRV]
- Fix MSVC build

svn path=/trunk/; revision=64103
2014-09-10 13:52:31 +00:00
Hermès Bélusca-Maïto e393b80e07 [REACTOS]
Merge back condrv_restructure branch with everything up to revision 64079 (and up for maintenance), that made console kernel32 & winsrv CSR structures Win2k3 compliant.
CORE-7931 #comment Merged back to trunk in revision 64102.
CORE-7481 #comment kernel32 / winsrv console CSR structures are Win2k3-compliant in trunk since revision 64102 (and since revision 64079 in the condrv_restructure branch, see CORE-7931 for more details).

svn path=/trunk/; revision=64102
2014-09-10 00:08:04 +00:00