Commit graph

41903 commits

Author SHA1 Message Date
Sir Richard a7d94d59ba [HAL]: Fucken' A, I knew I'd forget one.
svn path=/trunk/; revision=46650
2010-04-01 20:41:46 +00:00
Sir Richard dae14f1215 [HAL]: Smarter .rbuild separation so that ACPI and PC/AT hal don't rebuild the generic library twice. Now generic stays generic, and generic_pcat/acpi are add-on libaries just like generic_up and generic_mp.
svn path=/trunk/; revision=46649
2010-04-01 20:41:04 +00:00
Johannes Anderwald d80fb80a07 [DEVENUM]
- Extend device enumerator to support class enumerators of device interfaces

svn path=/trunk/; revision=46648
2010-04-01 19:48:49 +00:00
Sir Richard 111a56f09b [HAL]: Split HalReportResouceUsage into per-platform function, since PC/AT HAL and ACPI HAL have different requirements. As a bonus, the ACPI HAL now identifies itself as ACPI Compatible, instead of using the "PC Compatible" moniker.
[HAL]: Implement HalpGetNMICrashFlag so you can do NMI crashes now.
[HAL]: Implement basic HalpRegistryPciDebuggingDeviceInfo for the day someone implements the Kd routines.
[HAL]: HalpInitializePciBus needs to be different between "Bus Handler HALs" (non-ACPI/embedded) and "Non-Bus Handler HALs" (ACPI/x64). On ACPI, all we do is setup the raw PCI Stubs and NMI crashing. PC/AT will need more involved code.

svn path=/trunk/; revision=46647
2010-04-01 19:42:07 +00:00
Johannes Anderwald b021015c8f [MSDVBNP]
- Remove DebugBreak
- Implement IPin::Connect, IPin::ReceiveConnection, IPin::Disconnect, IPin::ConnectedTo
- Remove spaces
- DVBT Network Provider can now connect tv tuner in ReactOS

svn path=/trunk/; revision=46646
2010-04-01 19:20:12 +00:00
Sir Richard 3ab04b5faa [PCI]: New PCI driver, for the future. Needed for embedded support (ARM/etc) and anything other than your 3 emulators and neighboor's custom-made-to-barely-boot-your-OS machine.
svn path=/trunk/; revision=46645
2010-04-01 19:07:40 +00:00
Cameron Gutman ccc358b878 [NTOSKRNL]
- Store the device's assigned resources (raw and translated) in the RESOURCEMAP key
- Implement IopUpdateResourceMap which is responsible for updating the key with new resource information and setting the DNF_RESOURCE_ASSIGNED flag
- Fix IoGetDeviceProperty which was returning incorrect information for DevicePropertyPhysicalDeviceObjectName
- Take a look at HKLM\Hardware\ResourceMap\PnP Manager\PnpManager and see the beautiful resource lists ;)
- NOTE: Regedit has a bug so the "\Device\" prefix is hidden but you will see that it is there if you look with explorer's NT object viewer

svn path=/trunk/; revision=46644
2010-04-01 18:17:25 +00:00
Johannes Anderwald d66a0171a1 [KS]
- Partly implement pin property handling by using supplied pin descriptor properties
- Dynamically allocate connection format and put in pin's object bag
- Remove bogus assert as pins don't have to provide a PinDispatchCreate function
- Tuner device filter and capture device filter now successfully connect and instantiate corresponding input / output pins

svn path=/trunk/; revision=46643
2010-04-01 17:22:21 +00:00
Johannes Anderwald c44cdc2405 [BDASUP]
- Register an empty filter descriptor as pins, nodes, connections will be added later dynamically
- Fixes the duplicate input / output pins visible with graphedt
- Add the filter automation table to the object bag so it gets deleted when filter factory is destroyed

svn path=/trunk/; revision=46642
2010-04-01 17:18:13 +00:00
Johannes Anderwald 59ba9ccd77 [KS]
- Refactor & bugfix handling of KSPROPERTY_PIN_INTERFACES
- Refactor & bugfix IKsFilter_fnAddProcessPin for filter centric pins
- Fix handling of filter pin property sets
- Copy filter pin templates when filter is initialized.
- Pins are now able to instantiated but processing is pin requests is not yet implemented

