Commit graph

38316 commits

Author SHA1 Message Date
Johannes Anderwald 76ec995125 - Start Implementing IKsPin interface
- Increment PinInstanceCount when a pin has succcessfully been created
- Implement KsPinAcquireProcessingMutex, KsPinGetConnectedPinDeviceObject, KsPinGetConnectedFileObject, KsPinGetConnectedPinInterface, KsPinGetNextSiblingPin, KsPinGetParentFilter, KsPinRegisterFrameReturnCallback, KsPinRegisterHandshakeCallback, KsPinRegisterIrpCompletionCallback, KsPinRegisterPowerCallbacks, KsPinReleaseProcessingMutex
- Initialize pin dispatch table
- Add create items for allocator, clock, node create requests
- AVStream clients should now be able to instantiated pins, streaming not yet supported

svn path=/trunk/; revision=42283
2009-07-29 09:48:36 +00:00
Johannes Anderwald c0e19ca77b - Add KsGetNextSibling, KsFreeObjectBag
svn path=/trunk/; revision=42282
2009-07-29 09:33:40 +00:00
Stefan Ginsberg 43f03aef8a - Fix 41969 -- the wrong flag got set, creating a broken, unusable debug object. Please make sure you know basic C before trying some clever optimization. Debuggers should now work again...
svn path=/trunk/; revision=42280
2009-07-28 21:48:49 +00:00
Johannes Anderwald 3bf37964b7 - Implement KsAcquireControl, KsReleaseControl
- Add create item for creation of pins and topology nodes
- Implement pin creation handler

svn path=/trunk/; revision=42279
2009-07-28 19:32:22 +00:00
Johannes Anderwald 52e5cc0ba2 - Copy Filter descriptor for each instantiated filter
- Implement KsFilterAddTopologyConnections, KsFilterCreatePinFactory

svn path=/trunk/; revision=42278
2009-07-28 18:38:13 +00:00
Johannes Anderwald 5372462044 - Implement KsFilterAcquireProcessingMutex, KsFilterReleaseProcessingMutex, KsFilterGetChildPinCount, KsFilterRegisterPowerCallbacks, KsGetFilterFromIrp
svn path=/trunk/; revision=42277
2009-07-28 17:01:36 +00:00
Johannes Anderwald fc288c23fc - Add KsPinGetParentFilter prototype
svn path=/trunk/; revision=42276
2009-07-28 16:42:36 +00:00
Johannes Anderwald 64fa3b028f - Implement KsGetObjectFromFileObject, KsGetObjectFromFileObject, KsGetObjectTypeFromIrp, KsGetParent
- Create object bag for IKsFilter, IKsFilterFactory and IKsDevice

svn path=/trunk/; revision=42275
2009-07-28 16:18:05 +00:00
Johannes Anderwald ca60ae56c0 - Implement KsGetObjectFromFileObject, KsGetObjectFromFileObject, KsGetObjectTypeFromIrp, KsGetParent
svn path=/trunk/; revision=42268
2009-07-28 13:52:57 +00:00
Johannes Anderwald 5e12a7edb1 - Implement KoDriverInitialize, KoDeviceInitialize
- Fix storing of device descriptor in KsInitializeDriver, KsAddDevice

svn path=/trunk/; revision=42264
2009-07-28 10:22:02 +00:00
Aleksey Bragin 88c914b528 - Fix a regression introduced in 40710, which caused all machine-specific memory regions to be concatenated into one big LoaderSpecialMemory. Restore previous behaviour by properly matching Arc and bootloader memory types.
svn path=/trunk/; revision=42263
2009-07-28 10:00:58 +00:00
Ged Murphy 7de1640e35 winsock2.h should come before windows.h
svn path=/trunk/; revision=42257
2009-07-27 19:42:05 +00:00
Johannes Anderwald dd0ab576f9 - Implement KsReferenceBusObject, KsReferenceSoftwareBusObject, KsDereferenceSoftwareBusObject, KsDereferenceBusObject
svn path=/trunk/; revision=42256
2009-07-27 18:40:50 +00:00
Johannes Anderwald b3ea37e803 + portcls
+ ks
- ws2help_new

