reactos.git
14 years agoWe don't need "csq.h" twice in our tree.
Colin Finck [Fri, 26 Feb 2010 15:22:39 +0000 (15:22 +0000)]
We don't need "csq.h" twice in our tree.
This ancient version didn't even receive the GCC 4.1 compatibility update from years ago, so it's safe to remove it.

svn path=/trunk/; revision=45686

14 years ago- Move from using include guards to pragma once.
Ged Murphy [Fri, 26 Feb 2010 11:43:19 +0000 (11:43 +0000)]
- Move from using include guards to pragma once.
- Whilst this is non-standard and potentially makes the code less portable, it's supported by both gcc and msvc and should bringg increased compilation speed due to its optimized behaviour (doesn't need to invoke the preprocessor)
- Patch by Amine Khaldi [amine.khaldi@reactos.org]

svn path=/trunk/; revision=45685

14 years ago[BDAPLGIN]
Johannes Anderwald [Fri, 26 Feb 2010 01:53:48 +0000 (01:53 +0000)]
[BDAPLGIN]
- Add macro to enable/disable debug output
- Query the BaseFilter for the target control pin in order to query for IKsObject interface, which is used to retrieve the real pin handle.
- Pass the NodeId to constructors of IBDA_FrequencyFilter, IBDA_SignalStatistics, IBDA_LNBInfo, IBDA_DigitalDemodulator
- Implement IBDA_DigitalDemodulator::put_ModulationType, IBDA_DigitalDemodulator::put_InnerFECMethod, IBDADigitalDemodulator::put_InnerFECRate, IBDADigitalDemodulator::put_OuterFECMethod, IBDADigitalDemodulator::put_OuterFECRate, IBDADigitalDemodulator::put_SymbolRate, IBDADigitalDemodulator::put_SpectralInversion
- Implement IBDAFrequencyFilter::put_Frequency, IBDAFrequencyFilter::put_Polarity, IBDAFrequencyFilter::put_Range, IBDAFrequencyFilter::put_Bandwidth, IBDAFrequencyFilter::put_FrequencyMultiplier
- Implement IBDALNBInfo::put_LocalOscilatorFrequencyLowBand, IBDALNBInfo::put_LocalOscilatorFrequencyHighBand, IBDALNBInfo::put_HighLowSwitchFrequency
- Implement IBDASignalStatistics::get_SignalStrength, IBDASignalStatistics::get_SignalQuality, IBDASignalStatistics::get_SignalPresent, IBDASignalStatistics::get_SignalLocked, IBDASignalStatistics::put_SampleTime, IBDASignalStatistics::get_SampleTime
- Implement IBDA_DeviceControl::StartChanges, IBDA_DeviceControl::CheckChanges, IBDA_DeviceControl::CommitChanges, IBDA_DeviceControl::GetChangeState
- IBDA_DeviceControl interface now works with SageDvbRecorder(Windows XP SP3)

svn path=/trunk/; revision=45684

14 years ago[HAL]
Timo Kreuzer [Fri, 26 Feb 2010 00:07:22 +0000 (00:07 +0000)]
[HAL]
- Replace the inline assembly for entering V86 and the actual V86 stub with real assembly. This is neccesary for compiler portability. Also creating 16 bit V86 assembly using 32 bit inline assembly is rather hackish.

svn path=/trunk/; revision=45683

14 years ago[PSDK]
Johannes Anderwald [Thu, 25 Feb 2010 22:31:02 +0000 (22:31 +0000)]
[PSDK]
- Add KSPROPERTY_BDA_FREQUENCY_FILTER, KSPROPERTY_BDA_DIGITAL_DEMODULATOR, KSPROPERTY_BDA_LNB_INFO, KSPROPERTY_BDA_SIGNAL_STATS properties for BDAPLGIN

svn path=/trunk/; revision=45682

14 years ago[BDAPLGIN]
Johannes Anderwald [Thu, 25 Feb 2010 16:14:54 +0000 (16:14 +0000)]
[BDAPLGIN]
- Simply construction of CBDAFrequencyFilter, CBDALNBInfo, CBDASignalStatistics
- Find IBDA_NetworkProvider in filter graph
- Check for IBaseFilter interface when constructing the CBDADeviceControl object

svn path=/trunk/; revision=45681

14 years ago[BDAPLGIN]
Johannes Anderwald [Wed, 24 Feb 2010 18:37:07 +0000 (18:37 +0000)]
[BDAPLGIN]
- Implement IBDA_Topology::GetNodeTypes, IBDA_Topology::GetNodeDescriptors, IBDA_Topology::GetNodeInterfaces, IBDA_Topology::GetPinTypes, IBDA_Topology::CreateTopology, IBDA_Topology::GetControlNode
- Implement stub interfaces for control node, IBDA_DigitalDemodulator, IBDA_FrequencyFilter, IBDA_LNBInfo, IBDA_SignalStatistics

svn path=/trunk/; revision=45680

14 years ago[BDAPLGIN]
Johannes Anderwald [Tue, 23 Feb 2010 21:28:51 +0000 (21:28 +0000)]
[BDAPLGIN]
- Try fix build
- Sorry folks

svn path=/trunk/; revision=45679

