Victor Perevertkin
582ca68696
[NTOS:PNP] Improve and refactor PnP notifications
...
- BUGFIX: do not call IoGetRelatedTargetDevice while guarded mutex is acquired
(the function issues an APC, but they are disabled inside a critical section)
- BUGFIX: only the beginning of a structure for GUID_PNP_CUSTOM_NOTIFICATION was copied and queued.
Just pass it as-is to a subscriber, without copying
- Don't convert event GUID to string, store and compare GUID struct itself
- Split IopNotifyPlugPlayNotification into 3 functions for each type of notification
(less stack usage and for future changes)
- Move initialization code for notifications into a separate routine
- Use separate lists and locks for every type of notification
- Put "TargetDeviceChange" notifications into their place inside DEVICE_NODE
2020-12-05 22:25:40 +03:00
Victor Perevertkin
e3198fb644
[NTOS:PNP] Check if APCs are enabled before waiting inside IopSynchronousCall
2020-12-05 22:25:39 +03:00
Victor Perevertkin
9eafb2971f
[NTOS:CONFIG] Comment out the assertion until fixed
...
CORE-17263
2020-12-05 22:17:08 +03:00
Jérôme Gardou
0db79d4aa9
[NTOSKRNL:FSRTL] Fix memory corruption when pruning tunnel cache
2020-12-04 16:08:14 +01:00
Thomas Faber
828d5fa93e
[NTOS:IO] Reduce stack usage in IopLoadServiceModule. CORE-17215
2020-11-27 12:44:35 +01:00
Thomas Faber
2858ff53ce
[NTOS:KD] Avoid large stack buffer in KdpPrint. CORE-17215
2020-11-27 10:31:45 +01:00
Thomas Faber
ae1d272add
[NTOS:PNP] Avoid recursion in IopTraverseDeviceTree(Node). CORE-17215
2020-11-27 10:31:41 +01:00
Hervé Poussineau
1a3c607f53
[NTOS:KD] Change the way we detect if exception if from KernelMode/UserMode
...
CORE-17381
2020-11-22 18:17:59 +01:00
Hervé Poussineau
44c6df4b27
[NTOS:KD] Correctly define previous mode when entering KDBG (addendum to 0c76bbfe98
)
2020-11-17 14:23:36 +01:00
Jérôme Gardou
9e7071e8fb
[NTOSKRNL] DO not disable optimisations when compiling with CLang
2020-11-16 16:58:10 +01:00
Jérôme Gardou
e00922a0fe
[NTOSKRNL] Link memcmp to the import lib when using CLang
...
CLang performs some optimisations on e.g. strcmp, but memcmp is not exported by ntoskrnl
2020-11-16 16:58:10 +01:00
Hervé Poussineau
d6d5caec7c
[NTOS:KD] Move some KDBG-specific variables to KDBG-specific file
2020-11-16 08:55:04 +01:00
Hervé Poussineau
0c76bbfe98
[NTOS:KD] Merge KdpReportExceptionStateChange() with kd64 version
2020-11-16 08:55:04 +01:00
Hervé Poussineau
baa47fa5e0
[NTOS:KD] Use a PCONTEXT instead of a PKTRAP_FRAME in KDBG
2020-11-16 08:55:03 +01:00
Hervé Poussineau
ba37323a62
[NTOS:KD] Move some declarations where they belong
2020-11-16 08:55:03 +01:00
Hervé Poussineau
67e9cc00b2
[NTOS:KD] Remove useless define
...
KdbEnterDebuggerException() is only called when KDBG is defined.
2020-11-16 08:55:03 +01:00
Hervé Poussineau
95faf65ebf
[NTOS:KD] Remove useless variables/members
...
Those where only set and never read.
2020-11-16 08:55:03 +01:00
Hervé Poussineau
8d3a395101
[NTOS:KD] Remove Bochs port debugging
...
You can use serial port debugging instead.
2020-11-16 08:55:03 +01:00
Hervé Poussineau
8a62f277d8
[NTOS:KD] Remove useless implementation of BREAKPOINT_PRINT in KdSystemDebugControl
...
This is (as expected) handled in KdpTrap(), which also calls KdpPrint().
2020-11-16 08:55:03 +01:00
Hervé Poussineau
1eda7d7e99
[NTOS:KD] Merge KdpReportCommandStringStateChange() with kd64 version
2020-11-16 08:55:03 +01:00
Hervé Poussineau
6f7835d30c
[NTOS:KD] Merge KdpReportLoadSymbolsStateChange() with kd64 version
2020-11-16 08:55:03 +01:00
Hervé Poussineau
e31be4ec25
[NTOS:KD] Merge KdEnableDebuggerWithLock()/KdDisableDebuggerWithLock() with kd64 version
2020-11-16 08:55:03 +01:00
Hervé Poussineau
ebb6f29e69
[NTOS:KD] Merge KdEnterDebugger()/KdExitDebugger() with kd64 version
2020-11-16 08:55:03 +01:00
Hervé Poussineau
81b184741d
[NTOS:KD] Remove useless uses of _WINKD_
2020-11-16 08:55:03 +01:00
Hervé Poussineau
329b9fa2fb
[NTOS:KD] Merge KdpReport() with kd64 version
2020-11-16 08:55:03 +01:00
Hervé Poussineau
a8662c73a5
[NTOS:KD] Merge KdpTrap() with kd64 version
2020-11-16 08:55:03 +01:00
Hervé Poussineau
5730394bd0
[NTOS:KD] Merge KdpPrintString()/KdpPromptString() with kd64 version
2020-11-16 08:55:03 +01:00
Hervé Poussineau
d5fe15e5e6
[NTOS:KD] Merge KdpStub with kd64 version
2020-11-16 08:55:03 +01:00
Hervé Poussineau
c2946ced92
[NTOS:KD] Remove some now useless tests on _WINKD_
2020-11-16 08:55:03 +01:00
Hervé Poussineau
660948ce6f
[NTOS:KD] Merge some more functions with kd64
...
Functions are KdIsThisAKdTrap, KdUpdateDataBlock, KdEnterDebugger,
KdExitDebugger, KdRefreshDebuggerNotPresent, KdDisableDebugger,
KdEnableDebuggerWithLock, KdEnableDebugger, KdSystemDebugControl
2020-11-16 08:55:03 +01:00
Hervé Poussineau
d0e2fada23
[NTOS:KD] Rename KdpEnterDebuggerException to KdpTrap + add KdpStub forwarder
...
This removes somes uses of _WINKD_ macro.
2020-11-16 08:55:02 +01:00
Hervé Poussineau
4d84c856ad
[NTOS:KD] Merge KdInitDebugger with kd64 version + move variable declarations to kd64/kddata.c
...
Remove now unused file kd/kdinit.c
2020-11-16 08:55:02 +01:00
Hervé Poussineau
777a2d94da
[NTOS:KD] Import KdpCallInitRoutine() into KdDebuggerInitialize1()
2020-11-16 08:55:02 +01:00
Hervé Poussineau
9b43a3a067
[NTOS:KD] Move implementation of banner display from each debug output type to common code
2020-11-16 08:55:02 +01:00
Hervé Poussineau
6025df33a5
[NTOS:KD] Make implementation of KdInitSystem more similar with the kd64 one
...
Move some kd initializations into KdDebuggerInitialize0() function.
2020-11-16 08:55:02 +01:00
Hervé Poussineau
f417a53743
[NTOS:KD] Compile all kd64 files in kdbg mode
2020-11-16 08:55:02 +01:00
Hervé Poussineau
e09554a06c
[NTOS:KD] Merge KdPowerTransition/KdChangeOption with kd64 version
2020-11-16 08:55:02 +01:00
Hervé Poussineau
453edbb5da
[NTOS:KD] Implement empty versions of KdDebuggerInitialize0/KdSendPacket/KdReceivePacket
...
Move KdDebuggerInitialize1 to common code.
Add #defines to local names to prevent clashes with kdcom.dll
2020-11-16 08:55:02 +01:00
Hervé Poussineau
b18529de28
[NTOS:KD] Merge KdPollBreakIn() with kd64 version
2020-11-16 08:55:02 +01:00
Hervé Poussineau
1bee6bb8f3
[NTOS:KD] Remove invalid configuration (not _WINKD_ on amd64)
...
This was not working, as the file ntoskrnl/kd/amd64/kd.c was non-existent.
2020-11-16 08:55:02 +01:00
Hervé Poussineau
458f4edfd5
[NTOS:KD] Remove 'support' for Pice. It was only setting a flag.
2020-11-16 08:55:02 +01:00
Hervé Poussineau
0e391eecd1
[NTOS:KD] Remove GDB stubs
...
drivers/base/kdgdb/ should be used instead.
2020-11-16 08:55:02 +01:00
Hervé Poussineau
083cf05f7b
[NTOS:KDBG] Remove useless file
2020-11-16 08:55:02 +01:00
Hervé Poussineau
129e009a2c
[NTOS:IO] Do not translate resources of type CmResourceTypeDevicePrivate
...
CmResourceTypeDevicePrivate resources are created the the bus driver, for its own later use,
when children devices will receive the IRP_MN_START_DEVICE.
Do not translate them, as they have no meaning outside bus driver.
2020-11-15 18:38:37 +01:00
Thomas Faber
507c442473
[NTOS:CM] Implement support for KeyValuePartialInformationAlign64. CORE-17358
2020-11-14 15:11:00 +01:00
Serge Gautherie
b910409a4a
[NTOS:KDBG] Add some missing OBJ_KERNEL_HANDLE
...
CORE-10207
2020-11-14 12:00:24 +01:00
Victor Perevertkin
d6ef8f97e9
[NTOS:PNP] Enumerate the device tree after loading boot drivers and HAL
2020-11-10 01:59:49 +03:00
Timo Kreuzer
e67b62251f
[NTOS:MM] Handle PXE/PPE gaps in MiDeleteVirtualAddresses
2020-11-07 20:16:41 +01:00
Timo Kreuzer
274bc4de1c
[NTOS:SE] Fix handling of relative security descriptors in SeQuerySecurityDescriptorInfo
2020-11-07 15:54:47 +01:00
Hermès Bélusca-Maïto
ce55fef1e5
[NTOS:EX] Move the C_ASSERT UUID_CACHED_VALUES_STRUCT.GuidInit to a better place, where the structure is defined.
2020-11-06 01:06:12 +01:00