svn path=/trunk/; revision=42255
2009-07-27 18:18:20 +00:00
Johannes Anderwald aaf60514ff - Remove DriverEntry as ks is kernel mode dll
- Implement KsGetImageNameAndResourceId, KsMapModuleName

svn path=/trunk/; revision=42254
2009-07-27 16:17:24 +00:00
ReactOS Portable Systems Group 1cc5142060 - Remove dead (uncalled) function.
svn path=/trunk/; revision=42253
2009-07-27 02:23:25 +00:00
ReactOS Portable Systems Group 3e04cabe4e - Create a double-mapping PTE for the shared user data region and fault it in whenever a process touches that address.
- Remove the old hack which used the PCR's page frame number to create a fake PTE each time to reference it, basing on the fact that the shared user data region was on the same page as the PCR on certain architectures.

svn path=/trunk/; revision=42252
2009-07-27 02:13:19 +00:00
ReactOS Portable Systems Group 059da34e93 - Create \dev\physmem section during section initialization, not later.
- Setup SharedUserData settings during Phase 0, not Phase 1. Fixes an old bug where the Inbv driver assumed ReactOS was in "server mode" simply because the default SharedUserData->NtProductType was "0" (which is an invalid product type, but it's != NtProductTypeNt).
  - Also fixed it such that this reports NtProductServer, which is what ReactOS reports to be (Windows 2003 Server SP 1).
- Initialize the modified page writer and balancer thread in phase 1, not phase 2.
  - Phase 2 should make the executive pageable, but I don't think this is supported yet...


svn path=/trunk/; revision=42251
2009-07-27 00:52:44 +00:00
ReactOS Portable Systems Group e754e12bd3 - Fix a ridiculous copy-paste-error-while-writing-the-commit-log error. Sorry for breaking the build!
svn path=/trunk/; revision=42250
2009-07-27 00:17:38 +00:00
ReactOS Portable Systems Group 5899e14bd1 - Delete the blaoted, overweight and slow nonpaged pool implementation.
- Plug-in support to use the ARM nonpaged pool instead.
- This patch has been tested for over 2 months and all known regressions were fixed.
  - Thanks to Aleksey Bragin for providing a pool regression suite.
  - Thanks to Aleksey Bragin for providing initial implementation details and code from older attempts.
  - Thanks to http://uninformed.org/?v=4&a=2&t=txt and http://www.dfrws.org/2008/proceedings/p58-schuster_pres.pdf for allocation strategies.


svn path=/trunk/; revision=42249
2009-07-27 00:14:56 +00:00
ReactOS Portable Systems Group 1eba02fc2f - Do not print out ReactOS nonpaged pool VA address range anymore, since it will be deprecated.
svn path=/trunk/; revision=42248
2009-07-27 00:11:39 +00:00
ReactOS Portable Systems Group 360720bdb6 - The old nonpaged pool statistic functions (TAB+xxx) in KDBG are incompatible with newer nonpaged pool implementation -- remove them.
- The NtQuerySystemInformation API's pool information levels provide the same information, when implemented properly.


svn path=/trunk/; revision=42247
2009-07-27 00:10:37 +00:00
ReactOS Portable Systems Group 8257a252cb - DebugPool implementation is not compatible with newer nonpaged pool algorithms, so remove support for nonpaged pool debugging.
- Special pool implementation will restore this functionality.

svn path=/trunk/; revision=42246
2009-07-27 00:09:09 +00:00
ReactOS Portable Systems Group a6757c9637 - Implement the algorithms for pool allocation and de-allocation:
- Only tested/works with nonpaged pool for now.
  - No support for session pool or special pool.
  - No support for pool tagging.
  - No support for accounting (free/available pages, etc).
  - No optimizations other than your average combine-with-previous-free and combine-with-next-free mechanisms to avoid fragmentation.
  - No support for debugging.
  - No consistency/validation checks.
  - Heavily commented for the inquiring mind.
  - Thread/MP safe.
- Not used yet.


svn path=/trunk/; revision=42245
2009-07-27 00:05:45 +00:00
Timo Kreuzer 250d69afc8 Sync to trunk head (r42241)
svn path=/branches/ros-amd64-bringup/; revision=42244
2009-07-26 23:21:27 +00:00
Timo Kreuzer e917c6e96d Some fixes for CLIENTINFO, based on symbol files
svn path=/trunk/; revision=42243
2009-07-26 22:57:05 +00:00
Timo Kreuzer 250737d475 [rbuild] Implement delay import support for gcc in rbuild.
As soon as you declare a library import with 
<library delayimport="true"> you will link to the autogenerated delayimportlib. This will currenlty not work without a patched version of dlltool.

svn path=/trunk/; revision=42242
2009-07-26 22:36:55 +00:00
Timo Kreuzer 3f10e1dc73 Fix 64bit compilation issues.
svn path=/trunk/; revision=42241
2009-07-26 22:34:03 +00:00
Timo Kreuzer 7e526ac7de Hey Arch, thanks for breaking other architectures...
svn path=/trunk/; revision=42240
2009-07-26 21:46:21 +00:00
Timo Kreuzer e17b565fc0 Add -Wno-format to dmusic
svn path=/branches/ros-amd64-bringup/; revision=42239
2009-07-26 20:35:05 +00:00
Timo Kreuzer f4a678a29a Fix some 64 bit isuues.
svn path=/branches/ros-amd64-bringup/; revision=42238
2009-07-26 20:31:23 +00:00
ReactOS Portable Systems Group 6182f013fe - Initialize MmLowestPhysicalPage to -1, otherwise setting this value will never work properly since we'll never find a page lower than 0 (the default laoder-initialized value).
- Fixed by Stef.


svn path=/trunk/; revision=42237
2009-07-26 19:44:27 +00:00
James Tabor c8b2a78d5b - At a minimum set the desktop to global class.
svn path=/trunk/; revision=42236
2009-07-26 16:57:34 +00:00
Stefan Ginsberg 25aa6b6a41 - Revert winbase.h interlocked intrinsic change for now *sigh*
svn path=/trunk/; revision=42235
2009-07-26 16:18:56 +00:00
James Tabor e0b7b058c3 - [Win32k] More Class work. Moved to use thread and process information structures.
- Tested wine, Firefox 1.15.xx and AbiWord 2.6.8.

svn path=/trunk/; revision=42234
2009-07-26 16:17:50 +00:00
Stefan Ginsberg c43cc84996 - Misc fixes for msvc:
- C89 compliance for "dbgprint"
- Fix more calling convention declarations in the DDK and gdi32
- Define noreturn attribute for crt's abort compatibly
- Fix some of the mess in psdk's intrinsics -- this needs some major clean up.
- Define DbgPrintEx the same way in debug.h as in NDK and DDK
- UUID doesn't need Wine-specific types -- include standard PSDK headers.

svn path=/trunk/; revision=42233
2009-07-26 15:36:35 +00:00
Dmitry Chapyshev 92a18fff94 - Use documented structure instead array
- Add some defines

svn path=/trunk/; revision=42232
2009-07-26 13:16:19 +00:00
James Tabor b163f7f34a - Fixed event code. Remove junk too.
svn path=/trunk/; revision=42230
2009-07-26 12:27:15 +00:00
Dmitry Gorbachev 1632e8b1db Silence a warning.
svn path=/trunk/; revision=42229
2009-07-26 09:55:46 +00:00
Dmitry Gorbachev 015656ff6d Silence a warning.
svn path=/trunk/; revision=42228
2009-07-26 09:52:27 +00:00
Dmitry Gorbachev 79b4bf14f7 Silence a warning.
svn path=/trunk/; revision=42227
2009-07-26 09:52:00 +00:00
ReactOS Portable Systems Group c417ef7e62 - Get rid of the concept and tracking of "mapped pages". The MapCount was never checked anywhere in terms of page accounting -- only the reference count is.
- Fix the issue with the system attempting to map page 0 into hyperspace.

svn path=/trunk/; revision=42226
2009-07-26 08:20:29 +00:00
Cameron Gutman 698ff57ea6 - Begin using ws2help_new
- I have tested this with various applications in ROS
 - Part 2 of 2

svn path=/trunk/; revision=42225
2009-07-26 06:00:32 +00:00
Cameron Gutman a619244941 - Remove our old ws2help in preparation for the transition to ws2help_new
- This will not build
 - Part 1 of 2

svn path=/trunk/; revision=42224
2009-07-26 05:51:30 +00:00
James Tabor 2c0294638d - [Win32k] Moving forward and replace some of the old header types with the new ones. This will continue and start the win32k object manager rewrite. Finding more bugs and this is still a work in progress. Run across the C_ASSERT bug. I see someone else noticed it.
- Finished the user32 system class proc start-up.
- Tested wine, Firefox 1.15.xx and AbiWord 2.6.8.

svn path=/trunk/; revision=42223
2009-07-26 01:59:08 +00:00
Timo Kreuzer c70b54758f Add hack for gnu ld like in mingw lib, as it uses _image_base__ insetad of __ImageBase
svn path=/trunk/; revision=42222
2009-07-26 00:22:57 +00:00
Stefan Ginsberg 31015fdb85 - Fix memory leak from r42218 ;0)
svn path=/trunk/; revision=42221
2009-07-25 22:19:45 +00:00
ReactOS Portable Systems Group 1093de04f2 - This is a HIGH RISK patch. It has been tested on multiple emulators and configurations but requires broader input.
- Implement several changes to PFN database management:
  - The PTEs for the PFN Database are now created by ARM3. Unlike the old code which create PTE for every page on the machine, ARM3 only creates PTEs to account for pages that should be in the PFN database.
  - A second related change is what "pages should be in the PFN database". Previously, reserved or otherwise non-existing (ie: holes) memory regions would get a PFN entry created and marked as "BIOS". This is wasteful and not compatible with Windows: there should not be PFN entries created at all.
    - So we removed BIOS PFN entries, and now only create PTEs for valid pages as listed in the physical memory ranges.
    - This allows machines with "holes" in their physical address space not to waste dozens of MBs of nonpaged pool
    - Also saves memory on regular machines too, since 1-4MB worth of memory will now not be in the DB anymore
  - To keep track of pages that are invalid/unknown/ignored, there is now a "PFN Bitmap". This bitmap has one bit set for each valid PFN in the database.
    - And so, MiGetPfnEntry now also validates that, if there is a PFN Bitmap, the requested PFN is actually present in the database.
  - This introduces a major functional change: device pages, reserved pages, and other BIOS pages cannot be referenced, shared, or managed in any meaningful way.
    - We have attempted to fix parts of the OS that depended on this, but there may still be bugs.
      - A known issue may be an assertion during reboot and/or shutdown in the hyperspace mapping function. It is currently safe to simply "cont" in the debugger a couple of times.
        - We are working on a fix.

svn path=/trunk/; revision=42220
2009-07-25 21:35:31 +00:00
Stefan Ginsberg fba1aea89e - RamdiskWorkerThread: Don't return IoCompleteRequest as we return void (IoCompleteRequest returns void though), msvc doesn't like this.
- Fix calling convention declaration for scsi function prototypes 

svn path=/trunk/; revision=42219
2009-07-25 20:24:50 +00:00
Stefan Ginsberg 45934cfbe5 - Fix most freeldr compilation issues, most notably:
- Define structure packing correctly for msvc.
- Define Ke386EraseFlags for msvc too.
- Don't return a function returning void in a function returning void.
- VideoFadeIn: Don't rely on some fishy gcc extension for allocating memory from the stack -- just use the heap instead.
- Winldr remains

svn path=/trunk/; revision=42218
2009-07-25 20:17:23 +00:00