14 years ago[DXSDK]
Johannes Anderwald [Tue, 23 Feb 2010 17:40:34 +0000 (17:40 +0000)]
[DXSDK]
- Add BDA Change Sync Method Set
[BDAPLGIN]
- Add "BDA Device Control Plug-in for MPEG2 based networks" stub

svn path=/trunk/; revision=45677

14 years ago[DDK]
Johannes Anderwald [Tue, 23 Feb 2010 17:25:46 +0000 (17:25 +0000)]
[DDK]
- Fix IID_IUnknown definition 3/X

svn path=/trunk/; revision=45676

14 years ago[KSPROXY]
Johannes Anderwald [Tue, 23 Feb 2010 17:19:45 +0000 (17:19 +0000)]
[KSPROXY]
- Fix IID_IUnknown definition 3/X

svn path=/trunk/; revision=45675

14 years ago[KS]
Johannes Anderwald [Tue, 23 Feb 2010 17:18:07 +0000 (17:18 +0000)]
[KS]
- Fix IID_IUnknown definition 2/X

svn path=/trunk/; revision=45674

14 years ago[PORTCLS]
Johannes Anderwald [Tue, 23 Feb 2010 17:16:56 +0000 (17:16 +0000)]
[PORTCLS]
- Fix IID_IUnknown definition 1/X

svn path=/trunk/; revision=45673

14 years agoremove unused library
Ged Murphy [Tue, 23 Feb 2010 16:00:02 +0000 (16:00 +0000)]
remove unused library

svn path=/trunk/; revision=45672

14 years ago[Win32k]
James Tabor [Tue, 23 Feb 2010 15:42:08 +0000 (15:42 +0000)]
[Win32k]
- If dc is window owned and not class owned do not set class if null pdce. Added debug prints to locate reentrancy issues due to a race condition.
- Add more checks to find dead windows.

svn path=/trunk/; revision=45671

14 years ago[User32]
James Tabor [Tue, 23 Feb 2010 15:28:45 +0000 (15:28 +0000)]
[User32]
- Remove 16 bit'isms. Added back removed code and commented it out with added notes.
- Jason Edmeades : Combo should preselect all text on first WM_SETFOCUS.
- Kusanagi Kouichi : Consolidate empty string.
- Alexandre Julliard : Don' t forward WM_SETCURSOR to the desktop window. Modified.
- Dmitry Timoshkov : In a DLGTEMPLATEEX resource dialog version goes before signature.
- Due to truck freeze, there might have slipped in miscellaneous patches.

svn path=/trunk/; revision=45670

14 years ago[KSPROXY]
Johannes Anderwald [Tue, 23 Feb 2010 15:25:59 +0000 (15:25 +0000)]
[KSPROXY]
- Fix file headers for Christoph
- Add debug spam
- IsEqualIID uses REFIID

svn path=/trunk/; revision=45669

14 years ago[usb/usbehci]
Michael Martin [Tue, 23 Feb 2010 11:20:15 +0000 (11:20 +0000)]
[usb/usbehci]
- Add back WorkItem code but use it for calling the hub drivers callback routine (telling hub driver it needs check port status).
- Add missing break for case URB_FUNCTION_GET_STATUS_FROM_DEVICE.
- RootHubInitNotification: BusContext is the Device Object not the Device Objects Extensions.
- UsbEhci now receives URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER IN requests,
 which is where we want to be for informing hub driver which port a device has been connected.

svn path=/trunk/; revision=45668

14 years ago[Win32k|Gdi32]
James Tabor [Tue, 23 Feb 2010 04:18:24 +0000 (04:18 +0000)]
[Win32k|Gdi32]
- Fix GdiBatch, the limit is for user space not system. Revert 45659.

svn path=/trunk/; revision=45667

14 years ago[Win32k]
James Tabor [Tue, 23 Feb 2010 03:17:37 +0000 (03:17 +0000)]
[Win32k]
- Fix the new GetClipRgn clipping wine test for EqualRgn and clip region note.

svn path=/trunk/; revision=45666

14 years ago[User32]
James Tabor [Tue, 23 Feb 2010 03:14:09 +0000 (03:14 +0000)]
[User32]
- ReactOS uses DCX_KEEPCLIPRGN to prevent the deletion of regions so user support can manage them. Comctl32 depends on this since it does not delete the regions after calling DefWindowProc.

svn path=/trunk/; revision=45665

14 years ago[Win32k]
James Tabor [Tue, 23 Feb 2010 03:08:16 +0000 (03:08 +0000)]
[Win32k]
- Properly assign error code when a real status error occurred.
- Free the non user event container for WaitForInputIdle.

svn path=/trunk/; revision=45664

14 years agoSplit the initial status code for drivers and services.
Eric Kohl [Mon, 22 Feb 2010 23:17:03 +0000 (23:17 +0000)]
Split the initial status code for drivers and services.

You can easily test services by uncommenting '#define USE_SERVICE_STATUS_PENDING'.

svn path=/trunk/; revision=45663

14 years agoPut Vizzini's "csq.h" in the Public Domain with permission from the author:
Colin Finck [Mon, 22 Feb 2010 22:00:00 +0000 (22:00 +0000)]
Put Vizzini's "csq.h" in the Public Domain with permission from the author:

<sedwards>    I talked to vizini
<sedwards>    it's public domain
<sedwards>    do what you will
<sedwards>    slap your name on it
<sedwards>    and submit it
<Colin_Finck> I can just do a commit to put it under PD now and everything will be alright?
<sedwards>    yes, the author who wishes to remain anonymous is quite fine with that

