reactos.git
11 years ago[NDK]
Timo Kreuzer [Thu, 22 Jul 2010 15:18:55 +0000 (15:18 +0000)]
[NDK]
Include the correct mmtypes.h for amd64

svn path=/trunk/; revision=48186

11 years ago[NTDLL]
Timo Kreuzer [Thu, 22 Jul 2010 14:49:42 +0000 (14:49 +0000)]
[NTDLL]
- Add amd64 stubs for LdrInitializeThunk and KiUserApcDispatcher

svn path=/trunk/; revision=48185

11 years ago[NTDLL]
Timo Kreuzer [Thu, 22 Jul 2010 14:44:27 +0000 (14:44 +0000)]
[NTDLL]
- Comment out RtlWalkFrameChain for amd64

svn path=/trunk/; revision=48184

11 years ago[MSVCRT]
Timo Kreuzer [Thu, 22 Jul 2010 10:23:52 +0000 (10:23 +0000)]
[MSVCRT]
- export _ftol only on i386
- fix _setjmp (2nd argument) and redirect setjmp

svn path=/trunk/; revision=48183

11 years ago[TLIST]
Timo Kreuzer [Thu, 22 Jul 2010 09:20:35 +0000 (09:20 +0000)]
[TLIST]
link to getopt library

svn path=/trunk/; revision=48182

11 years ago[MINGW]
Timo Kreuzer [Thu, 22 Jul 2010 09:20:03 +0000 (09:20 +0000)]
[MINGW]
- Remove getopt from mingw lib and put it into it's own static library
- change crt="dll" to crt="static" for the mingw startup libs, to avoid things like importing from itself.

svn path=/trunk/; revision=48181

11 years ago[NTOS]: Fix "fail". Dedicated to Timo.
Sir Richard [Thu, 22 Jul 2010 05:22:26 +0000 (05:22 +0000)]
[NTOS]: Fix "fail". Dedicated to Timo.

svn path=/trunk/; revision=48180

11 years ago[NTOSKRL]
Timo Kreuzer [Thu, 22 Jul 2010 04:19:27 +0000 (04:19 +0000)]
[NTOSKRL]
Add missing MI_LOWEST_VAD_ADDRESS for amd64

svn path=/trunk/; revision=48179

11 years ago[NDK]
Timo Kreuzer [Thu, 22 Jul 2010 04:08:57 +0000 (04:08 +0000)]
[NDK]
Fix MMADDRESS_NODE and MM_AVL_TABLE

svn path=/trunk/; revision=48178