svn path=/trunk/; revision=46640
2010-04-01 14:53:16 +00:00
Cameron Gutman 4c9fecffae [NTOSKRNL]
- Change PnpRootCreateDevice's ServiceName parameter to be a full service name so it can be used by IoReportDetectedDevice (for reporting devices without the "LEGACY_" prefix) and change all of its callers accordingly
- Remove the broken implementation of IoReportDetectedDevice and replace it with a fully working implementation
- There is still a bug that it creates a new device instance every boot, but unlike the previous code, at least it creates one ;-)

svn path=/trunk/; revision=46639
2010-04-01 06:58:32 +00:00
Timo Kreuzer 4ee89fa8f2 [HAL]
Try to fix build

svn path=/trunk/; revision=46636
2010-04-01 04:19:12 +00:00
Johannes Anderwald 453f43bf77 [KS]
- Fix a bad cast in KsGetDevice which led to a crash
- Store IKsFilter in create item storage which is needed later by the pin property handler
- There is no need to copy the existing pin factories, just add pin factories which are added dynamically
- Handle possible null values for node types & names
- Put allocated objects into object bags which can be released later automatically
- Fix access IKsFilterFactory interface in IKsFilterFactory_Create
- graphedt can now 'open' tv tuner and enumerate pins / communication / interface. Code required for devenum not yet commited

svn path=/trunk/; revision=46634
2010-04-01 03:14:45 +00:00
Johannes Anderwald 40c15eccb7 [BDASUP]
- Allocate KSFILTER_DESCRIPTOR before passing to KsCreateFilterFactory
- Allocate KSPIN_DESCRIPTOR_EX before passing to KsFilterCreatePinFactory
- Use stored BDA_FILTER_TEMPLATE when caller doesnt pass any

svn path=/trunk/; revision=46632
2010-04-01 02:35:37 +00:00
Johannes Anderwald f8ed547043 [PSDK]
- Fix _KSNODE_DESCRIPTOR definition

svn path=/trunk/; revision=46631
2010-04-01 00:41:09 +00:00
Eric Kohl baeb295134 [NTORKRNL]
SepAccessCheck: Deny access if the DACL is is empty (but not NULL).

svn path=/trunk/; revision=46629
2010-03-31 21:02:38 +00:00
Sir Richard 9e478e990f [HALACPI]: Begin rough implementation of the Hal ACPI PnP Driver. Will probably need some changes to the ReactOS PnP Manager to work properly (it is not initialized yet).
[HAL]: Implement helper registry routine.
[HAL]: Implement function to set ACPI mode the "Windows way", which is to enable/disable the firmware mapper. PnP Manager should probably check this in the future.

svn path=/trunk/; revision=46628
2010-03-31 20:58:42 +00:00
Sir Richard 44c2da0137 [NDK]: Add missing Io functions.
svn path=/trunk/; revision=46627
2010-03-31 20:54:22 +00:00
Eric Kohl abf91accdb [NTOSKRNL]
- Move subject context locking to SeAccessCheck because NtAccessCheck already locks it.
- Do not use the captured security descriptor in NtAccessCheck yet, because SeCaptureSecurityDescriptor seems to create broken SDs.

svn path=/trunk/; revision=46626
2010-03-31 19:53:19 +00:00
Johannes Anderwald f33278167e [KS]
- Enable registered device interfaces when device successfully initializes
- Fix totally broken KsFilterFactorySetDeviceClassesState implementation

svn path=/trunk/; revision=46625
2010-03-31 17:33:49 +00:00
Johannes Anderwald a22801fd63 [PSDK]
- Add KsFilterFactorySetDeviceClassesState prototype

svn path=/trunk/; revision=46624
2010-03-31 17:13:41 +00:00
Johannes Anderwald 9974fe1a9c [KS]
- Fix a malicous bug in KsAddItemToObjectBag which caused inifite loops while iterating through object bags
- Use a different mutex than the device mutex for object bags
- Initialize device / object bag mutex when initializing the device
- Initialize object bag lists when initializing the device
- Set device / system power state before calling device Add's routine
- Check if object driver extension has already been allocated in KsInitializeDevice
- Hack KsFilterFactoryUpdateCacheData to return STATUS_SUCCESS
- PinnacleSys PCTV DVB-T tv tuner now successfully initializes and registers its device interfaces