svn path=/trunk/; revision=45662

14 years agoClean up RPCSS.
Dmitry Gorbachev [Mon, 22 Feb 2010 21:36:07 +0000 (21:36 +0000)]
Clean up RPCSS.

svn path=/trunk/; revision=45661

14 years agofix build
Christoph von Wittich [Mon, 22 Feb 2010 19:49:58 +0000 (19:49 +0000)]
fix build

svn path=/trunk/; revision=45660

14 years ago[GDI32]
Timo Kreuzer [Mon, 22 Feb 2010 19:27:35 +0000 (19:27 +0000)]
[GDI32]
- Quickfix the region leak, by commenting out the user mode part in DeleteRegion. Thanks to Caemyr for finding the guilty revision.

svn path=/trunk/; revision=45659

14 years agoRevert remaining parts of patches 45626 and 45633.
Eric Kohl [Mon, 22 Feb 2010 19:26:54 +0000 (19:26 +0000)]
Revert remaining parts of patches 45626 and 45633.

svn path=/trunk/; revision=45658

14 years ago[PSDK]
Johannes Anderwald [Mon, 22 Feb 2010 19:03:09 +0000 (19:03 +0000)]
[PSDK]
- Add BDA interfaces

svn path=/trunk/; revision=45657

14 years agoReenable critical debug messages.
Eric Kohl [Mon, 22 Feb 2010 18:56:51 +0000 (18:56 +0000)]
Reenable critical debug messages.

svn path=/trunk/; revision=45656

14 years ago[NTOS]: Enable high/low memory events notifications.
Aleksey Bragin [Mon, 22 Feb 2010 16:44:13 +0000 (16:44 +0000)]
[NTOS]: Enable high/low memory events notifications.

svn path=/trunk/; revision=45655

14 years ago[NTOS]: Temporarily disable last part of MiInsertZeroListAtBack which seems to cause...
Aleksey Bragin [Mon, 22 Feb 2010 13:39:30 +0000 (13:39 +0000)]
[NTOS]: Temporarily disable last part of MiInsertZeroListAtBack which seems to cause issues in the 1st stage.

svn path=/trunk/; revision=45654

14 years ago- Buildbot defibrillation attempt 2/2.
Aleksey Bragin [Sun, 21 Feb 2010 22:38:08 +0000 (22:38 +0000)]
- Buildbot defibrillation attempt 2/2.

svn path=/trunk/; revision=45653

14 years ago- Buildbot defibrillation attempt 1/2 (proposed by Colin).
Aleksey Bragin [Sun, 21 Feb 2010 22:26:07 +0000 (22:26 +0000)]
- Buildbot defibrillation attempt 1/2 (proposed by Colin).

svn path=/trunk/; revision=45652

14 years ago- Add patch back after sync with force.
James Tabor [Sun, 21 Feb 2010 12:47:07 +0000 (12:47 +0000)]
- Add patch back after sync with force.

svn path=/trunk/; revision=45650

14 years ago- Add patch back after sync.
James Tabor [Sun, 21 Feb 2010 12:35:18 +0000 (12:35 +0000)]
- Add patch back after sync.

svn path=/trunk/; revision=45649

14 years agoUse the most probable cabman and rapps path to get this batch file to work for most...
Colin Finck [Sun, 21 Feb 2010 12:03:45 +0000 (12:03 +0000)]
Use the most probable cabman and rapps path to get this batch file to work for most people.

svn path=/trunk/; revision=45648

14 years ago[usb/usbehci]
Michael Martin [Sun, 21 Feb 2010 11:34:54 +0000 (11:34 +0000)]
[usb/usbehci]
- Add missing break's in CompletePendingURBRequest that caused crashes.- Add some debugging for Urb Function URB_FUNCTION_CLASS_OTHER.
- Implement IOCTL_INTERNAL_USB_GET_HUB_COUNT returning only 0 Hubs for now.
- Implement RootHubInitNotification.
- Misc cleanup.

svn path=/trunk/; revision=45647