11 years ago[FREELDR]
Timo Kreuzer [Thu, 22 Jul 2010 03:29:25 +0000 (03:29 +0000)]
[FREELDR]
- In the fat bootsector, don't clobber ax, it contains the number of first cluster of freeldr.sys and is used by the fathelper code.
- Fix jump code in the fathelper code, like in the other bootsectors.
- Now booting from fat partitions (looks like that's what sysreg does) works again. It's safe under the condition that the cluster size is at least 4352 bytes, which is true for harddisks of sizes bigger than 272MB. Booting from smaller fat disks, like floppy breaks when freeldr.sys gets fragmented, which should rarely happen.

svn path=/trunk/; revision=48177

11 years ago[NTOS]: MiRosTakeOverPebTebRanges now creates a small ~1MB ARM3 memory range on top...
Sir Richard [Thu, 22 Jul 2010 03:22:43 +0000 (03:22 +0000)]
[NTOS]: MiRosTakeOverPebTebRanges now creates a small ~1MB ARM3 memory range on top of the ReactOS per-process VA. This does a couple of things: First of all, it changes the default PEB address to another static address. Still not dynamic like it will be soon, but at least it changes it a bit so we can test if anything breaks due to that. It also likewise changes the addresses of the TEBs (Shifted down by 1MB, basically). Finally, it blocks off that part of address space, which nobody should be using now, to see if anyone does indeed touch it.
[NTOS]: Knowing if this change causes issues will help later in determining regressions due to TEB/PEBs mapped as VADs by ARM3, and regressions simply due to the change in VA layout.
[NTOS]: When implemented, the VAD mapping for PEB/TEB will only use that ~1MB, which yes, will limit ReactOS processes to each have only 256 threads. That is obviously a temporary limitation, one I doubt we'll even hit, but I'm putting it out here so you know.

svn path=/trunk/; revision=48176

11 years ago[NTOS]: Learn to build User PTEs as well, with MI_MAKE_HARDWARE_PTE_USER.
Sir Richard [Thu, 22 Jul 2010 02:20:27 +0000 (02:20 +0000)]
[NTOS]: Learn to build User PTEs as well, with MI_MAKE_HARDWARE_PTE_USER.
[NTOS]: MI_MAKE_HARDWARE_PTE becomes MI_MAKE_HARDWARE_PTE_KERNEL, since it assumed this. MI_MAKE_HARDWARE_PTE is now a "generic" you can use when you don't know what the PTE should be. It uses MiDetermineUserGlobalMask to set the right bits.
[NTOS]: Add two more helpers: MI_IS_PAGE_TABLE_ADDRESS and MI_IS_SYSTEM_PAGE_TABLE_ADDDRESS. One is in the symbols, the other I made up to make things clearer.
[NTOS]: MiResolveDemandZeroFault now knnows how to resolve user-demand-zero-faults.
[NTOS]: Implement MiZeroPfn to do the actual zeroing during user-demand-zero-faults (also later for VAD faults).

svn path=/trunk/; revision=48175

11 years ago[NTOS]: Add missing definitions, should fix build.
Sir Richard [Thu, 22 Jul 2010 02:10:43 +0000 (02:10 +0000)]
[NTOS]: Add missing definitions, should fix build.

svn path=/trunk/; revision=48174

11 years agoThis patch introduces a highly-shareable version of AVL trees both for RTL usage...
Sir Richard [Thu, 22 Jul 2010 01:41:45 +0000 (01:41 +0000)]
This patch introduces a highly-shareable version of AVL trees both for RTL usage and for ARM3's MM_AVL_TABLE/MMADDRESS_NODE structures used by VADs on Windows (and soon, ReactOS):
[RTL]: Uncouple generic table from AVL table implementation into its own avltable.c
[RTL]: Get rid of "Austin" and fix prototypes of AVL table functions.
[RTL]: Re-implement AVL table functions, sharing as much code as possible with the SPLAY tree implementation which is pretty decent. Lookup, insert, enumeration are implemented, but not delete.
[RTL]: Make large part of the RTL AVL package into its own "support" file that can work both with MMADDRESS_NODE and RTL_BALANCED_LINKS structures. The former is used by ARM3 for VADs.
[NTOS]: Implement basic VAD AVL tree routines (Insert, LookupEmpty, GetPrevious, CheckForConflict, Locate). This is enough to insert VADs, find a free address range, and locate a VAD by address. No delete yet
Thanks to Timo Kreuzer for some clever definitions, Knuth for his genius, several online C implementations for ideas, the HPI kernel blog for insight on how Windows does it, and others.

svn path=/trunk/; revision=48173

11 years ago[NDK]: Add all the definitions regarding VADs.
Sir Richard [Thu, 22 Jul 2010 01:41:20 +0000 (01:41 +0000)]
[NDK]: Add all the definitions regarding VADs.

svn path=/trunk/; revision=48172

11 years ago[NDK]: Add missing RTL AVL Tree definitions, when used by user-mode applications.
Sir Richard [Thu, 22 Jul 2010 01:09:43 +0000 (01:09 +0000)]
[NDK]: Add missing RTL AVL Tree definitions, when used by user-mode applications.

svn path=/trunk/; revision=48171

11 years ago[PSDK]
Amine Khaldi [Wed, 21 Jul 2010 23:47:33 +0000 (23:47 +0000)]
[PSDK]
- Forgot to commit this.

svn path=/trunk/; revision=48170

11 years ago[DDK/NDIS]
Amine Khaldi [Wed, 21 Jul 2010 23:32:51 +0000 (23:32 +0000)]
[DDK/NDIS]
- Group some related definitions.
- Remove some duplicated NDIS_MINIPORT_MAJOR_VERSION/NDIS_MINIPORT_MINOR_VERSION combinations.
- Add some missing NDIS_LEGACY_DRIVER guards.
- _ANONYMOUS_UNION -> __MINGW_EXTENSION
- Update NDIS_PROCESSOR_TYPE and NDIS_INTERFACE_TYPE.
- Guard NDIS_GENERIC_OBJECT with NDIS_SUPPORT_NDIS6.
- Add missing NDIS_WAN_GET_STATS, NdisAllocateGenericObject, NdisFreeGenericObject, fPACKET_WRAPPER_RESERVED and NDIS_FLAGS_* definitions.
- PNDIS_PACKET_POOL : HANDLE -> NDIS_HANDLE.
- Improve MEDIA_SPECIFIC_INFORMATION
- Some minor formatting.

svn path=/trunk/; revision=48169

11 years ago[RBUILD]
Timo Kreuzer [Wed, 21 Jul 2010 23:17:12 +0000 (23:17 +0000)]
[RBUILD]
Generate an RSP rule for the bootloader, this fixes "input line too long" error reported by tower.

svn path=/trunk/; revision=48168

11 years agoupdate README.WINE
Jérôme Gardou [Wed, 21 Jul 2010 21:28:31 +0000 (21:28 +0000)]
update README.WINE

svn path=/trunk/; revision=48167

11 years ago[DDK/NDIS]
Amine Khaldi [Wed, 21 Jul 2010 19:12:14 +0000 (19:12 +0000)]
[DDK/NDIS]
- Add missing ntstatus.h inclusion.
- Group some related definitions.
- Add several missing ones.

svn path=/trunk/; revision=48165

11 years ago[NTOS]: Handle faults on user-mode addresses, from user-mode processes, if they are...
Sir Richard [Wed, 21 Jul 2010 18:09:31 +0000 (18:09 +0000)]
[NTOS]: Handle faults on user-mode addresses, from user-mode processes, if they are owned by ARM3, so they can be forwarded to the VAD fault handler.

svn path=/trunk/; revision=48164

11 years ago[NTOS]: If the memory area is owned by ARM3, and it's being freed, don't touch the...
Sir Richard [Wed, 21 Jul 2010 17:58:09 +0000 (17:58 +0000)]
[NTOS]: If the memory area is owned by ARM3, and it's being freed, don't touch the pages, just unlink it and free the memory. This is useful for MAREAs being used by ARM3 to protect pieces of address space from the Ros Mm Allocator, but when we don't want it to start playing with our pages. When we do free those MAREAs, keep it away!

svn path=/trunk/; revision=48163

11 years ago[CRT]
Amine Khaldi [Wed, 21 Jul 2010 17:26:00 +0000 (17:26 +0000)]
[CRT]
- Improve NULL definition.

svn path=/trunk/; revision=48162

11 years ago[CRT]
Timo Kreuzer [Wed, 21 Jul 2010 16:03:44 +0000 (16:03 +0000)]
[CRT]
- Add a number of amd64 specific math functions
- add generic c versions of cos and sin
- Remove leading underscores from amd64 symbols

svn path=/trunk/; revision=48161

11 years ago[GDIPLUS]
Timo Kreuzer [Wed, 21 Jul 2010 15:55:51 +0000 (15:55 +0000)]
[GDIPLUS]
On amd64 builds link gdiplus to crt

svn path=/trunk/; revision=48160

11 years ago[DESK]
Gabriel Ilardi [Wed, 21 Jul 2010 12:20:18 +0000 (12:20 +0000)]
[DESK]
- Implement theme quick preview. Patch by Katayama Hirofumi.

See issue #5525 for more details.

svn path=/trunk/; revision=48159

11 years ago[MINGW]
Timo Kreuzer [Wed, 21 Jul 2010 03:22:27 +0000 (03:22 +0000)]
[MINGW]
Remove broken _fmode declaration

svn path=/trunk/; revision=48158

11 years ago[stdlib.h]
Timo Kreuzer [Wed, 21 Jul 2010 02:55:59 +0000 (02:55 +0000)]
[stdlib.h]
- Improve definition of __mb_cur_max and related
- properly handle _M_CEE_PURE

svn path=/trunk/; revision=48157

11 years ago[NTDLL]
Timo Kreuzer [Wed, 21 Jul 2010 02:53:24 +0000 (02:53 +0000)]
[NTDLL]
Add _setjmp, _setjmpex and longjmp exports on amd64

svn path=/trunk/; revision=48156

11 years ago[RSYM64]
Timo Kreuzer [Wed, 21 Jul 2010 02:52:37 +0000 (02:52 +0000)]
[RSYM64]
Silence annoying error messages

svn path=/trunk/; revision=48155

11 years ago[MINGW]
Timo Kreuzer [Wed, 21 Jul 2010 02:04:49 +0000 (02:04 +0000)]
[MINGW]
link mingw_common to oldnames and ntdll

svn path=/trunk/; revision=48154

11 years ago[ATAPI]
Timo Kreuzer [Wed, 21 Jul 2010 01:07:19 +0000 (01:07 +0000)]
[ATAPI]
Link to libcntpr to resolve memmove

svn path=/trunk/; revision=48153

11 years ago[setjmp.h]
Timo Kreuzer [Wed, 21 Jul 2010 00:31:14 +0000 (00:31 +0000)]
[setjmp.h]
Add mingw_getsp as inline function

svn path=/trunk/; revision=48152

11 years ago[CRT]
Timo Kreuzer [Wed, 21 Jul 2010 00:26:51 +0000 (00:26 +0000)]
[CRT]
- Add amd64 versions of setjmp / longjmp
- Add amd64 versions of chkstk_asm.s, seh.s to libcntpr

svn path=/trunk/; revision=48151

11 years ago[FREELDR]
Timo Kreuzer [Tue, 20 Jul 2010 21:38:58 +0000 (21:38 +0000)]
[FREELDR]
- Unify rbuild rule for freeldr, except for ppc, which uses elfexecutable

svn path=/trunk/; revision=48149

11 years ago[BZIP2]
Timo Kreuzer [Tue, 20 Jul 2010 21:29:48 +0000 (21:29 +0000)]
[BZIP2]
- remove hal from libs
- convert to spec

svn path=/trunk/; revision=48148

11 years ago[FORMATTING]
Eric Kohl [Tue, 20 Jul 2010 20:48:11 +0000 (20:48 +0000)]
[FORMATTING]
No code changes.

svn path=/trunk/; revision=48146

11 years ago[NTOSKRNL/FREELDR]
Timo Kreuzer [Tue, 20 Jul 2010 19:38:22 +0000 (19:38 +0000)]
[NTOSKRNL/FREELDR]
Add amd64 linker scripts

svn path=/trunk/; revision=48144

11 years ago[MINGW-W64]
Amine Khaldi [Tue, 20 Jul 2010 19:20:37 +0000 (19:20 +0000)]
[MINGW-W64]
- Wrap MSVC intrinsics onto GCC builtins.
- Mark 'cookie' as an __UNUSED_PARAM.
- Tighten up _WIN64 conditioning.

svn path=/trunk/; revision=48143

11 years ago[MINGW-W64]
Amine Khaldi [Tue, 20 Jul 2010 19:18:03 +0000 (19:18 +0000)]
[MINGW-W64]
- MSVC compatibility fixes.

svn path=/trunk/; revision=48142

11 years ago[FORMATTING]
Amine Khaldi [Tue, 20 Jul 2010 19:15:30 +0000 (19:15 +0000)]
[FORMATTING]
- No functionality change.

svn path=/trunk/; revision=48141

11 years ago[ACCESS]
Timo Kreuzer [Tue, 20 Jul 2010 19:10:02 +0000 (19:10 +0000)]
[ACCESS]
WRC doesn't like (x+x+x+2+x+x+x+x+x+x), use (x+x+x+x+x+x+x+x+x+2) instead. To figure out the reason is left as an exercise for the reader.

svn path=/trunk/; revision=48140

11 years ago[EVENTVWR]
Timo Kreuzer [Tue, 20 Jul 2010 18:32:28 +0000 (18:32 +0000)]
[EVENTVWR]
Add missing newline at end of file

svn path=/trunk/; revision=48139

11 years agoRemove BOM from UTF-8 rc files.
Sylvain Petreolle [Tue, 20 Jul 2010 16:37:22 +0000 (16:37 +0000)]
Remove BOM from UTF-8 rc files.

svn path=/trunk/; revision=48138

11 years ago[HEADERS]
Amine Khaldi [Tue, 20 Jul 2010 15:51:44 +0000 (15:51 +0000)]
[HEADERS]
- Make the header inclusion MSVC compatible.
- compstui now compiles with MSVC.

svn path=/trunk/; revision=48137

11 years ago[FREELDR]
Timo Kreuzer [Tue, 20 Jul 2010 15:45:53 +0000 (15:45 +0000)]
[FREELDR]
- Update isobtrt.asm to handle new PE bootloader, should fix bootcdregtest
- Disable debugging in isoboot.asm

svn path=/trunk/; revision=48136

11 years ago[HEADERS]
Amine Khaldi [Tue, 20 Jul 2010 14:15:51 +0000 (14:15 +0000)]
[HEADERS]
- Make the header inclusion MSVC compatible.
- localspl now compiles with MSVC.

svn path=/trunk/; revision=48135

11 years ago[HEADERS]
Amine Khaldi [Tue, 20 Jul 2010 14:11:43 +0000 (14:11 +0000)]
[HEADERS]
- Make the header inclusion MSVC compatible.

svn path=/trunk/; revision=48134

11 years ago[MINGW-W64]
Amine Khaldi [Tue, 20 Jul 2010 13:04:56 +0000 (13:04 +0000)]
[MINGW-W64]
- Group MSVC related definitions.

svn path=/trunk/; revision=48133

11 years ago[ACPI]
Amine Khaldi [Tue, 20 Jul 2010 12:11:17 +0000 (12:11 +0000)]
[ACPI]
- Define WIN32 when compiling with MSVC

svn path=/trunk/; revision=48132

11 years ago[MINGW-W64]
Amine Khaldi [Tue, 20 Jul 2010 12:10:10 +0000 (12:10 +0000)]
[MINGW-W64]
- Define WIN32_LEAN_AND_MEAN.
- Include stdlib.h for _winmajor.

svn path=/trunk/; revision=48131

11 years ago[MINGW-W64]
Amine Khaldi [Tue, 20 Jul 2010 10:14:07 +0000 (10:14 +0000)]
[MINGW-W64]
- reactos.diff was pushed upstream, so it's not needed anymore.
- Add a missing section.
- Include sect_attribs.h into tlssup.c

svn path=/trunk/; revision=48130

11 years ago[CMD]
Timo Kreuzer [Tue, 20 Jul 2010 04:22:04 +0000 (04:22 +0000)]
[CMD]
Remove BOMs from rc files. Let me know if something's wrong with that.

svn path=/trunk/; revision=48129

11 years ago[RBUILD]
Timo Kreuzer [Tue, 20 Jul 2010 03:01:57 +0000 (03:01 +0000)]
[RBUILD]
For amd64 builds, invoke wrc directly, instead of using gcc to preprocess the files. The reason is that newer gcc versions (like 4.5.0) don't support multiline continuation  (backslash-newline) except for preprocessor directives, but that breaks wine resource strings. This might have to be done for i386 builds too, sooner or later.

svn path=/trunk/; revision=48128

11 years ago[wine/commctrl.h]
Timo Kreuzer [Tue, 20 Jul 2010 02:53:55 +0000 (02:53 +0000)]
[wine/commctrl.h]
Don't use #include_next, instead imclude psdk/commctrl.h

svn path=/trunk/; revision=48127

11 years ago[sdkddkver.h]
Timo Kreuzer [Tue, 20 Jul 2010 02:52:40 +0000 (02:52 +0000)]
[sdkddkver.h]
Add UL suffix to some constants.

svn path=/trunk/; revision=48126

11 years ago[rpcndr.h]
Timo Kreuzer [Mon, 19 Jul 2010 23:47:00 +0000 (23:47 +0000)]
[rpcndr.h]
Add a tag to NDR_SCONTEXT struct. MS headers don't have it, but gcc 4.5.x requires it, because without the tag, the struct would be from an unnamed namespace and can't be shared by different compilation units in C++. Yeah whatever...

svn path=/trunk/; revision=48125

11 years ago[FREELDR]
Timo Kreuzer [Mon, 19 Jul 2010 23:18:31 +0000 (23:18 +0000)]
[FREELDR]
Convert freeldr and setupldr to PE format.
Previously freeldr was a raw binary file, which made handling by the bootsector very easy, but it disqualified it from proper debugging with gdb using symbols. This is possible with having unstripped PE files.
As we don't have any space to do proper PE loading from the bootsector (I already had to trim some strings to get enough space for the new jump code), we need to make sure, that the PE file doesn't contain a .bss section, which is achieved by a linker script. The next thing is to make sure, we don't have any symbols in the output file, because they would make freeldr too big to be loaded into memory and they are useless anyway. On the other hand we like to keep the symbols in the .nostrip.sys files if requested, as this is the primary purpose. This is in theory not a problem, as we could simply strip the file at the end, but binutils throw a monkey wrench in our plans: both strip and objcopy disrespect the file alignment and create unaligned sections, that don't naturally match their VAs. This is solved by hacking rbuild to do invoke ld 2 times, one time without and one time with the symbols (if requested).
Now the bootsectors also got some changes: instead of jumping to the loading address (0x8000) they get the address of the entry point from the image optional header. This is slightly simplified, by assuming the NtHeader begins at offset 0xE0. This finally allows source level debugging of freeldr with gdb.

svn path=/trunk/; revision=48124

11 years ago[WIN32K]
Jérôme Gardou [Mon, 19 Jul 2010 22:41:35 +0000 (22:41 +0000)]
[WIN32K]
  - rewrite UserDrawIconEx, taken from yarotows, with same small modifications.
Fixes a whole bunch of user32:cursoricon tests

svn path=/trunk/; revision=48123

11 years ago[RTL]
Timo Kreuzer [Mon, 19 Jul 2010 21:18:33 +0000 (21:18 +0000)]
[RTL]
- Update amd64 specific code to be MSVC compatible
- Remove Leading underscores from symbols

svn path=/trunk/; revision=48122

11 years ago[ADVAPI32]
Eric Kohl [Mon, 19 Jul 2010 20:27:36 +0000 (20:27 +0000)]
[ADVAPI32]
LookupAccountSidA:
- Change variable prefixes according to the variable type.
- Initialize Unicode strings after the call to LookupAccountSidW because the string length is not set properly otherwise.

svn path=/trunk/; revision=48121

11 years ago[NDK]
Timo Kreuzer [Mon, 19 Jul 2010 19:43:09 +0000 (19:43 +0000)]
[NDK]
Protect LDT_ENTRY from redefinition

svn path=/trunk/; revision=48120

11 years ago[KERNEL32]
Timo Kreuzer [Mon, 19 Jul 2010 18:52:18 +0000 (18:52 +0000)]
[KERNEL32]
Merge r34770, r36475, r36990, r37019, r43852, r43952, r43954, r43979, r43981, r46868 from amd64 branch:
- Multiple ULONG / SIZE_T fixes
- Use UlongToHandle / HandleToUlong to convert between DWORD ProcessId and ClientId.UniqueProcess
- implement amd64 version of _dump_context
- Make IsConsoleHandle 64bit safe
- Update kernel32.pspec with a lot of Win7 (commented out) and some amd64 specific exports, add some more comments and fix sorting
- Implement amd64 version of BaseThreadStartupThunk and BaseProcessStartThunk
- Stub amd64 version of SwitchToFiber
- Implement amd64 version of BasepInitializeContext

svn path=/trunk/; revision=48119

11 years agoLast code in PciScanBus: call to PciGetfunctionLimits now implement (call PcipGetfunc...
evb [Mon, 19 Jul 2010 16:35:52 +0000 (16:35 +0000)]
Last code in PciScanBus: call to PciGetfunctionLimits now implement (call PcipGetfunctionLimits if PciSkipThisFunction say no)
PcipGetfunctionLimits support PCI_HACK_CRITICAL_DEVICE and PCI Debug Device by use IPI code (PciExecuteCriticalSystemRoutine implement)
PciConfigurators table define for Device, PCI-to-PCI (PP) Bridge plus CardBus Bridge but all configurator stub now
Configurator chain: Init (Massage) -> [WRITE INIT] (PciWriteLimitsAndRestoreCurrent) -> Restore -> SaveLimit -> SaveCurrent
Support ExpectedWritebackFailure
Fix bug in PciApplyHacks (found by me testing sir_richard code)
Now pass 7000 SLOC ^_^;~ Good night!

svn path=/trunk/; revision=48118

11 years ago[HALACPI]: Wherever I(?) copy pasted the original HalAdjustResourceList from, in...
Sir Richard [Mon, 19 Jul 2010 15:32:13 +0000 (15:32 +0000)]
[HALACPI]: Wherever I(?) copy pasted the original HalAdjustResourceList from, in the ACPI HAL, I have no idea, but the definition was totally wrong. Should fix the build.

svn path=/trunk/; revision=48117

11 years agoJoint patch
Sir Richard [Mon, 19 Jul 2010 15:15:39 +0000 (15:15 +0000)]
Joint patch
By sir_richard: [PCIX]: - Implement PciIsSlotPresentInParentMethod for ACPI query, and PcoDecodeEnable utility function.
                 - Implement PciConfigureIdeController based on WDHC Whitepaper "How Windows Switches a Controller to Native Mode". Check for PciEanbleNativeModeATA in registry, InitSafeBootMode, and call the ACPI driver to evaluate if NATA is present on the slot. Only configure the controller if both channels support native mode, as this is a Windows restriction.
                        - Implement PciApplyHacks for enumeration and resource update cases. In the first case, we handle legacy DEC Alpha Intel i82375 and i82378 PCI-to-(E)ISA bridges with invalid class codes. In the second, we configure IDE controllers for Native mode, except the OPTi Viper-M, which is known to cause issues. We also support cards with legacy VGA decodes by telling the arbiter to enable full access to the rangesm and finally we completely disable the decodes on Compaq PCI Hotplug Controllers (Revision 17) on PAE systems, as they have bugs handling 64-bit addresses. Finally, on resource updates, we apply a vendor-specific errata to the IBM 20H2999 PCI Docking Bridge (Hotplug) used on Thinkpad 600 Series laptops, and we attempt to avoid issues that can happen on certain devices that are plugged into an ICH1/2/3/4 Intel Hub when it has been configured to do subtractive decode. Full information on these workarounds can be seen in the comments. Finally, we also enable CardBUS devices for ACPI-compliant mode, by crossing out the LegacyBaseAddress in the CardBUS Type 2 PCI Configuration Header.
- Miscelleaneous code cleanups.
By eVb: More PciScanBus support, for debug PCI caps that driver use are dump, and detect nonBIOS configure device (spec is said that CacheLineSize != 0, LatencyTimer != 0 (on PCI-X, != 64)), if found NeedsHotPlugConfiguration to be set
By eVb: Support PCI_HACK_VIDEO_LEGACY_DECODE (call ario_ApplyBrokenVideoHack, but no arb support to do work)

svn path=/trunk/; revision=48116

11 years ago[NDK]: Add a missing HAL function.
Sir Richard [Mon, 19 Jul 2010 15:14:34 +0000 (15:14 +0000)]
[NDK]: Add a missing HAL function.
[PCI]: Update hack flags.

svn path=/trunk/; revision=48115

11 years ago[MINGW]
Amine Khaldi [Mon, 19 Jul 2010 09:58:51 +0000 (09:58 +0000)]
[MINGW]
- __attribute__ ((__unused__)) -> __UNUSED_PARAM, which is MSVC compatible.

svn path=/trunk/; revision=48114

11 years ago[PSDK]
Amine Khaldi [Mon, 19 Jul 2010 01:06:32 +0000 (01:06 +0000)]
[PSDK]
- Fix IOCTL_STORAGE_* redefinitions.

svn path=/trunk/; revision=48112

11 years ago[CRT]
Amine Khaldi [Mon, 19 Jul 2010 00:25:54 +0000 (00:25 +0000)]
[CRT]
- Fix the double use of _CRTIMP.

svn path=/trunk/; revision=48111

11 years ago- Fix _InterlockedExchangeAdd16, _InterlockedCompareExchangePointer and _InterlockedE...
Amine Khaldi [Sun, 18 Jul 2010 22:43:04 +0000 (22:43 +0000)]
- Fix _InterlockedExchangeAdd16, _InterlockedCompareExchangePointer and _InterlockedExchangePointer intrinsics.

svn path=/trunk/; revision=48110

11 years agoMerge r45430 from amd64-bringup : Add #pragma intrinsic for msvc intrinsics.
Amine Khaldi [Sun, 18 Jul 2010 21:55:54 +0000 (21:55 +0000)]
Merge r45430 from amd64-bringup : Add #pragma intrinsic for msvc intrinsics.

svn path=/trunk/; revision=48109

11 years ago[ADVAPI32/LSASRV]
Eric Kohl [Sun, 18 Jul 2010 20:34:34 +0000 (20:34 +0000)]
[ADVAPI32/LSASRV]
- LookupAccountNameW: Call LsaLookupNames instead of returning a dummy name.
- Implement LsaLookupNames. Calls LsarLookupNames.
- LsarLookupNames: return dummy names.

svn path=/trunk/; revision=48108

11 years agoCan't sleep so write more source codes! add scan bus functions to get power caps...
evb [Sun, 18 Jul 2010 18:58:33 +0000 (18:58 +0000)]
Can't sleep so write more source codes! add scan bus functions to get power caps (PciGetEnhancedCapabilities) and AGP caps, use PciReadDeviceCapability util function, now can get wake levels, PCI power state plus target AGP ID. Now can find PCI Device that can't sleep neither! Ha-ha!
Support PCI_HACK_NO_PM_CAPS, PCI_HACK_PRESERVE_COMMAND, PCI_HACK_DONT_DISABLE_DECOES
Add scan bus function to set power for PCI, for now to power up (PciSetPowerManagedDevicePowerState), with support for device that is critical/broken (PciCanDisableDecodes)
Check spec-correct with PciStallForPowerChange after define PciPowerDelayTable for D0<->D3 crossmatrix spec timings (add PciReadDeviceConfig for support)
If bad spec timing use PCI verifier support (PciVerifierRetrieveFailureData) + STATUS_DEVICE_PROTOCOL_ERROR
Add PciVerifierFailureTable with all failure type
Almost the time for resource discovery of BARs!

svn path=/trunk/; revision=48107

11 years ago[W32KNAPI] - More tests to NtUserGetIconInfo
Jérôme Gardou [Sun, 18 Jul 2010 16:57:32 +0000 (16:57 +0000)]
[W32KNAPI]  - More tests to NtUserGetIconInfo

svn path=/trunk/; revision=48106

11 years agoFix my grotesque mistake of r48104
Jérôme Gardou [Sun, 18 Jul 2010 16:45:05 +0000 (16:45 +0000)]
Fix my grotesque mistake of r48104

svn path=/trunk/; revision=48105

11 years ago[W32KNAPI] - Add some more NtUserGetIconInfo tests
Jérôme Gardou [Sun, 18 Jul 2010 16:40:15 +0000 (16:40 +0000)]
[W32KNAPI]  - Add some more NtUserGetIconInfo tests

svn path=/trunk/; revision=48104

11 years ago[W32KNAPI] - Add some more NtUserGetIconInfo tests
Jérôme Gardou [Sun, 18 Jul 2010 16:34:14 +0000 (16:34 +0000)]
[W32KNAPI]  - Add some more NtUserGetIconInfo tests

svn path=/trunk/; revision=48103

11 years ago[PSDK]
Amine Khaldi [Sat, 17 Jul 2010 21:19:38 +0000 (21:19 +0000)]
[PSDK]
- Fix a couple of FIXMEs : UNALIGNED and RESTRICTED_POINTER definitions

svn path=/trunk/; revision=48102

11 years ago[LSASRV]
Eric Kohl [Sat, 17 Jul 2010 18:15:34 +0000 (18:15 +0000)]
[LSASRV]
LsarLookupSids: Return ReferencedDomains information.

svn path=/trunk/; revision=48101

11 years agoMore PciScanBus codes now to check saved PCI BIOS config header saved in registry...
evb [Sat, 17 Jul 2010 16:53:18 +0000 (16:53 +0000)]
More PciScanBus codes now to check saved PCI BIOS config header saved in registry (PciGetBiosConfig, PciSaveBiosConfig) and support load save compare (PcipIsSameDevice) if change in interrupt line
Also for interrupt line use HAL to get parent bus IRQ# if device connected (PciGetAdjustedInterruptLine)
For PCI debug HW PciIsDeviceOnDebugPath to detect, but have not real machine with this kind of device to test
Support PCI_HACK_NO_SUBSYSTEM and PCI_HACK_NO_SUBSYSTEM/REVISION_AFTER_D3 for when compareing
New config function required PciWriteDeviceConfig to update IRQ line from BIOS registry data
Save initial, current Command enables to PDO extension, interrupt data too

svn path=/trunk/; revision=48100

11 years agoImplement PciPdoCreate and add all PDO IRP stub functions, set dispatch table for...
evb [Sat, 17 Jul 2010 15:59:09 +0000 (15:59 +0000)]
Implement PciPdoCreate and add all PDO IRP stub functions, set dispatch table for major/minor command, add PciIrpInvalidDeviceRequest
Fix bug in PciFindPdoByFunction should check device slot info too
Add more enumeration codes in PciScanBus to create PDO
PCI_HACK_FAKE_CLASS_CODE support
Build PDO extension, set ready for PnP manger, now 41 QDR returned
Add PCI/CardBus Bridge to list
Detect bridge/IDE controller with no power down support, hack for Intel 82375 PCI to EISA bridge for Alpha thanks to sir_richard
QUERY_ID is sent to PDOs now!

svn path=/trunk/; revision=48099

11 years agoMore implement of PciScanBus, now read hack flags from table (PciGetHAckFlags), and...
evb [Sat, 17 Jul 2010 15:09:19 +0000 (15:09 +0000)]
More implement of PciScanBus, now read hack flags from table (PciGetHAckFlags), and check for critical device (PciIsCriticalDeviceClass) and VGA device on PCI bridge
Do check for skipping some function (double decker ghost, Intel Alder SMP Pentium Pro machine, hacl flag, more), PciSkipThisfunction
Do check for PDO already exist for function (PciFindPdoByFunction)
Finish impement PciFindParentPciFdoExtension

svn path=/trunk/; revision=48098

11 years ago[PSDK]
Amine Khaldi [Sat, 17 Jul 2010 13:13:18 +0000 (13:13 +0000)]
[PSDK]
- Add missing netevent.h definitions.

svn path=/trunk/; revision=48097

11 years ago[DDK]
Amine Khaldi [Sat, 17 Jul 2010 10:09:09 +0000 (10:09 +0000)]
[DDK]
- Move netevent.h to PSDK.

svn path=/trunk/; revision=48096

11 years ago[DDK]
Amine Khaldi [Sat, 17 Jul 2010 09:42:56 +0000 (09:42 +0000)]
[DDK]
- Move ntddndis.h to PSDK.

svn path=/trunk/; revision=48095

11 years ago[PSDK]
Amine Khaldi [Sat, 17 Jul 2010 09:01:00 +0000 (09:01 +0000)]
[PSDK]
- Fix a couple of typos

svn path=/trunk/; revision=48094

11 years ago[LSASRV]
Eric Kohl [Sat, 17 Jul 2010 07:37:47 +0000 (07:37 +0000)]
[LSASRV]
Use a single table for mapping privilege names to values and values to names.

svn path=/trunk/; revision=48093

11 years ago[KERNEL32]
Timo Kreuzer [Sat, 17 Jul 2010 05:18:31 +0000 (05:18 +0000)]
[KERNEL32]
DWORD -> SIZE_T in ReadProcessMemory

svn path=/trunk/; revision=48092

11 years agoAdd config interface start (PciReadWriteConfigSpace, PciReadSlotConfig)
evb [Sat, 17 Jul 2010 01:31:26 +0000 (01:31 +0000)]
Add config interface start (PciReadWriteConfigSpace, PciReadSlotConfig)
Add PDO_EXTENSION structure and PCI_FUNCTION_RESOURCES, now delete #if0 in old code since PDO_EXTENSION is now exist defintion
Add ID Class/Subclass to description functions (PciGetDeviceDescriptionMessage, PciGetDescriptionMessage), use pciclass.mc from sir_richard
New debug: PciDebugDumpCommonConfig
Implement IRP_MN_QUERY_DEVICE_RELATIONS with PciFdoIrpQueryDeviceRelations and PciQueryDeviceRelations
Begin PciScanBus, now just dump all found device with no more work (0 QDR return)

svn path=/trunk/; revision=48091

11 years agoFix CryptReleaseContext parameter, wine uses an outdated version (< NTDDI_WINXP)
Timo Kreuzer [Fri, 16 Jul 2010 21:30:29 +0000 (21:30 +0000)]
Fix CryptReleaseContext parameter, wine uses an outdated version (< NTDDI_WINXP)

svn path=/trunk/; revision=48090

11 years ago[WS2_32]
Timo Kreuzer [Fri, 16 Jul 2010 20:24:32 +0000 (20:24 +0000)]
[WS2_32]
DWORD -> DWORD_PTR

svn path=/trunk/; revision=48089

11 years ago[VIDEOPRT]
Timo Kreuzer [Fri, 16 Jul 2010 19:20:49 +0000 (19:20 +0000)]
[VIDEOPRT]
Merge r40926 from amd64 branch:
return ERROR_INVALID_FUNCTION on amd64, not ERROR_INVALID_ACCESS from VideoPortEn/DisableInterrupt. Fixes compilation of videoprt for amd64.

svn path=/trunk/; revision=48088

11 years ago[NTOSKRNL]
Timo Kreuzer [Fri, 16 Jul 2010 17:53:00 +0000 (17:53 +0000)]
[NTOSKRNL]
- #if out RtlpCaptureStackLimits on amd64 as well

svn path=/trunk/; revision=48087

11 years ago[NDK]
Timo Kreuzer [Fri, 16 Jul 2010 17:20:46 +0000 (17:20 +0000)]
[NDK]
Merge r44053 from amd64 branch:
- Add KEXCEPTION_FRAME

svn path=/trunk/; revision=48086

11 years ago[NTOSKRNL]
Timo Kreuzer [Fri, 16 Jul 2010 17:14:53 +0000 (17:14 +0000)]
[NTOSKRNL]
Add MM_HIGHEST_VAD_ADDRESS for amd64

svn path=/trunk/; revision=48085

11 years ago[NTOSKRNL]
Timo Kreuzer [Fri, 16 Jul 2010 16:30:05 +0000 (16:30 +0000)]
[NTOSKRNL]
#if out another broken C_ASSERT on amd64

svn path=/trunk/; revision=48084

11 years ago[NTOSKRNL]
Timo Kreuzer [Fri, 16 Jul 2010 15:11:44 +0000 (15:11 +0000)]
[NTOSKRNL]
Comment out a broken C_ASSERT on amd64 to make it compile.

svn path=/trunk/; revision=48083

11 years ago[CRT]
Timo Kreuzer [Fri, 16 Jul 2010 15:08:03 +0000 (15:08 +0000)]
[CRT]
Move #include <precomp.h> to the top, as precompiled headers must be the first thing that is included or it won't take advantage of being precompiled

svn path=/trunk/; revision=48082