svn path=/trunk/; revision=46623
2010-03-31 16:12:02 +00:00
Johannes Anderwald af6dcb5bf0 [BDASUP]
- Fix initialization of filter /  pin automation table
- Add debug traces

svn path=/trunk/; revision=46622
2010-03-31 15:37:36 +00:00
Timo Kreuzer 1d4dbb9cb7 [KDCOM]
Include ntifs, instead of ntddk, needed by NDK

svn path=/trunk/; revision=46621
2010-03-31 15:19:01 +00:00
Timo Kreuzer 99e6ad789f [NTOS]
Add internal amd64 headers.

svn path=/trunk/; revision=46620
2010-03-31 15:11:20 +00:00
Aleksey Bragin fbf4909187 [NTOSKRNL/CONFIG]
- Implement new (correct) hive flusher lock/release routines, unused right now.

svn path=/trunk/; revision=46619
2010-03-31 14:27:11 +00:00
Aleksey Bragin 3b722382ee [NTOSKRNL/CONFIG]
- Stub support for global quota enable.
- Stub support for notifications.
- Add a source file for a future HiveList implementation.

svn path=/trunk/; revision=46618
2010-03-31 14:10:24 +00:00
Aleksey Bragin 0254cbbcf9 [NTOSKRNL/CONFIG]
- Add more assert macros for registry operations: locked or loading, exclusively locked or loading, hash and KCB locks, locked for flushing.
- Add macros for getting alloc page from KCB and delay alloc item.

svn path=/trunk/; revision=46617
2010-03-31 13:25:51 +00:00
Timo Kreuzer 0e774b5a9b [tchar.h]
enable _tcsnlen definition

svn path=/trunk/; revision=46616
2010-03-31 12:16:42 +00:00
Timo Kreuzer 572aa7509d [RBUILD]
- Don't link to RosBE's ofmt_stub.a, as we have our own version now.
- Don't link to libcoldname.a on amd64, instead link to libgcc_eh.a

svn path=/trunk/; revision=46615
2010-03-31 11:57:21 +00:00
Timo Kreuzer 3cedfaae34 [KERNEL32]
Add RtlAddFunctionTable export for amd64

svn path=/trunk/; revision=46614
2010-03-31 10:21:14 +00:00
Sir Richard d623299da0 [HALACPI]: Implement beginning of HAL ACPI support (HalpSetupAcpiPhase0). Tested on VMWare, where it found the FACP, SRAT, RSDT and MCFG and the ACPI Timer at 1008H. BOOT and DBGP are not found (optional features).
[HALACPI]: Support depends on boot loader creating the ACPI BIOS Multi Node structure in MultiFunctionAdapter in the hardware tree. It seems that FreeLdr does this (wow!) correctly!
[HALACPI]: Implement HAL ACPI Table Cache.
[HALACPI]: HAL ACPI Table Overrides from the boot loader are not supported (doubt FreeLdr does this).
[HALACPI]: The next steps are to write the HAL ACPI PnP Driver and HAL ACPI Power Driver.

svn path=/trunk/; revision=46613
2010-03-31 04:43:39 +00:00
Sir Richard 53b637ba7e [HAL]: Add Phase 0 HAL Heap Allocation/Mapping/Unmapping APIs, remove current broken APIs that depend on Mm having been initialized. These APIs use the HAL Heap that's typically at 0xFFC00000. FreeLDR seems to map this region correctly.
[HAL]: Although currently implemented for ACPI support (to come), these APIs can now also be used to enable DMA in Phase 0 like NT, instead of only in Phase 1 like ReactOS.

svn path=/trunk/; revision=46612
2010-03-31 04:38:20 +00:00
Sir Richard bd4c20220d [HALACPI]: Add some missing signatures.
svn path=/trunk/; revision=46611
2010-03-31 04:34:26 +00:00
Sir Richard 03317815a6 [HALACPI]: Add HAL ACPI header.
svn path=/trunk/; revision=46610
2010-03-31 04:26:04 +00:00
Johannes Anderwald 0225179140 [SETUPAPI]
- Implement SetupDiOpenDeviceInterfaceW

