Commit graph

37642 commits

Author SHA1 Message Date
Johannes Anderwald c2874dcc29 - Add types to unbreak build
- thanks dreimer

svn path=/trunk/; revision=42155
2009-07-23 14:18:22 +00:00
Johannes Anderwald 2227681545 - Add tons of stubs
- Add (existing) exported functions
- Ks mostly has now WinXP' ks exported functions

svn path=/trunk/; revision=42153
2009-07-23 13:13:45 +00:00
Cameron Gutman dff406bfd7 - Implement link speed and duplex detection
- Fix LED programming (we didn't set LEDPE so all our programming was ignored)
 - Add some other LED programming
 - Fixes bug 4703

svn path=/trunk/; revision=42152
2009-07-23 04:21:06 +00:00
James Tabor 194297c386 - [Win32k] More work on classes. Wine test drop to 35 failures from 52, now with the system class rewrite it is up to 42 failures. There is one User32 loaded so there is one User client Instance for this system. One System class per system not including Public (Global) or Private (Local) classes per process. Sorting continues.
- Tested wine (some improvements and losses), Firefox 1.15.xx and AbiWord 2.6.8.

svn path=/trunk/; revision=42151
2009-07-23 01:34:31 +00:00
Johannes Anderwald 1ad4db139c - Implement KsQueryObjectAccessMask, KsQueryObjectCreateItem
- Use KSQUEUE_SPINLOCK_IRP_STORAGE macro for access the stored spin lock

svn path=/trunk/; revision=42150
2009-07-23 00:47:21 +00:00
Johannes Anderwald db1215455b - Remove old irp queue implementation
- Implement KsCancelIo, KsReleaseIrpOnCancelableQueue, KsRemoveIrpFromCancelableQueue, KsRemoveSpecificIrpFromCancelableQueue, KsAddIrpToCancelableQueue, KsCancelRoutine

svn path=/trunk/; revision=42149
2009-07-23 00:13:04 +00:00
ReactOS Portable Systems Group 916f5b12a6 - Initialize the value of MmBootImageSize in ARM3 now.
- Also fix its value such that it's PDE aligned -- this makes sure that we don't step on any of the boot loader's PDE mappings and can blow everything away later.
- Initialize the MmSystem/User/Probe Addresses in ARM3 as well (no functional change).
- Print out a lot more of the VA ranges in ARM3's Phase 2 initialization. Most of the VA space is now dumped out.
- Write out the code to initialize session space VA ranges
  - Image space, view space, working set space and pool space values are all calculated properly.
    - NT default sizes are used, without support for registry overrides (yet).
  - Also system view space is initialized and sized.
  - Code is heavily commented and explained for inquisitive minds.
- Define the paged pool start address, minimum/default size, and add some extra pool header asserts/definitions.
- Define MmPagedPoolInfo to keep track of all paged pool related information (start/end PTEs, VA ranges, allocation/free bitmaps, etc).
- Fixed a lot of comments and added some new ones to provide extra clarity.
- Implement MiBuildPagedPool. It has two jobs:
  - Build and create the shadow system page directory, which double-maps the System process' PDE.
    - More explenations are in the comments.
  - Define the paged pool region and size, and initialize MmPagedPoolInfo accordingly.
  - Create and setup the paged pool allocation and free bitmaps (again explained in the comments).
- There shouldn't be any real functional change yet due to this commit.
  - We need to create memory areas for session space and system view space otherwise the VA regions could get used by ReactOS instead.


svn path=/trunk/; revision=42148
2009-07-22 22:46:29 +00:00
Johannes Anderwald 721b165dbb - Fix totally broken KSWORKER implementation (it may have worked, but it didnt do what it should have)
- Re-Implement KsQueueWorkItem, KsIncrementCountedWorker, KsDecrementCountedWorker, KsRegisterCountedWorker, KsUnregisterWorker, KsRegisterWorker

svn path=/trunk/; revision=42147
2009-07-22 21:27:44 +00:00
Johannes Anderwald f035e43e1e - Use KSSTRING instead of hardcoding object class
- Implement KsValidateAllocatorCreateRequest, KsValidateClockCreateRequest, KsValidateTopologyNodeCreateRequest

svn path=/trunk/; revision=42146
2009-07-22 19:08:57 +00:00
Johannes Anderwald ddf9f8aa58 - Add flags
- Revert 42107

svn path=/trunk/; revision=42145
2009-07-22 19:05:58 +00:00
Johannes Anderwald 3e489bf3af [KS]
- Rewrite KSCREATE_ITEM handling to support clocks, nodes, allocators. 
- Store create items in list instead of an array. Consequently, the code can be re-used for KSDEVICE_HEADER / KSOBJECT_HEADER functions. 
- Implement KsAddObjectCreateItemToObjectHeader
- Implement now KspCreate and IKsDevice_Create properly
- Implement KsGetDevice by using KSBASIC_HEADER struct which must be positioned before its object specific (PKSFILTER, PKSFILTERFACTOR, PKSPIN)
- Remove a hack from KspCreateObjectType
[PORTCLS]
- Store real dispatched object in FsContext2
- Implement a fast device i/o handler
- Increase minimum data threshold when a stream stops prematurely by 10 audio frames (port driver WaveCyclic)
- Remove the hack of checking wether pin create request is passed. Since create items now work nicely, use a different function and handle pin creation requests seperately.
[KMIXER]
- Remove the hack of checking wether pin create request is passed. Since create items now work nicely, use a different function and handle pin creation requests seperately.
[SYSAUDIO]
- Remove the hack of checking wether pin create request is passed. Since create items now work nicely, use a different function and handle pin creation requests seperately.



svn path=/trunk/; revision=42143
2009-07-22 14:42:51 +00:00
Matthias Kupfer 8497361513 fix a minor translation mistake
svn path=/trunk/; revision=42140
2009-07-22 12:11:56 +00:00
Aleksey Bragin a208c2340f - Add missing braces to prevent PVOID pointer arithmetic.
svn path=/trunk/; revision=42138
2009-07-22 11:15:34 +00:00
ReactOS Portable Systems Group 95688079e3 - Prettify PFN dump output (add totals for each consumer and page type).
svn path=/trunk/; revision=42132
2009-07-22 07:52:47 +00:00
ReactOS Portable Systems Group 23a2825b03 - Separe ARM3 Init into 3 defined phases:
- 1: No PFN Database exists
  - 2: PFN Database exists
  - 3: ReactOS NP Pool exists (deprecated)
- Cleanup ReactOS Mm init to work with this.
- ARM3 Phase 1 Init now uses pages directly from the physical memory descriptor.
  - This similar to how "MmAllocEarlyPage" used to work. 
    - A new function MxGetNextPage now does this.
    - MxGetNextPage can allocate more than just one page however (making it possible to get contiguous physical memory without going through the PFN-based MmAllocateContiguousMemory beast)
    - Also MxGetNextPage will bugcheck with INSTALL_MORE_MEMORY if it runs out of pages.
  - Renamed the physical memory descriptor variables to MxFreeDescriptor, MxOldFreeDescriptor instead of MiFreeDescriptor and MiOrgFreeDescriptor (based on NT symbols)
  - Nonpaged pool PDEs, PFN database PDEs, and initial nonpaged pool PTEs are now allocated through MxGetNextPage.
- Fix an off by one error in the sizing of MxPfnAllocation.
- The PFN database is now fully "owned" by ARM3 in terms of its PDE mappings and VA location at 0xB0000000.
  - ie. MmArmPfnDatabase is now MmPfnDatabase.
  - The actual PFN database entries and setup are still done by the ReactOS Mm.
- Got rid of ARM nonpaged pool allocator test.
- Repositioned ReactOS nonpaged pool (deprecated) after the boot image (used to be after the PFN database).
  - Paged pool follows.

svn path=/trunk/; revision=42131
2009-07-22 07:33:22 +00:00
James Tabor e3ef0343ba - [Win32k] Rename class and window structures.
svn path=/trunk/; revision=42130
2009-07-22 05:23:08 +00:00
James Tabor 9e5cbe0781 - Fix crash in wine test.
svn path=/trunk/; revision=42129
2009-07-22 04:26:35 +00:00
James Tabor 0485c0c365 - [Win32k] Update class and window structures.
- Rewritten Set/GetWindowContextHelpId.
- Removed NtUserRegisterClassEx, replaced it with NtUserRegisterClassExWOW.
- Updated all related files and functions.


svn path=/trunk/; revision=42128
2009-07-22 04:11:06 +00:00
Cameron Gutman 9144a1bbf6 - Don't fail the entire probe if something goes wrong when allocating a controller (this is what we do if _MULTI_UHCI is not defined also)
svn path=/trunk/; revision=42127
2009-07-22 02:20:24 +00:00
Cameron Gutman ab3c1cfd2c - Return the DEVICE_OBJECT we got instead of NULL
svn path=/trunk/; revision=42126
2009-07-22 02:06:50 +00:00
Cameron Gutman b63b5ba1fb - Fix compilation of usbdriver with _MULTI_UHCI defined
svn path=/trunk/; revision=42125
2009-07-22 01:47:27 +00:00
ReactOS Portable Systems Group 1f4bf9180e - Get rid of debug spew used during testing.
svn path=/trunk/; revision=42124
2009-07-21 20:04:17 +00:00
Aleksey Bragin 012c86a88f - Add cryptdlg as autosynced.
svn path=/trunk/; revision=42123
2009-07-21 19:00:08 +00:00
Dmitry Chapyshev badf1a329a - Revert my previous changes in QueueUserWorkItem
svn path=/trunk/; revision=42122
2009-07-21 16:38:50 +00:00
Sylvain Petreolle 15293b22aa Fix svn repository address
svn path=/trunk/; revision=42121
2009-07-21 15:51:27 +00:00
Sylvain Petreolle 2bd9e63884 - Update Module List
- Fix arguments check

svn path=/trunk/; revision=42120
2009-07-21 14:58:11 +00:00
Johannes Anderwald 4d14e675c2 - Update Module List
svn path=/trunk/; revision=42119
2009-07-21 13:53:20 +00:00
Sylvain Petreolle 4df2364dc6 fix includes case
svn path=/trunk/; revision=42118
2009-07-21 13:44:45 +00:00
Johannes Anderwald 4725a4fd9c - Rewrite KsDefaultDispatchPnp to make it actually work
- Implement KsDefaultDispatchPower, KsDefaultForwardIrp
- Return the correct device object in KsQueryDevicePnpObject
- Implement KsReadFile, KsSetInformationFile and partly KsQueryInformationFile
- Remove KspClose, KspRead, KspWrite, KspFlushBuffers, KspQuerySecurity, KspSetSecurity and all these IOCTL in KspDispatchIrp
- Rewrite KsDispatchIrp to handle IRP_MJ_CREATE & IRP_MJ_POWER, IRP_MJ_PNP for AV Stream minidrivers and forward IRP_MJ_SYSTEM_CONTROL requests to the registered pnp base object
- Unsupported IOCTLs are now completed with KsDispatchInvalidDeviceRequest (previously leaked)


svn path=/trunk/; revision=42117
2009-07-21 13:32:28 +00:00
ReactOS Portable Systems Group de33ea571e - Do not set the non-x86 file system and disk read buffers to some random static variable that isn't even initialized on time.
- As a temporary hack, hard-code them to 0x80000000, a valid RAM address on OMAP3.
    - This code path is only used on ARM anyway, so it's not such a big deal, but a better fix should be done later.
- OmapLDR can now boot FreeLDR, which attempts to load NTOSKRNL.EXE and dies.
  - Need to revisit significant parts of the MMU code before attempting to go further; this won't likely be done for a good couple of months.

svn path=/trunk/; revision=42116
2009-07-21 09:44:36 +00:00
Dmitry Chapyshev c2018d5633 - Add ws2help from alex-network-branch
svn path=/trunk/; revision=42115
2009-07-21 09:16:26 +00:00
Dmitry Chapyshev fd8fa4a64c - Fix some warnings
svn path=/trunk/; revision=42114
2009-07-21 09:10:28 +00:00
Dmitry Chapyshev c856ffc8ed - .def -> .spec
- Fix .rbuild

svn path=/trunk/; revision=42113
2009-07-21 09:06:25 +00:00
Dmitry Chapyshev 0b019f3ae8 - Add some defines, prototypes. It fixes compilation ws2_32_new
svn path=/trunk/; revision=42112
2009-07-21 09:03:03 +00:00
Dmitry Chapyshev 713ca4ef89 - Fix types of parameters for WPUFDIsSet, WSCInstallProvider
svn path=/trunk/; revision=42111
2009-07-21 08:59:30 +00:00
James Tabor b5f733b8ce - [Win32k] Update class structure and fixed on class wine test.
svn path=/trunk/; revision=42110
2009-07-21 02:56:24 +00:00
Johannes Anderwald 764ee24fea allocators.c
- Implement IKsAllocator interface and use it in new implemented KsCreateAllocator, KsCreateDefaultAllocatorEx, KsValidateAllocatorFramingEx
api.c
- Implement KsSetDevicePnpAndBaseObject, KsQueryDevicePnpObject, KsSetTargetState, KsSetTargetDeviceObject, KsSetPowerDispatch, KsFreeDeviceHeader, KsFreeObjectHeader, KsAllocateObjectCreateItem, KsFreeObjectCreateItem, KsFreeObjectCreateItemsByContext, KsCreateDefaultSecurity
clocks.c
- Implement KsCreateClock, KsCreateDefaultClock,  partly implement KsAllocateDefaultClockEx, KsFreeDefaultClock, KsGetDefaultClockState, KsSetDefaultClockState, KsGetDefaultClockTime, KsSetDefaultClockTime
device.c
- Partly implement IKsDevice interface in order to let AVStream client devices initialize
- Implement KsInitializeDevice
- Implement registering of device interface for AVStream drivers
driver.c
- Implement KsGetDeviceForDeviceObject
- Set device flags for ks
- Store Address for client drivers device extension
filter.c
- Implement IKsFilter & IKsControl interface
- Handle KSPROPERTY requests
filterfactory.c
- Implement IKsFilterFactory interface
- Implement KsCreateFilterFactory, KsFilterFactorySetDeviceClassesState, KsFilterFactoryGetSymbolicLink, KsFilterFactoryAddCreateItem
- Add KsFilterFactoryUpdateCacheData
image.c
- Implement KsLoadResource
irp.c
- Implement KsDispatchQuerySecurity, KsDispatchSetSecurity, KsWriteFile, KsDefaultIoCompletion

svn path=/trunk/; revision=42109
2009-07-20 23:26:57 +00:00
James Tabor 928ed84e9f - [Win32k] Update window structure.
svn path=/trunk/; revision=42108
2009-07-20 23:18:16 +00:00
Dmitry Gorbachev 04dbe9d46f Fix compilation of drmk.sys
svn path=/trunk/; revision=42107
2009-07-20 23:04:01 +00:00
Cameron Gutman 985618d74e - Update TotalLength based on the fragment size
- Make fragment offset into 8-byte units
 - Don't perform a useless checksum calculation
 - Fixes datagram fragmentation (tested using ping with a packet size of 16000)
 - This also seems to fix DHCP over a bridged NIC in vbox

svn path=/trunk/; revision=42104
2009-07-20 19:46:54 +00:00
Dmitry Chapyshev 207b294387 - Add some defines
svn path=/trunk/; revision=42103
2009-07-20 19:45:06 +00:00
Dmitry Chapyshev 9545bd7992 - Implement WSAHtons, WSANtohs
- Add some cases to MsafdReturnWithErrno, SockAsyncSelectCompletionRoutine
Opera loads pages now, but the keyboard does not work.
Patch by Mikhail Denisenko (denisenkom@gmail.com)
See issue #4151 for more details.

svn path=/trunk/; revision=42102
2009-07-20 18:30:30 +00:00
Dmitry Chapyshev b46f7e4773 - Add debug print to MiQueryVirtualMemory
svn path=/trunk/; revision=42101
2009-07-20 18:03:16 +00:00
Johannes Anderwald 3cf7214094 - A few updates from the Ninja-Arch
svn path=/trunk/; revision=42100
2009-07-20 17:14:21 +00:00
James Tabor 95d1d17ba9 - [Win32k] Make co_IntCreateWindowEx return pointer to public window structure.
svn path=/trunk/; revision=42092
2009-07-19 21:18:08 +00:00
Hervé Poussineau 6a16259ee6 Fix bug introduced in r1514, where memory was freed once in DLL_THREAD_DETACH and once more in DLL_PROCESS_DETACH
svn path=/trunk/; revision=42089
2009-07-19 18:37:58 +00:00
Cameron Gutman 54b3d22e33 - Generate a random ID for use during datagram reassembly
svn path=/trunk/; revision=42088
2009-07-19 17:40:36 +00:00
Cameron Gutman b43fbb516b - Properly implement ICMP
- Now Raw IP works correctly because it isn't being hacked to handle ICMP packets

svn path=/trunk/; revision=42087
2009-07-19 14:48:48 +00:00
Hervé Poussineau a86419a500 Add missing SetWindowsHookW prototype
svn path=/trunk/; revision=42086
2009-07-19 14:03:10 +00:00
Cameron Gutman 2fe1aab7fe - Send all waiting packets instead of only the first one to prevent a buildup of queued packets on a non-sendable NCE which becomes sendable later
svn path=/trunk/; revision=42076
2009-07-19 07:06:08 +00:00