14 years ago[NTOS]: Insert pages into zero list with specific MiInsertZeroListAtBack function...
Sir Richard [Sun, 21 Feb 2010 03:52:22 +0000 (03:52 +0000)]
[NTOS]: Insert pages into zero list with specific MiInsertZeroListAtBack function instead of generic MiInsertInTailList. Allows us to handle insertion into colored page lists (not yet used) correctly, as well as update the page location to ZeroedPageList automatically (so don't let the callers do this anymore). Also handle memory threshold accounting.

svn path=/trunk/; revision=45645

14 years ago- Add patch back after sync.
James Tabor [Sun, 21 Feb 2010 03:18:19 +0000 (03:18 +0000)]
- Add patch back after sync.

svn path=/trunk/; revision=45644

14 years ago- Sync to wine release 1.1.39.
James Tabor [Sun, 21 Feb 2010 03:11:32 +0000 (03:11 +0000)]
- Sync to wine release 1.1.39.

svn path=/trunk/; revision=45643

14 years ago- Sync to wine release 1.1.39.
James Tabor [Sun, 21 Feb 2010 03:00:07 +0000 (03:00 +0000)]
- Sync to wine release 1.1.39.

svn path=/trunk/; revision=45642

14 years ago[NTOS]: Use system PTEs for drivers, both boot drivers and system-loaded drivers...
Sir Richard [Sun, 21 Feb 2010 02:13:20 +0000 (02:13 +0000)]
[NTOS]: Use system PTEs for drivers, both boot drivers and system-loaded drivers. This removes the last user of the deprecated MmAllocateSection internal API. Another side-effect is that drivers will now have much higher load addresses (in the 0xF0000000 and higher range), as you would expect on Windows, plus increasing coverage and usage of system PTEs (which can still be optimized).
[NTOS]: Do not "copy" boot drivers from one set of pages to another set of pages. Instead, use system PTEs to map the boot drivers to a new VA, and set the PFNs to the original PFNs that the loader had obtained (and don't free that memory). This avoids some overhead.
[NTOS]: Now the only user of MmMapMemoryArea is the caching code, which I won't touch.

svn path=/trunk/; revision=45641

14 years agoPartially revert patches 45626 and 45633.
Eric Kohl [Sat, 20 Feb 2010 23:10:53 +0000 (23:10 +0000)]
Partially revert patches 45626 and 45633.

Several services do not report their status to the service manager properly. Therefore we must not use any code that relies on service status information as part of the setup and boot processes as long as these issues have not been fixed. The service manager still needs to provide fake information about the service status.

svn path=/trunk/; revision=45640

14 years ago- Don't prepend fastcall forward's target with @. Fixes binding issues in videoprt...
Aleksey Bragin [Sat, 20 Feb 2010 22:53:11 +0000 (22:53 +0000)]
- Don't prepend fastcall forward's target with @. Fixes binding issues in videoprt, thanks to Olaf Siejka for identifying the issue.

svn path=/trunk/; revision=45639

14 years ago[NTOS]: Make MM init read MmProductType to determine what SKU of ReactOS this is...
Sir Richard [Sat, 20 Feb 2010 21:48:36 +0000 (21:48 +0000)]
[NTOS]: Make MM init read MmProductType to determine what SKU of ReactOS this is, instead of assuming Server. If you want to go back to the old behavior, you need to change "WinNT" to "ServerNT" in the hivesys under Product Type.
[NTOS]: Configure the MmSystemSize variable properly based on SKU and RAM. Previously, ReactOS told all drivers and applications you were running on a system with < 13MB RAM.
[NTOS]: Initialize thresholds for low and high memory (in pages), low and high paged pool memory, and low and high nonpaged pool memory. These are described in the source.
[NTOS]: Initialize events for each of those thresholds, and populate the \KernelObject\xxxCondition events that are documented in MSDN for driver and app developers.
[NTOS]: Define some internal thresholds to use later, representing the minimum number of free pages under we go berserk, and the minimum number of free pages that we consider "plenty".
[NTOS]: Rename MiRemoveFromList to MiUnlinkFreeOrZeroedPage (Windows name). Make the function handle MmAvailablePages decrement, instead of having the caller do it.
[NTOS]: Remove run-time initialization of the PFN lists, just initialize them statically (also fixes the fact we forgot to initialize their names).
[NTOS]: Move some more initialization code to ARM3 instead of mm.
[NTOS]: Read ProductType from registry into MmProductType instead of dummy value. Remove duplicate "Mirroring" variable read.

svn path=/trunk/; revision=45638

14 years ago[SERVICES]
Eric Kohl [Sat, 20 Feb 2010 20:52:14 +0000 (20:52 +0000)]
[SERVICES]
Disable a number of debug messages in the service manager.

svn path=/trunk/; revision=45637

14 years ago[ADVAPI32]
Eric Kohl [Sat, 20 Feb 2010 16:33:28 +0000 (16:33 +0000)]
[ADVAPI32]
Silence a lot of non-critical service manager error messages (ERR->TRACE).

svn path=/trunk/; revision=45636

14 years ago[NTOS]: Remove SwapEntry parameter from MmAllocPage since it was always zero.
Sir Richard [Sat, 20 Feb 2010 14:47:23 +0000 (14:47 +0000)]
[NTOS]: Remove SwapEntry parameter from MmAllocPage since it was always zero.
[NTOS]: Store SwapEntry as WsIndex. We can do this now since Flink is only used when the page is in a list (meaning it's not active, ie. free or zero), and non-active pages don't have a swap entry.

svn path=/trunk/; revision=45635

14 years ago[NTOS]: Manage the PFN lists using the correct Flink/Blink semantics of the MMPFN...
Sir Richard [Sat, 20 Feb 2010 14:40:21 +0000 (14:40 +0000)]
[NTOS]: Manage the PFN lists using the correct Flink/Blink semantics of the MMPFN structure, instead of typecasting a LIST_ENTRY on top of Flink and PteAddress. This allows PteAddress to be used now, and minimizes the number of differences between MMPFN and the ReactOS PHYSICAL_PAGE.
[NTOS]: Zero pages starting at the head of the free list, insert them at the back.
[NTOS]: Add MiInsertPageInFreeList to build the colored lists (not yet used) in the ARM3 PFN database.
[NTOS]: Rename the ReactOS PFN lists for free/zero to their real names as used in Windows.

svn path=/trunk/; revision=45634

14 years ago[SERVICES] When autostart services are up, signal an event.
Eric Kohl [Sat, 20 Feb 2010 13:04:56 +0000 (13:04 +0000)]
[SERVICES] When autostart services are up, signal an event.
[SYSSETUP] Wait until all autostart services are up. Bug #4194.

Patches by Dmitry Gorbachev.
See issue #4142 for more details.

svn path=/trunk/; revision=45633

14 years agoMake EventLog and Spooler services report their status to the SCM.
Eric Kohl [Sat, 20 Feb 2010 12:59:53 +0000 (12:59 +0000)]
Make EventLog and Spooler services report their status to the SCM.

svn path=/trunk/; revision=45632

14 years agoXML Compliance Patch for the RBUILD Files. By Samuel Serapion
Daniel Reimer [Sat, 20 Feb 2010 12:41:24 +0000 (12:41 +0000)]
XML Compliance Patch for the RBUILD Files. By Samuel Serapion

svn path=/trunk/; revision=45631

14 years ago[NTOS]: Disable support for global pages since it does not seem to work right on...
Sir Richard [Fri, 19 Feb 2010 22:43:34 +0000 (22:43 +0000)]
[NTOS]: Disable support for global pages since it does not seem to work right on real hardware. Additionally, the code had been previously enabling global pages before the variable determining the support for such pages was even enabled, causing non-global pages to be used initially, followed later by global pages once the variable had been setup. To fix this mess, remove all global page support for now. Fixes booting on certain real hardware (or fixes other random memory corruptions).
Thanks to Caemyr.

svn path=/trunk/; revision=45627

14 years ago[SERVICES] Set default status to SERVICE_START_PENDING when starting a service.
Eric Kohl [Fri, 19 Feb 2010 20:03:11 +0000 (20:03 +0000)]
[SERVICES] Set default status to SERVICE_START_PENDING when starting a service.
[SYSSETUP] Wait until PlugPlay service is up. Bug #4142.
[UMPNPMGR] Update the service control manager's status information.

Patches by Dmitry Gorbachev.

svn path=/trunk/; revision=45626

14 years ago[NTOS]: Fix premature setting of the page location of a newly allocated MDL page...
Sir Richard [Fri, 19 Feb 2010 18:29:29 +0000 (18:29 +0000)]
[NTOS]: Fix premature setting of the page location of a newly allocated MDL page. Because the zeroing of non-zeroed pages is done after the initial page allocation loop (and by checking which list the page was on), setting the page location as ActiveAndValid made the zero loop believe the page was unzeroed (even though it could've come from the zeroed list), causing a superflous second zero operation.

svn path=/trunk/; revision=45625

14 years ago[NTOS]: Fix a logic error which could cause pages on the free list which failed to...
Sir Richard [Fri, 19 Feb 2010 18:25:29 +0000 (18:25 +0000)]
[NTOS]: Fix a logic error which could cause pages on the free list which failed to be zeroed out due to running out of hyperspace mappings to appear as being on the zero page list even though they were inserted back on the free page list.

svn path=/trunk/; revision=45624

14 years ago[NTOS]: Fix an off-by-! error which caused MDL page allocation to use used pages...
Sir Richard [Fri, 19 Feb 2010 18:23:07 +0000 (18:23 +0000)]
[NTOS]: Fix an off-by-! error which caused MDL page allocation to use used pages instead of free pages.

svn path=/trunk/; revision=45623

14 years ago[NTOS]: It seems the code to release a page was not properly removing a page from...
Sir Richard [Fri, 19 Feb 2010 17:55:22 +0000 (17:55 +0000)]
[NTOS]: It seems the code to release a page was not properly removing a page from the working set bitmap/list in one scenario, so I added the call here too.

svn path=/trunk/; revision=45622

14 years ago[NTOS]: Fix an off-by-one-error which incorrectly causes GUI promotion to fail if...
Sir Richard [Fri, 19 Feb 2010 17:54:16 +0000 (17:54 +0000)]
[NTOS]: Fix an off-by-one-error which incorrectly causes GUI promotion to fail if the first GUI call is "0", since the limit on the GUI descriptor table will also be "0". We should check if the limit is equal to or lower, not just if it's lower.
Thanks to Physicus and Fireball for reporting and working this out. Should fix the "ArwinSS" problem.

svn path=/trunk/; revision=45621

14 years ago[NTOS]: Fix off-by-one error in MDL locking which caused the last PFN not to be refer...
Sir Richard [Fri, 19 Feb 2010 17:45:10 +0000 (17:45 +0000)]
[NTOS]: Fix off-by-one error in MDL locking which caused the last PFN not to be referenced if it was part of a locked MDL, because it was assumed to be "higher than the last PFN". This further caused the entire MDL to be incorrectly treated as an I/O space mapping. Later, when unlocked, the last PFN's reference count would drop to 0, and the virtual memory range that had been locked would now be using a freed page, that would get re-used later. Noticed this bug because my WC changes allocation strategies to increase the chance of pages at the end to be used, ans the last PFN was being used a lot due to this.

svn path=/trunk/; revision=45620

14 years ago[NTOSKRNL]
Cameron Gutman [Fri, 19 Feb 2010 10:30:01 +0000 (10:30 +0000)]
[NTOSKRNL]
 - Update boot logo copyright year
 - Patch by Gabriel Ilardi

svn path=/trunk/; revision=45619

14 years ago[NTOSKRNL]
Cameron Gutman [Fri, 19 Feb 2010 03:16:04 +0000 (03:16 +0000)]
[NTOSKRNL]
 - Put back the boot logo from the old bootvid
 - Rewrite the old broken progress bar code and enable the progress bar
 - The progress bar works now :)
 - NOTE: Someone should fix the copyright year on the boot logo

svn path=/trunk/; revision=45618

14 years ago[NTOS]: Stop storing the consumer in the PFN, as this value is never actually checked...
Sir Richard [Fri, 19 Feb 2010 01:58:48 +0000 (01:58 +0000)]
[NTOS]: Stop storing the consumer in the PFN, as this value is never actually checked. Clears up yet another misuse of the "real" PFN structure.

svn path=/trunk/; revision=45617

14 years ago[NTOS]: Instead of having an LRU linked list of working set pages, we instead have...
Sir Richard [Fri, 19 Feb 2010 00:46:35 +0000 (00:46 +0000)]
[NTOS]: Instead of having an LRU linked list of working set pages, we instead have a bitmap.
    Advantage: Pages are only in a linked list when they are NOT active (free/zeroed, for now). This makes the LIST_ENTRY fields usable when a page is active, so we can store data in there. This will make it easier to sync our PFN format with Windows.
    Advantage: It's a lot faster to set/clear bits than to do list operations (both still O1 though). Scanning for the bit is a bit slower than parsing a list, on the other hand, so it's a toss.
    Disadvantage: We lose LRU, which in theory makes us cannibalize working sets randomly instead of by-usage. However, considering the speed of ReactOS paging, and the effects of canabalizing the WS in the first place, I doubt this is really a problem.
The main point of this is advantage #1 -- making used pages not be on any lists. This will allow us to almost 100% sync the PFN layouts, which will lead to the eventual negation of any temporary disavantages.

svn path=/trunk/; revision=45616

14 years ago[NTOSKRNL] KiConvertToGuiThread() "accesses memory in an unpredictable fashion".
Dmitry Gorbachev [Thu, 18 Feb 2010 23:25:12 +0000 (23:25 +0000)]
[NTOSKRNL] KiConvertToGuiThread() "accesses memory in an unpredictable fashion".

svn path=/trunk/; revision=45615

14 years ago[BOOTVID] Initialize VgaAddress.HighPart
Dmitry Gorbachev [Thu, 18 Feb 2010 23:25:05 +0000 (23:25 +0000)]
[BOOTVID] Initialize VgaAddress.HighPart

svn path=/trunk/; revision=45614

14 years ago[DEVMGR]
Eric Kohl [Thu, 18 Feb 2010 20:18:24 +0000 (20:18 +0000)]
[DEVMGR]
Display some more device properties.

svn path=/trunk/; revision=45613

14 years ago[NTOS]: Fix build, my bad (missing file).
Sir Richard [Thu, 18 Feb 2010 17:13:37 +0000 (17:13 +0000)]
[NTOS]: Fix build, my bad (missing file).

svn path=/trunk/; revision=45612

14 years agoPatch by Daniel Zimmermann <netzimme@aim.com>:
Sir Richard [Thu, 18 Feb 2010 17:00:09 +0000 (17:00 +0000)]
Patch by Daniel Zimmermann <netzimme@aim.com>:
[DDK]: Add PCI_ADDRESS_MEMORY_SPACE.
[HAL]: Use it in HalpAssignPCISlotResources.

svn path=/trunk/; revision=45611

14 years ago[NTOS]: Build the actual ARM3 PFN database.
Sir Richard [Thu, 18 Feb 2010 16:56:54 +0000 (16:56 +0000)]
[NTOS]: Build the actual ARM3 PFN database.

svn path=/trunk/; revision=45610

14 years ago[NTOS]: Remove unused code.
Sir Richard [Thu, 18 Feb 2010 16:50:55 +0000 (16:50 +0000)]
[NTOS]: Remove unused code.

svn path=/trunk/; revision=45609

14 years ago[KSPROXY]
Johannes Anderwald [Thu, 18 Feb 2010 15:24:29 +0000 (15:24 +0000)]
[KSPROXY]
- Stub interfaces for CBasicAudio, CKsClockForwarder, CVPConfig, CVPVBIConfig, CKsDataTypeHandler, CKsInterfaceHandler, CKsProxy, CKsQualityForwarder
- Implement KsSynchronousDeviceControl, KsOpenDefaultDevice, KsGetMultiplePinFactoryItems, KsGetMediaTypeCount, DllGetClassObject

svn path=/trunk/; revision=45608

14 years ago[PSDK]
Johannes Anderwald [Thu, 18 Feb 2010 15:04:54 +0000 (15:04 +0000)]
[PSDK]
- KSM_PIN is defined in bdasup.h not bdatypes.h
- Add IReferenceClockTimerControl, IAMDeviceRemoval. IDistributorNotify, IAMClockAdjust, IAMStreamControl, IDeferredCommand interface
- Add AM_STREAM_INFO_FLAGS, AM_STREAM_INFO struct
- Modify VMRGUID struct so that gnu compilers can digest it too
- Remove useless KSINTERFACESETID_Standard define from ks.h
- Define LOCALE_INVARIANT macro

svn path=/trunk/; revision=45607

14 years ago - Fix incorrect sector size detection which caused seeking to fail when booting...
Cameron Gutman [Tue, 16 Feb 2010 20:32:58 +0000 (20:32 +0000)]
 - Fix incorrect sector size detection which caused seeking to fail when booting from a floppy
 - FreeLoader can load from a floppy disk now

svn path=/trunk/; revision=45602

14 years ago[NTOS] Allocate the trap frame on the stack by decreasing esp before modifying any...
Timo Kreuzer [Mon, 15 Feb 2010 20:16:15 +0000 (20:16 +0000)]
[NTOS] Allocate the trap frame on the stack by decreasing esp before modifying any members.
While doing it after is a tiny optimization (no need to wait for esp to be ready) and would work with all real traps (which clear cli), it doesn't work with Zw calls that directly call KiSystemService with interrupts enabled. This caused random trap frame corruption when an interrupt fired after members of the trap frame have been set but before esp was adjusted. Should hopefully fix most random failures on real hardware and qemu.

svn path=/trunk/; revision=45598

14 years ago[NTOS] Push vector as error code on the stack in KiUnexpectedInterrupt* instead of...
Timo Kreuzer [Sat, 13 Feb 2010 02:01:33 +0000 (02:01 +0000)]
[NTOS] Push vector as error code on the stack in KiUnexpectedInterrupt* instead of putting it into eax, because we must not clobber it. Spotted by jcatena.

svn path=/trunk/; revision=45590

14 years ago[PSDK]
Johannes Anderwald [Fri, 12 Feb 2010 13:46:53 +0000 (13:46 +0000)]
[PSDK]
- Work on ksproxy.h, WIP

svn path=/trunk/; revision=45586

14 years ago[PORTCLS]
Johannes Anderwald [Fri, 12 Feb 2010 10:12:46 +0000 (10:12 +0000)]
[PORTCLS]
- Reset play position when an audio stream is stopped
-- Fixes playback in looped mode (DirectSound) when a buffer is played&stopped more than once

svn path=/trunk/; revision=45585

14 years ago[DSOUND_NEW]
Johannes Anderwald [Fri, 12 Feb 2010 09:54:56 +0000 (09:54 +0000)]
[DSOUND_NEW]
- Setup a default format for the primary sound buffer
- Store last used write position and use it when checking current position
- Check if the buffer has already started to play
- Fill audio buffer with silence bytes when initializing the secondary sound buffer
-- Partialy makes graphedit work when building a simple render graph(FileAsync->WaveParser->AudioRenderer).

svn path=/trunk/; revision=45584

14 years ago[MSDMO]
Christoph von Wittich [Fri, 12 Feb 2010 09:20:35 +0000 (09:20 +0000)]
[MSDMO]
sync msdmo with wine 1.1.38

svn path=/trunk/; revision=45583

14 years ago[MMIXER, WDMAUD_KERNEL]
Johannes Anderwald [Fri, 12 Feb 2010 06:18:31 +0000 (06:18 +0000)]
[MMIXER, WDMAUD_KERNEL]
- Implement retrieving device path

svn path=/trunk/; revision=45582

14 years ago- Revert 44564
Johannes Anderwald [Thu, 11 Feb 2010 21:19:35 +0000 (21:19 +0000)]
- Revert 44564

svn path=/trunk/; revision=45580

14 years ago[WDMAUD_KERNEL]
Johannes Anderwald [Thu, 11 Feb 2010 21:04:57 +0000 (21:04 +0000)]
[WDMAUD_KERNEL]
- Replace mixer / wave support code by mmixer library
[MMIXER]
- Compare device name from 2 character onwards as there are difference in paths in user mode / kernel mode
- Invoke create pin callback if the caller provides it
[WDMAUD.DRV]
- Apply changes from mmixer library

-- Tested in Vbox with Winamp / ReactOS mplay32

svn path=/trunk/; revision=45579

14 years ago[DEVMGR]
Eric Kohl [Thu, 11 Feb 2010 20:23:48 +0000 (20:23 +0000)]
[DEVMGR]
Display Matching Device ID.

svn path=/trunk/; revision=45578

14 years ago[NTOS]: Remove many hacks in freelist.c regarding the differences between PHYSICAL_PA...
Sir Richard [Thu, 11 Feb 2010 18:44:28 +0000 (18:44 +0000)]
[NTOS]: Remove many hacks in freelist.c regarding the differences between PHYSICAL_PAGE and MMPFN. ReferenceCount field is now accessed directly. LockCount is gone. Type is gone: if a page is used, it has a consumer and is in the ActiveAndValid state, if it's free, it's on the free or zero page list. Get rid of Zero, if a page is zeroed, it is on the zero page list.
[NTOS]: These changes will allow a smoother migration to MMPFN later on.

svn path=/trunk/; revision=45577

14 years ago[NTOS]: Get rid of page locking mechanism for MDL since I can't see a reason this...
Sir Richard [Thu, 11 Feb 2010 18:41:45 +0000 (18:41 +0000)]
[NTOS]: Get rid of page locking mechanism for MDL since I can't see a reason this would make sense, since these pages won't be scheduled for page out anyway, and that is the only code that looked at this value.

svn path=/trunk/; revision=45576

14 years ago[NTOS]: Remove bogus assertion.
Sir Richard [Thu, 11 Feb 2010 18:33:52 +0000 (18:33 +0000)]
[NTOS]: Remove bogus assertion.

svn path=/trunk/; revision=45575

14 years ago[NTOS]: Fix broken MI_PFNENTRY_TO_PFN macro.
Sir Richard [Thu, 11 Feb 2010 18:31:54 +0000 (18:31 +0000)]
[NTOS]: Fix broken MI_PFNENTRY_TO_PFN macro.

svn path=/trunk/; revision=45574

14 years ago[HAL]
Timo Kreuzer [Thu, 11 Feb 2010 17:36:57 +0000 (17:36 +0000)]
[HAL]
Restore fs in HalpTrap06. Should fix crash on 1st stage with VBox.

svn path=/trunk/; revision=45573

14 years ago[NTOS]: Fix a stupid bug: x86 has 1024 PDEs, and ARM has 4096 PDEs, not the other...
Sir Richard [Thu, 11 Feb 2010 09:15:50 +0000 (09:15 +0000)]
[NTOS]: Fix a stupid bug: x86 has 1024 PDEs, and ARM has 4096 PDEs, not the other way around.
[NTOS]: Map the ARM3 PFN database as well, now.
[NTOS]: Start initializing the ARM3 PFN database entries, right now for pages that have been mapped directly through PTE/PDE manipulation.

svn path=/trunk/; revision=45569

14 years ago - Fix floppy controller detection
Cameron Gutman [Thu, 11 Feb 2010 02:22:34 +0000 (02:22 +0000)]
 - Fix floppy controller detection
 - Simplify waiting in Get_Byte and Send_Byte
 - See issue #4391 for details

svn path=/trunk/; revision=45568

14 years ago[NTOS]: Move more functions from the i386 ARM3 directory to the portable/shared direc...
Sir Richard [Thu, 11 Feb 2010 00:01:32 +0000 (00:01 +0000)]
[NTOS]: Move more functions from the i386 ARM3 directory to the portable/shared directory, since they apply to all architectures.
[NTOS]: Refactor the mapping of the PTEs for the PFN database into MiMapPfnDatabase and move the code to portable directory.
[NTOS]: Move and refactor some other definitions, and make some numbers more portable by defining arch-specific subvalues.
[NTOS]: Make the PFN database actually 2 PFN Databases: MmPfnDatabase[0] which is the ReactOS mapping of PHYSICAL_PAGE structures, and MmPfnDatabase[1] which will be the ARM3 mapping of MMPFN structures. The latter is as-of-yet unused, but memory for it is now being reserved.

svn path=/trunk/; revision=45566

14 years ago[REACTOS] Add asm.h containing macros to make assembly code both GAS and ML compatibl...
Timo Kreuzer [Wed, 10 Feb 2010 23:24:59 +0000 (23:24 +0000)]
[REACTOS] Add asm.h containing macros to make assembly code both GAS and ML compatible at the same time.
[NTOS/HAL] Move trap entry points from C into a GAS/ML compatile assembly file (might need fine tuning for ML). The entries are generated by a shared assembly macro TRAP_ENTRY. Removed KiTrapStub, KiIsV8086TrapSafe, KiIsUserTrapSafe, KiSetSaneSegments, removed segment handling from KiEnter*Trap.
[NTOS] Make KiFastCallEntryHandler and KiSystemServiceHandler FASTCALL and pass the systemcall number in TrapFrame->Eax
[HAL] Use _setjmp/longjmp instead of saving a trapframe in HalpBiosCall

svn path=/trunk/; revision=45565

14 years ago[rbuild]
Giannis Adamopoulos [Wed, 10 Feb 2010 21:55:51 +0000 (21:55 +0000)]
[rbuild]
- Major improvements in the msvc backend
- Create a .vsprops file for every configuration in the root folder. This lets us make vcproj files a lot smaller
- When building with our headers actually use all of our headers and not a mix of our sdks and the headers of the crt that comes with msvc
- Add a rule to build .s files based on the idea by jcatena
- Add a rule for .spec and .pspec files. pspec doesn't work well yet
- Various fixes
- Please note the the above are aplied only to the vcproj files and not to the vcxrpoj files

The above let us compile large parts of trunk with the generated visual studio projects

svn path=/trunk/; revision=45564

14 years agoAdd french translations for location overrides.
Sylvain Petreolle [Wed, 10 Feb 2010 20:11:13 +0000 (20:11 +0000)]
Add french translations for location overrides.

svn path=/trunk/; revision=45563

14 years agopartially revert changes from 45560
Christoph von Wittich [Wed, 10 Feb 2010 19:56:27 +0000 (19:56 +0000)]
partially revert changes from 45560

svn path=/trunk/; revision=45562

14 years agoExperimental try to get Itunes Setup start. By Samuel Serapion
Daniel Reimer [Wed, 10 Feb 2010 19:50:30 +0000 (19:50 +0000)]
Experimental try to get Itunes Setup start. By Samuel Serapion

svn path=/trunk/; revision=45561

14 years agoAdd device location information override PS/2 keyboards.
Eric Kohl [Wed, 10 Feb 2010 19:35:13 +0000 (19:35 +0000)]
Add device location information override PS/2 keyboards.

Please translate the location override string.

svn path=/trunk/; revision=45560

14 years agoUpdate Rapps Links and add the two RosBE Addons.
Daniel Reimer [Wed, 10 Feb 2010 19:33:10 +0000 (19:33 +0000)]
Update Rapps Links and add the two RosBE Addons.

svn path=/trunk/; revision=45559