svn path=/trunk/; revision=46609
2010-03-31 02:43:57 +00:00
Timo Kreuzer d0747d85c1 fix a typo
svn path=/trunk/; revision=46607
2010-03-30 21:35:52 +00:00
Timo Kreuzer 26109e48de [MINGW]
- add back getopt.c (needed by rosapps)
- add ofmt_stub.c and cx_pure_virtual.c


svn path=/trunk/; revision=46606
2010-03-30 21:28:38 +00:00
Eric Kohl d69c4c5248 [NTOSKRNL]
- Capture the security descriptor before passing it to SepAccessCheck.
- Move the security descriptor check and the impersonation level check from SepAccessCheck to SeAccessCheck.

svn path=/trunk/; revision=46605
2010-03-30 20:16:26 +00:00
Timo Kreuzer ffd48df713 [WINE]
define interlocked_xchg_add to InterlockedExchangeAdd

svn path=/trunk/; revision=46604
2010-03-30 19:59:29 +00:00
Johannes Anderwald ebf3dfc568 [SETUPAPI]
- Open Device Class with desired access

svn path=/trunk/; revision=46603
2010-03-30 19:43:09 +00:00
Eric Kohl e3949430d7 [NTOSKRNL]
- Move kernel-mode check around, so we won't run it twice when calling NtAccessCheck.
- Fix a wrong check for security descriptors with a NULL-DACL.

svn path=/trunk/; revision=46602
2010-03-30 17:01:23 +00:00
Timo Kreuzer 4c530b8f2a [NTOS]
Update pspec file with amd64 exports, use -arch= where appropriate

svn path=/trunk/; revision=46601
2010-03-30 16:59:52 +00:00
Cameron Gutman 9dfa15a2cd [NTOSKRNL]
- Disable ACPI until the resource detection problems are resolved

svn path=/trunk/; revision=46600
2010-03-30 16:34:17 +00:00
Timo Kreuzer 5ee8d1be0d merge from amd64 branch:
38333
[INTRIN_X86]
#define _alloca() to __builtin_alloca() on amd64

46388
[INTRIN_X86]
- Add __stosq, __movsq, _bittest64

svn path=/trunk/; revision=46599
2010-03-30 16:25:51 +00:00
Timo Kreuzer 018a23596b [KERNEL32]
Add some amd64 exports

svn path=/trunk/; revision=46598
2010-03-30 16:17:48 +00:00
Timo Kreuzer 794e740131 Merge from amd64 branch:
46478
[CRT]
- define _CRTBLD
- rename float_t/double_t/long_double_t to float_s/double_s/long_double_s to avoid name conflicts

46511
[FREELDR]
snprintf -> _snprintf

46534
[CRT]
- Set crt="static" in freeldr, rtl, bmfs, ftfd, rtl, mini_hal
- define "CRTDLL" in ntdll, crtdll, msvcrt, msvcrt20, msvcrt40

46535
[CRT HEADERS]
- add _mingw_mac.h from ming-w64 and include it into _mingw.h
- Update _CRTIMP definition
- Fix definition of _wctype
- onexit is not _CRTIMP

46537
[MINGW]
Update mingw library to mingw-w64 trunk (mingw-w64-src_20100325)

46538
Apply MSVC compilation fix.

46539
[MINGW]
Apply MSVC compilation fixes

svn path=/trunk/; revision=46597
2010-03-30 13:30:36 +00:00
Johannes Anderwald c78ad5ef45 [BDAPLGIN, KSPROXY, MSDVBNP, MSVIDCTL]
- Register DLLs when ReactOS is installed

svn path=/trunk/; revision=46594
2010-03-30 11:52:50 +00:00
Johannes Anderwald b884e9009c - Add bdasup to bootcd
svn path=/trunk/; revision=46593
2010-03-30 11:28:10 +00:00
Timo Kreuzer 8627f5ae27 Merge from amd64-branch:
44467, 44468, 44470, 44471, 46524
[OLDNAMES]
Update moldname-msvcrt.def
Add a proper oldnames lib, instead of implicitly including it with mingw.

46526
[FTP/DHCP]
- remove the oldnames hack, as we now have a proper oldnames lib (included in mingw_common)
- protect struct timezone from redefinition

svn path=/trunk/; revision=46592
2010-03-30 11:09:21 +00:00