Commit graph

43176 commits

Author SHA1 Message Date
Timo Kreuzer 0b2826db83 [MINGW]
link mingw_common to oldnames and ntdll

svn path=/trunk/; revision=48154
2010-07-21 02:04:49 +00:00
Timo Kreuzer 0bb23409ed [ATAPI]
Link to libcntpr to resolve memmove

svn path=/trunk/; revision=48153
2010-07-21 01:07:19 +00:00
Timo Kreuzer d7f170a4ee [setjmp.h]
Add mingw_getsp as inline function

svn path=/trunk/; revision=48152
2010-07-21 00:31:14 +00:00
Timo Kreuzer 0711c75539 [CRT]
- Add amd64 versions of setjmp / longjmp
- Add amd64 versions of chkstk_asm.s, seh.s to libcntpr

svn path=/trunk/; revision=48151
2010-07-21 00:26:51 +00:00
Timo Kreuzer d7e775596d [FREELDR]
- Unify rbuild rule for freeldr, except for ppc, which uses elfexecutable

svn path=/trunk/; revision=48149
2010-07-20 21:38:58 +00:00
Timo Kreuzer 6e137a3c50 [BZIP2]
- remove hal from libs
- convert to spec

svn path=/trunk/; revision=48148
2010-07-20 21:29:48 +00:00
Eric Kohl 924ee8d9ef [FORMATTING]
No code changes.

svn path=/trunk/; revision=48146
2010-07-20 20:48:11 +00:00
Timo Kreuzer a9b1042fdf [NTOSKRNL/FREELDR]
Add amd64 linker scripts

svn path=/trunk/; revision=48144
2010-07-20 19:38:22 +00:00
Amine Khaldi 3f25e73244 [MINGW-W64]
- Wrap MSVC intrinsics onto GCC builtins.
- Mark 'cookie' as an __UNUSED_PARAM.
- Tighten up _WIN64 conditioning.

svn path=/trunk/; revision=48143
2010-07-20 19:20:37 +00:00
Amine Khaldi d0588d0064 [MINGW-W64]
- MSVC compatibility fixes.

svn path=/trunk/; revision=48142
2010-07-20 19:18:03 +00:00
Amine Khaldi fc502885bc [FORMATTING]
- No functionality change.

svn path=/trunk/; revision=48141
2010-07-20 19:15:30 +00:00
Timo Kreuzer 154520a060 [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
2010-07-20 19:10:02 +00:00
Timo Kreuzer bd8190afa7 [EVENTVWR]
Add missing newline at end of file

svn path=/trunk/; revision=48139
2010-07-20 18:32:28 +00:00
Sylvain Petreolle 2bb936ad97 Remove BOM from UTF-8 rc files.
svn path=/trunk/; revision=48138
2010-07-20 16:37:22 +00:00
Amine Khaldi 88db16e943 [HEADERS]
- Make the header inclusion MSVC compatible.
- compstui now compiles with MSVC.

svn path=/trunk/; revision=48137
2010-07-20 15:51:44 +00:00
Timo Kreuzer 96353a5721 [FREELDR]
- Update isobtrt.asm to handle new PE bootloader, should fix bootcdregtest
- Disable debugging in isoboot.asm

svn path=/trunk/; revision=48136
2010-07-20 15:45:53 +00:00
Amine Khaldi bc9f1e46f1 [HEADERS]
- Make the header inclusion MSVC compatible.
- localspl now compiles with MSVC.

svn path=/trunk/; revision=48135
2010-07-20 14:15:51 +00:00
Amine Khaldi 357f79fba6 [HEADERS]
- Make the header inclusion MSVC compatible.

svn path=/trunk/; revision=48134
2010-07-20 14:11:43 +00:00
Amine Khaldi a92f03aea3 [MINGW-W64]
- Group MSVC related definitions.

svn path=/trunk/; revision=48133
2010-07-20 13:04:56 +00:00
Amine Khaldi 8d15da936a [ACPI]
- Define WIN32 when compiling with MSVC

svn path=/trunk/; revision=48132
2010-07-20 12:11:17 +00:00
Amine Khaldi 5be505d1b4 [MINGW-W64]
- Define WIN32_LEAN_AND_MEAN.
- Include stdlib.h for _winmajor.

svn path=/trunk/; revision=48131
2010-07-20 12:10:10 +00:00
Amine Khaldi dfd1480154 [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
2010-07-20 10:14:07 +00:00
Timo Kreuzer 280df5a49b [CMD]
Remove BOMs from rc files. Let me know if something's wrong with that.

svn path=/trunk/; revision=48129
2010-07-20 04:22:04 +00:00
Timo Kreuzer ba97a937c2 [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
2010-07-20 03:01:57 +00:00
Timo Kreuzer 0228d0009e [wine/commctrl.h]
Don't use #include_next, instead imclude psdk/commctrl.h

svn path=/trunk/; revision=48127
2010-07-20 02:53:55 +00:00
Timo Kreuzer d2f3e93b11 [sdkddkver.h]
Add UL suffix to some constants.

svn path=/trunk/; revision=48126
2010-07-20 02:52:40 +00:00
Timo Kreuzer a3d974ee28 [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
2010-07-19 23:47:00 +00:00
Timo Kreuzer 2a5f6261a5 [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
2010-07-19 23:18:31 +00:00
Jérôme Gardou de85efc5ed [WIN32K]
- rewrite UserDrawIconEx, taken from yarotows, with same small modifications.
Fixes a whole bunch of user32:cursoricon tests


svn path=/trunk/; revision=48123
2010-07-19 22:41:35 +00:00
Timo Kreuzer 76d0b0da01 [RTL]
- Update amd64 specific code to be MSVC compatible
- Remove Leading underscores from symbols

svn path=/trunk/; revision=48122
2010-07-19 21:18:33 +00:00
Eric Kohl d4353528e6 [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
2010-07-19 20:27:36 +00:00
Timo Kreuzer 4ea3ee5cd7 [NDK]
Protect LDT_ENTRY from redefinition

svn path=/trunk/; revision=48120
2010-07-19 19:43:09 +00:00
Timo Kreuzer 24480b9b7d [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
2010-07-19 18:52:18 +00:00
evb 0b09093a76 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
2010-07-19 16:35:52 +00:00
Sir Richard c4c9522794 [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
2010-07-19 15:32:13 +00:00
Sir Richard 0e248c787d 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
2010-07-19 15:15:39 +00:00
Sir Richard 422f215958 [NDK]: Add a missing HAL function.
[PCI]: Update hack flags.

svn path=/trunk/; revision=48115
2010-07-19 15:14:34 +00:00
Amine Khaldi fc8c4be858 [MINGW]
- __attribute__ ((__unused__)) -> __UNUSED_PARAM, which is MSVC compatible.

svn path=/trunk/; revision=48114
2010-07-19 09:58:51 +00:00
Amine Khaldi 693a016f71 [PSDK]
- Fix IOCTL_STORAGE_* redefinitions.

svn path=/trunk/; revision=48112
2010-07-19 01:06:32 +00:00
Amine Khaldi 72268d0e17 [CRT]
- Fix the double use of _CRTIMP.

svn path=/trunk/; revision=48111
2010-07-19 00:25:54 +00:00
Amine Khaldi 853b658b58 - Fix _InterlockedExchangeAdd16, _InterlockedCompareExchangePointer and _InterlockedExchangePointer intrinsics.
svn path=/trunk/; revision=48110
2010-07-18 22:43:04 +00:00
Amine Khaldi 5c0e7d3b75 Merge r45430 from amd64-bringup : Add #pragma intrinsic for msvc intrinsics.
svn path=/trunk/; revision=48109
2010-07-18 21:55:54 +00:00
Eric Kohl 5ef81f0fae [ADVAPI32/LSASRV]
- LookupAccountNameW: Call LsaLookupNames instead of returning a dummy name.
- Implement LsaLookupNames. Calls LsarLookupNames.
- LsarLookupNames: return dummy names.

svn path=/trunk/; revision=48108
2010-07-18 20:34:34 +00:00
evb 8091e98e96 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
2010-07-18 18:58:33 +00:00
Jérôme Gardou a6017cd9b2 [W32KNAPI] - More tests to NtUserGetIconInfo
svn path=/trunk/; revision=48106
2010-07-18 16:57:32 +00:00
Jérôme Gardou 2946af0b8e Fix my grotesque mistake of r48104
svn path=/trunk/; revision=48105
2010-07-18 16:45:05 +00:00
Jérôme Gardou 0f1aba925e [W32KNAPI] - Add some more NtUserGetIconInfo tests
svn path=/trunk/; revision=48104
2010-07-18 16:40:15 +00:00
Jérôme Gardou ec5e0ea56a [W32KNAPI] - Add some more NtUserGetIconInfo tests
svn path=/trunk/; revision=48103
2010-07-18 16:34:14 +00:00
Amine Khaldi 715a75ef6b [PSDK]
- Fix a couple of FIXMEs : UNALIGNED and RESTRICTED_POINTER definitions

svn path=/trunk/; revision=48102
2010-07-17 21:19:38 +00:00
Eric Kohl faf61e4427 [LSASRV]
LsarLookupSids: Return ReferencedDomains information.

svn path=/trunk/; revision=48101
2010-07-17 18:15:34 +00:00