reactos.git
13 years ago[dbghelp.h] / [imagehlp.h]
Timo Kreuzer [Tue, 27 Jul 2010 14:08:36 +0000 (14:08 +0000)]
[dbghelp.h] / [imagehlp.h]
- fix LOADED_IMAGE, UpdateDebugInfoFile, UpdateDebugInfoFileEx, ReBaseImage

svn path=/trunk/; revision=48306

13 years ago[PSDK]
Amine Khaldi [Tue, 27 Jul 2010 09:56:21 +0000 (09:56 +0000)]
[PSDK]
- Mark TraceMessageVa as WMIAPI.

svn path=/trunk/; revision=48300

13 years ago[XDK]
Amine Khaldi [Tue, 27 Jul 2010 09:14:13 +0000 (09:14 +0000)]
[XDK]
- WmiTraceMessageVa is NTAPI, not __cdecl.
[DDK]
- Update wdm.h to reflect XDK changes.

svn path=/trunk/; revision=48299

13 years agoAdd all pci bridge control function (PciBridgeIoBase, PciBridgeIoLimit, PciBridgeMemo...
evb [Tue, 27 Jul 2010 03:24:24 +0000 (03:24 +0000)]
Add all pci bridge control function (PciBridgeIoBase, PciBridgeIoLimit, PciBridgeMemoryBase, PciBridgeMemoryLimit, PciBridgePrefetchMemoryBase, PciBridgePrefetchMemoryLimit, PciBridgeMemoryWorstCasealignment, PciBridgeIsPositiveDecode, PciBridgeIsSubtractiveDecode)
More support ICH0/1/2/3/4 hub
Add all PCI2PCI bridge limit/current resource codes (PPBridge_*), now is BAR setup okay, and Device_* must be implement
Support ISA+VGA legacy decode, 20+64-bit decode, ROM BAR, prefetch BAR

svn path=/trunk/; revision=48298

13 years agoMaybe fix dbghelp build on 64 bit.
Daniel Reimer [Mon, 26 Jul 2010 23:48:15 +0000 (23:48 +0000)]
Maybe fix dbghelp build on 64 bit.

svn path=/trunk/; revision=48292

13 years ago[NTOSKRNL]
Timo Kreuzer [Mon, 26 Jul 2010 23:09:17 +0000 (23:09 +0000)]
[NTOSKRNL]
◙ Fix MiInitializePageTable
◙ Comment out some more code for amd64

svn path=/trunk/; revision=48291

13 years agoSync dbghelp and imagehlp to Wine 1.2
Daniel Reimer [Mon, 26 Jul 2010 22:33:59 +0000 (22:33 +0000)]
Sync dbghelp and imagehlp to Wine 1.2
Winhttp and Wininet don't like me and so I skip them for now.

svn path=/trunk/; revision=48290

13 years agoRevert a part of my previous commit
Giannis Adamopoulos [Mon, 26 Jul 2010 21:48:52 +0000 (21:48 +0000)]
Revert a part of my previous commit

svn path=/trunk/; revision=48289

13 years ago[NTOS]: Another long-lost-promised straggler for Timo. There may be more of these...
Sir Richard [Mon, 26 Jul 2010 21:45:42 +0000 (21:45 +0000)]
[NTOS]: Another long-lost-promised straggler for Timo. There may be more of these needed, this is what I had done on my disk.

svn path=/trunk/; revision=48288

13 years ago[ntos]
Giannis Adamopoulos [Mon, 26 Jul 2010 21:32:38 +0000 (21:32 +0000)]
[ntos]
- Fix several issues with msvc in ntoskrnl
- Add ATTRIB_NORETURN definition which will be used by function pointers because msvc doesn't like DECLSPEC_NORETURN in function pointers

svn path=/trunk/; revision=48287

13 years agoSync winemp3.acm with Wine HEAD. This one uses libmpg123 which was added in Version...
Daniel Reimer [Mon, 26 Jul 2010 15:04:32 +0000 (15:04 +0000)]
Sync winemp3.acm with Wine HEAD. This one uses libmpg123 which was added in Version 1.12.3. Thx to Timo Kreuzer for telling me the magics of the crt="dll" switch.

svn path=/trunk/; revision=48279

13 years ago[reactos.dff]
Timo Kreuzer [Mon, 26 Jul 2010 14:01:57 +0000 (14:01 +0000)]
[reactos.dff]
make explorer.exe and ntvdm optional

svn path=/trunk/; revision=48278

13 years ago[PSDK]
Amine Khaldi [Mon, 26 Jul 2010 13:49:12 +0000 (13:49 +0000)]
[PSDK]
- Rename _WINIOCTL_H to _WINIOCTL_

svn path=/trunk/; revision=48277

13 years agoAdd hivecls_amd64.inf
Timo Kreuzer [Mon, 26 Jul 2010 13:43:40 +0000 (13:43 +0000)]
Add hivecls_amd64.inf

svn path=/trunk/; revision=48276

13 years agoAdd diffs for msimtf and atl.
Sylvain Petreolle [Mon, 26 Jul 2010 09:13:50 +0000 (09:13 +0000)]
Add diffs for msimtf and atl.

svn path=/trunk/; revision=48275

13 years agoGet back r47063 & r47960 reverted by r48273
Pierre Schweitzer [Mon, 26 Jul 2010 08:54:26 +0000 (08:54 +0000)]
Get back r47063 & r47960 reverted by r48273

svn path=/trunk/; revision=48274

13 years agoFinish the Wine sync. These components are not just rc file changes
Daniel Reimer [Mon, 26 Jul 2010 02:26:04 +0000 (02:26 +0000)]
Finish the Wine sync. These components are not just rc file changes
atl, comctl32, comdlg32, dwmapi, fusion, gdiplus, jscript, mpr, mshtml, msi, msimtf, msxml3, ole32, oleaut32, riched20, shdocvw, shlwapi, urlmon, usp10, version and windowscodecs
Seems to build and boot. /me hides

svn path=/trunk/; revision=48273

13 years agoAdd amd64 inf files
Timo Kreuzer [Mon, 26 Jul 2010 01:42:31 +0000 (01:42 +0000)]
Add amd64 inf files

svn path=/trunk/; revision=48272

13 years ago[CRT]
Timo Kreuzer [Mon, 26 Jul 2010 01:10:20 +0000 (01:10 +0000)]
[CRT]
Add logf wrapper

svn path=/trunk/; revision=48271

13 years agoWine dll sync commit 1 of 2.
Daniel Reimer [Mon, 26 Jul 2010 00:12:22 +0000 (00:12 +0000)]
Wine dll sync commit 1 of 2.
This one syncs all dlls which only have resource file changes.
avifil32, credui, crypt32, cryptdlg, cryptui, iccvid, kernel32, localspl, localui, mapi32, msacm32, msrle32, msvfw32, msvidc32, oleacc, oledlg, pstorec, shdoclc, wldap32

svn path=/trunk/; revision=48269

13 years ago[MSVCRT]
Timo Kreuzer [Sun, 25 Jul 2010 21:58:08 +0000 (21:58 +0000)]
[MSVCRT]
Add exports for ceilf, cosf, logf

svn path=/trunk/; revision=48265

13 years ago[TOUCH]
Sylvain Petreolle [Sun, 25 Jul 2010 20:57:38 +0000 (20:57 +0000)]
[TOUCH]
Remove ntdll library and link to getopt.

svn path=/trunk/; revision=48263

13 years agoUkrainian translation patch for taskmgr, explorer and shell32. By Igor Paliychuk.
Amine Khaldi [Sun, 25 Jul 2010 16:15:27 +0000 (16:15 +0000)]
Ukrainian translation patch for taskmgr, explorer and shell32. By Igor Paliychuk.

svn path=/trunk/; revision=48254

13 years agoFix build.
Amine Khaldi [Sun, 25 Jul 2010 14:20:03 +0000 (14:20 +0000)]
Fix build.

svn path=/trunk/; revision=48253

13 years ago[NEWINFLIB]
Timo Kreuzer [Sun, 25 Jul 2010 14:09:08 +0000 (14:09 +0000)]
[NEWINFLIB]
PINT -> INT*

svn path=/trunk/; revision=48252

13 years ago[USETUP] / [INFLIB]
Timo Kreuzer [Sun, 25 Jul 2010 13:46:54 +0000 (13:46 +0000)]
[USETUP] / [INFLIB]
Merge r36443 from amd64 branch:
Remove references to Infp Functions that collide with inflib names, call the actual functions instead of making small functions that shared the same parameters and just called into inflib anyway, with no changes whatsoever.
Make InfpGetIntField's 3rd parameter an INT* (Samuel Serapion)

svn path=/trunk/; revision=48251

13 years ago[OSKITTCP]
Timo Kreuzer [Sun, 25 Jul 2010 12:34:56 +0000 (12:34 +0000)]
[OSKITTCP]
Don't add leading underscores to symbols on amd64 builds

svn path=/trunk/; revision=48250

13 years ago[NTOSKRNL]
Timo Kreuzer [Sun, 25 Jul 2010 12:00:26 +0000 (12:00 +0000)]
[NTOSKRNL]
- Fix MiAddressToPti and implement MiAddressToPxi for amd64
- Replace #error with DPRINT and ASSERT(FALSE) in MiInitializeLargePageSupport
- Implement amd64 specific MmCreateProcessAddressSpace
- Add MmProtectToPteMask for amd64 (copied from x86)
- Remove amd64 version of MmInitializeHandBuiltProcess

svn path=/trunk/; revision=48249

13 years ago[MINGW]
Timo Kreuzer [Sun, 25 Jul 2010 03:08:53 +0000 (03:08 +0000)]
[MINGW]
Add a temporary hack to fix amd64 compilation for some modules.

svn path=/trunk/; revision=48241

13 years ago[IPCONFIG]
Cameron Gutman [Sun, 25 Jul 2010 03:02:01 +0000 (03:02 +0000)]
[IPCONFIG]
- Fix the media detection code in ipconfig

svn path=/trunk/; revision=48240

13 years ago[PSDK]
Amine Khaldi [Sun, 25 Jul 2010 01:22:15 +0000 (01:22 +0000)]
[PSDK]
- Make FORCEINLINE extern (not static)
- Declare WspiapiLegacyFreeAddrInfo, WspiapiLegacyGetAddrInfo and WspiapiLegacyGetNameInfo as static __inline.
[CRT]
- Convert FillBuf to static __inline.
[NTOS]
- Convert MmProtectToPteMask to extern.
- Convert LpcpAllocateFromPortZone to static __inline.

svn path=/trunk/; revision=48239

13 years ago[NTOSKRNL]
Timo Kreuzer [Sun, 25 Jul 2010 00:50:03 +0000 (00:50 +0000)]
[NTOSKRNL]
Make MmIsAddressValid portable by using _MI_PAGING_LEVELS macro.

svn path=/trunk/; revision=48238

13 years ago[NTOS]: Implement MmDeleteTeb, VADs are now deleted/freed on thread exit as well...
Sir Richard [Sat, 24 Jul 2010 16:28:51 +0000 (16:28 +0000)]
[NTOS]: Implement MmDeleteTeb, VADs are now deleted/freed on thread exit as well (but the underlying page is still leaked). Should fix the advapi32 security crash.
[NTOS]: Sometimes it seems we hit some bad VADs due to bugs? in the AVL tree implementation. I'm going on vacation for a month and can't look at this, so I've hacked the code to ignore such VADs for now, in the interest of fixing the winetest regression.

svn path=/trunk/; revision=48235

13 years ago[NTOS]: Implement MmCleanProcessAddressSpace in ARM3, now the PEB/TEB VADs are remove...
Sir Richard [Sat, 24 Jul 2010 16:12:39 +0000 (16:12 +0000)]
[NTOS]: Implement MmCleanProcessAddressSpace in ARM3, now the PEB/TEB VADs are removed when the process exits (although the pages are still leaking, for now), and the pool allocation for the VAD is also freed.
[NTOS]: Use ARM3 paged pool up until smss.exe starts. There's a last bug in the expansion code before we can get rid of the old paged pool.

svn path=/trunk/; revision=48234

13 years ago[NTOS]: Reimplement MmCreateProcessAddressSpace in ARM3. Basically the same as before...
Sir Richard [Sat, 24 Jul 2010 15:30:24 +0000 (15:30 +0000)]
[NTOS]: Reimplement MmCreateProcessAddressSpace in ARM3. Basically the same as before but using the ARM3 PFN list APIs, the ARM3 macros, etc. Once change is processes are now populating the MmProcessList, and the "MmGlobalKernelPageTable" isn't used anymore for new processes. Also the mappings come from SysPTE space, not hyperspace.
[NTOS]: More work will be needed in this area, but this gets rid of another ReactOS dinosaur.

svn path=/trunk/; revision=48233

13 years ago[DHCPCSVC]
Cameron Gutman [Sat, 24 Jul 2010 15:04:24 +0000 (15:04 +0000)]
[DHCPCSVC]
- Initialize length to prevent a possible buffer overflow
- Thanks to janderwald for finding my mistake

svn path=/trunk/; revision=48232

13 years ago[NTOS]: Take over MmInitializeProcessAddressSpace, MmInitializeHandBuiltProcess,...
Sir Richard [Sat, 24 Jul 2010 15:01:05 +0000 (15:01 +0000)]
[NTOS]: Take over MmInitializeProcessAddressSpace, MmInitializeHandBuiltProcess, MmInitializeHandBuiltProcess2 into ARM3, and cleanup the code.
[NTOS]: Prepare to take over MmCreateProcessAddressSpace.

svn path=/trunk/; revision=48231

13 years ago[KMIXER]
Amine Khaldi [Sat, 24 Jul 2010 14:49:46 +0000 (14:49 +0000)]
[KMIXER]
- Remove memset and memcpy implementations from pin.c

svn path=/trunk/; revision=48230

13 years ago[NDIS]
Amine Khaldi [Sat, 24 Jul 2010 13:47:41 +0000 (13:47 +0000)]
[NDIS]
- Move NDIS_HARDWARE_STATUS, GEN_GET_TIME_CAPS, GEN_GET_NETCARD_TIME, NDIS_MEDIA_STATE, NDIS_GUID, NDIS_PM_PACKET_PATTERN, NETWORK_ADDRESS, NETWORK_ADDRESS_LIST, TRANSPORT_HEADER_OFFSET and NDIS_CO_LINK_SPEED from ndis.h to ntddndis.h (where they should belong).
- typedef NDIS_STATUS for ntddndis.h
- Group some related definitions in ndis.h
- Some _ANONYMOUS_* -> __MINGW_EXTENSION conversions.
- Guard some definitions against NDIS_LEGACY_DRIVER.
- Add some missing definitions.
- NDIS_MINIPORT_BLOCK : PVOID  Signature; -> NDIS_OBJECT_HEADER Header;
- Add missing xfilter.h inclusion.
- Add some missing function declarations.
- Convert some function declarations into macros.
- Guard some definitions against NDIS_LEGACY_MINIPORT.

svn path=/trunk/; revision=48229

13 years ago[XDK]
Amine Khaldi [Sat, 24 Jul 2010 10:51:22 +0000 (10:51 +0000)]
[XDK]
- Missed this one (FORCEINLINE)
[DDK]
- Update DDK to reflect the XDK changes.

svn path=/trunk/; revision=48228

13 years ago[[MINGW-W64]
Amine Khaldi [Sat, 24 Jul 2010 10:10:15 +0000 (10:10 +0000)]
[[MINGW-W64]
- Tighten up reactos.diff now that we have all those diffs (except one) committed upstream.

svn path=/trunk/; revision=48227

13 years ago[MINGW-W64]
Amine Khaldi [Sat, 24 Jul 2010 09:59:34 +0000 (09:59 +0000)]
[MINGW-W64]
- Sync gs_support.c now that our patches are committed upstream.

svn path=/trunk/; revision=48226

13 years ago[CRT]
Amine Khaldi [Sat, 24 Jul 2010 09:52:46 +0000 (09:52 +0000)]
[CRT]
- Add __MINGW_ATTRIB_UNUSED macro.

svn path=/trunk/; revision=48225

13 years ago[XDK]
Amine Khaldi [Sat, 24 Jul 2010 09:20:56 +0000 (09:20 +0000)]
[XDK]
- Make sure FORCEINLINE comes as first in declarations.
[DDK]
- Update DDK to reflect the XDK changes.

svn path=/trunk/; revision=48224

13 years ago[NTOS]: Implement an AVL node deletion algorithm (RtlpDeleteAvlTreeNode). Use it...
Sir Richard [Sat, 24 Jul 2010 04:00:22 +0000 (04:00 +0000)]
[NTOS]: Implement an AVL node deletion algorithm (RtlpDeleteAvlTreeNode). Use it in MiRemoveNode, now implemeneted, and RtlDeleteElementGenericTableAvl, also now implemented. It hopefully works.

svn path=/trunk/; revision=48223

13 years ago[NTOSKRNL]
Timo Kreuzer [Sat, 24 Jul 2010 01:12:13 +0000 (01:12 +0000)]
[NTOSKRNL]
Bring over all current amd64 specific code from the amd64 branch

svn path=/trunk/; revision=48222

13 years ago- Fix epic naming fail (DhcpEnabled -> EnableDHCP
Cameron Gutman [Sat, 24 Jul 2010 00:25:59 +0000 (00:25 +0000)]
- Fix epic naming fail (DhcpEnabled -> EnableDHCP
[DHCPCSVC]: Verify that the length is correct
[TCPIP]: Make sure DHCP is enabled before reading IP information

svn path=/trunk/; revision=48221

13 years ago[NTOSKRNL]
Timo Kreuzer [Fri, 23 Jul 2010 23:50:26 +0000 (23:50 +0000)]
[NTOSKRNL]
Add missing declarations

svn path=/trunk/; revision=48220

13 years ago[NTOSKRNL]
Timo Kreuzer [Fri, 23 Jul 2010 23:30:00 +0000 (23:30 +0000)]
[NTOSKRNL]
- Add KiGetLinkedTrapFrame for amd64
- Add MiAddressToPti
- Fix MmCreateProcessAddressSpace, MmInitializeHandBuiltProcess prototype (ULONG -> ULONG_PTR)
- #if out some C_ASSERTs for other architectures than x86
- #define InitializeSListHead to RtlInitializeSListHead on amd64
- Don't implement MiSyncARM3WithROS on amd64
- Implement RtlPcToFileHeader, RtlpGetStackLimits

svn path=/trunk/; revision=48219

13 years ago[NDK]
Timo Kreuzer [Fri, 23 Jul 2010 23:23:51 +0000 (23:23 +0000)]
[NDK]
Update amd64/asm.h to MSVC compatible format

svn path=/trunk/; revision=48218

13 years ago[NTOSKRNL]
Timo Kreuzer [Fri, 23 Jul 2010 22:40:13 +0000 (22:40 +0000)]
[NTOSKRNL]
Don't use freeldrhack on amd64

svn path=/trunk/; revision=48217

13 years ago- Remove some debug info that I forgot about
Cameron Gutman [Fri, 23 Jul 2010 22:33:09 +0000 (22:33 +0000)]
- Remove some debug info that I forgot about

svn path=/trunk/; revision=48216

13 years ago[NETCFGX]
Cameron Gutman [Fri, 23 Jul 2010 22:30:27 +0000 (22:30 +0000)]
[NETCFGX]
- Create the DhcpEnabled value in the registry
[TCPIP]
- Apply the static IP address configuration data
[DHCPCSVC]
- Remove the static IP address code

svn path=/trunk/; revision=48215

13 years ago[DHCPCSVC]
Cameron Gutman [Fri, 23 Jul 2010 21:57:08 +0000 (21:57 +0000)]
[DHCPCSVC]
- Generate a link-local IP address if DHCP fails
- Don't destroy the IP addresses in the registry

svn path=/trunk/; revision=48213

13 years ago[NDIS]
Cameron Gutman [Fri, 23 Jul 2010 16:34:35 +0000 (16:34 +0000)]
[NDIS]
- Verify that each adapter has been initialized before passing it to the protocol's BindAdapter function
- Also verify that each adapter has not already been bound to the protocol
- Miniport drivers can now function without a reboot (needed to use 3rd-party NIC drivers on the live CD)

svn path=/trunk/; revision=48212

13 years ago[NDIS]
Amine Khaldi [Fri, 23 Jul 2010 15:51:54 +0000 (15:51 +0000)]
[NDIS]
- Guard several definitions against NDIS_SUPPORT_60_COMPATIBLE_API.
- __GNU_EXTENSION -> __MINGW_EXTENSION conversions.
- Group some related definitions.
- Update NDIS_RW_LOCK.
- Improve NDIS_TIMER_FUNCTION.
- Add several missing Ndis* function declarations.
- Guard several definitions against NDIS_LEGACY_DRIVER and NDIS_LEGACY_MINIPORT.
- Convert some function declarations into macros.

svn path=/trunk/; revision=48211

13 years agoSync reg, xcopy, winhlp32, wordpad with Wine 1.2
Daniel Reimer [Fri, 23 Jul 2010 08:36:51 +0000 (08:36 +0000)]
Sync reg, xcopy, winhlp32, wordpad with Wine 1.2

svn path=/trunk/; revision=48210

13 years agoSync Winefile with Wine 1.2
Daniel Reimer [Fri, 23 Jul 2010 08:34:57 +0000 (08:34 +0000)]
Sync Winefile with Wine 1.2

svn path=/trunk/; revision=48209

13 years ago[PSEH]
Timo Kreuzer [Fri, 23 Jul 2010 02:18:30 +0000 (02:18 +0000)]
[PSEH]
Stub amd64 functions and remove leading underscores from symbols

svn path=/trunk/; revision=48207

13 years ago[PSEH]
Timo Kreuzer [Fri, 23 Jul 2010 01:36:44 +0000 (01:36 +0000)]
[PSEH]
Add (non working) 64bit code

svn path=/trunk/; revision=48206

13 years ago[NDIS]
Amine Khaldi [Fri, 23 Jul 2010 00:20:13 +0000 (00:20 +0000)]
[NDIS]
- Convert NDIS_ERROR_CODE from a typedef to a define.
- Add some missing NDIS_STATUS_* definitions.
- Some _ANONYMOUS_UNION/_ANONYMOUS_STRUCT/__GNU_EXTENSION -> __MINGW_EXTENSION conversions.
- Update NDIS_REQUEST_TYPE and NDIS_PER_PACKET_INFO.
- Guard several definitions against NDIS_LEGACY_DRIVER.
- Improve NDIS_REQUEST.
- Add missing CO_ADDRESS_FAMILY_INFINIBAND, Ndis{Set,Get}PacketCancelId, NDIS_PACKET_{FIRST,LAST}_NDIS_BUFFER and NDIS_PACKET_VALID_COUNTS.
- Group related definitions.
- Update several Ndis* function declarations.
- Add missing NdisInterlocked{Push,Pop}EntryList and NdisGetCurrentSystemTime macros.

svn path=/trunk/; revision=48205

13 years ago[NTOSKRNL]
Timo Kreuzer [Thu, 22 Jul 2010 23:22:57 +0000 (23:22 +0000)]
[NTOSKRNL]
- Add some missing constants for amd64
- Fix compilation of kd64
- Make MmAllocationFragment a SIZE_T

svn path=/trunk/; revision=48204

13 years agoUpdate FireFox, KDE, MirandaIM, Mono, Opera, RosBE64, SeaMonkey, ThunderBird, uTorren...
Daniel Reimer [Thu, 22 Jul 2010 22:01:58 +0000 (22:01 +0000)]
Update FireFox, KDE, MirandaIM, Mono, Opera, RosBE64, SeaMonkey, ThunderBird, uTorrent, VLC in rapps.

svn path=/trunk/; revision=48203

13 years ago[NTOS]: Stop creating a memory area for the shared user data page.
Sir Richard [Thu, 22 Jul 2010 20:54:37 +0000 (20:54 +0000)]
[NTOS]: Stop creating a memory area for the shared user data page.
[NTOS]: Also stop creating a memory area for the illegal user-mode parts of address space.
[NTOS]: Instead, mark the area between MM_HIGHEST_VAD_ADDRESS and MM_HIGHEST_USER_ADDRESS as being ARM3 as well: this way, ARM3 will get the illegal access (and fault), and it will also get the shared user data page access.
[NTOS]: With the previous commit, ARM3 knows how to handle the shared user data page access, and does so succesfully. End result: two more MAREA types have been removed, and the address space setup code is now much simpler.

svn path=/trunk/; revision=48202

13 years agoNote: this patch only implements the code paths, they are not excercised yet.
Sir Richard [Thu, 22 Jul 2010 20:52:23 +0000 (20:52 +0000)]
Note: this patch only implements the code paths, they are not excercised yet.
[NTOS]: Implement handling a very special case of "prototype PTE", the one used to map the shared user data for user-mode applications.
[NTOS]: MiCheckVirtualAddress detects this (Windows behavior) and returns a prototype PTE that's marked MM_READONLY. This is our MmSharedUserDataPte from before. This gets sent to MiDispatchFault which calls MiResolveProtoPteFault to handle it. In turn, this calls MiCompleteProtoPteFault. All these code paths have heavy ASSERTions to only allow them to be hit for the shared user data page, however, in the far distant future when prototype PTEs are used for section objects, we'll at least have the right checks and code flow (many of these ASSERTions will then have to be removed).
[NTOS]: The end result is that we also now have STATUS_PAGE_FAULT_TRANSITION, not just STATUS_PAGE_FAULT_DEMAND_ZERO, and that prototype PTEs are somewhat understood and some assumptions have been removed.

svn path=/trunk/; revision=48201

13 years ago[NTOS]: Stop handling PEB/TEB MAREAs since they're not used anymore.
Sir Richard [Thu, 22 Jul 2010 20:48:04 +0000 (20:48 +0000)]
[NTOS]: Stop handling PEB/TEB MAREAs since they're not used anymore.

svn path=/trunk/; revision=48200

13 years ago[NTOS]: Define the template prototype PTE.
Sir Richard [Thu, 22 Jul 2010 20:47:28 +0000 (20:47 +0000)]
[NTOS]: Define the template prototype PTE.

svn path=/trunk/; revision=48199

13 years ago[NTOS]: Stop handling a bunch of MEMORY_AREA_TYPEs that aren't used anymore.
Sir Richard [Thu, 22 Jul 2010 20:46:49 +0000 (20:46 +0000)]
[NTOS]: Stop handling a bunch of MEMORY_AREA_TYPEs that aren't used anymore.

svn path=/trunk/; revision=48198

13 years ago[NTOS]: Antique leftover, initialize the shared user data page with MI_MAKE_HARDWARE_...
Sir Richard [Thu, 22 Jul 2010 20:46:19 +0000 (20:46 +0000)]
[NTOS]: Antique leftover, initialize the shared user data page with MI_MAKE_HARDWARE_PTE_KERNEL

svn path=/trunk/; revision=48197

13 years ago[DHCPCSVC]
Cameron Gutman [Thu, 22 Jul 2010 19:37:33 +0000 (19:37 +0000)]
[DHCPCSVC]
- Add a hack so we wait for TCP/IP to get ready and bind to adapters instead of failing immediately after the first probe
- Live CD and 2nd stage setup now have fully functional networking :)

svn path=/trunk/; revision=48195

13 years ago[NTOS]: Allocate the PEB at a pseudo-random address just like Windows XP SP2 and...
Sir Richard [Thu, 22 Jul 2010 19:08:45 +0000 (19:08 +0000)]
[NTOS]: Allocate the PEB at a pseudo-random address just like Windows XP SP2 and later, to prevent certain kinds of exploits.
[NTOS]: Allocate PEB and TEB using VADs! The user-mode fault handler seems to work fine, and I could find no regressions. This is the beginning of the end for MAREAs for VM allocations (they will remain for sections).

svn path=/trunk/; revision=48194

13 years ago[NDIS]
Cameron Gutman [Thu, 22 Jul 2010 19:01:49 +0000 (19:01 +0000)]
[NDIS]
- Refresh the protocol bindings after a new miniport is added
- Adapters added after boot work now
- One step closer to Live CD networking

svn path=/trunk/; revision=48193

13 years ago[NTOS]: To Timo, with Love (make System PTEs work on x64).
Sir Richard [Thu, 22 Jul 2010 18:55:36 +0000 (18:55 +0000)]
[NTOS]: To Timo, with Love (make System PTEs work on x64).

svn path=/trunk/; revision=48192

13 years ago[NTOS]: Add support for handling a very specific type of user-fault on ARM3 memory...
Sir Richard [Thu, 22 Jul 2010 18:37:27 +0000 (18:37 +0000)]
[NTOS]: Add support for handling a very specific type of user-fault on ARM3 memory: memory belonging to a VAD allocation made for a PEB/TEB (read-write) that hasn't yet been allocated.
[NTOS]: Define the demand-zero PDE template.

svn path=/trunk/; revision=48190

13 years ago[NETCFGX]
Cameron Gutman [Thu, 22 Jul 2010 18:29:35 +0000 (18:29 +0000)]
[NETCFGX]
- Start the TCP/IP driver after we install a network adapter
- This fixes the major bug that blocks Live CD networking but we still have some DHCP issues (DHCP starts and fails before the NIC and TCP/IP has been installed) and some other adapter detection issues that I need to look into but this is a good first step

svn path=/trunk/; revision=48188

13 years ago[NTOS]: Fix a very stupid bug which made any machine with less than 52GB of RAM appea...
Sir Richard [Thu, 22 Jul 2010 18:26:04 +0000 (18:26 +0000)]
[NTOS]: Fix a very stupid bug which made any machine with less than 52GB of RAM appear as a "Small memory machine" (instead of 13MB).
[NTOS]: Initialize MmTotalCommitLimit, MmTotalCommitLimitMaximum for consistency.
[NTOS]: Initialize and honor MmAllocationFragment value from registry, or from defaults.
[NTOS]: Initialize the system cache working set pushlock.
[NTOS]: Implement Mi(Un)Lock(Process)WorkingSet inlines to handle the various scenarios. Replace broken/hacky code that was in the system loader, fault handler, and VM deletion paths with the correct macros. No locking is done yet as ReactOS' MAREA implementation overloads the Vm field in EPROCESS, but the correct APC blockings and state transitions are done.
[NTOS]: Add another helper from symbols, MI_IS_PAGE_TABLE_OR_HYPER_ADDRESS, and use it instead of the math-by-hand.
[NTOS]: Add MM_IS_ANY_LOCK_HELD and MI_WS_OWNER to help out the new working let locking inlines (names taken from symbols).
[NTOS]: Add _1GB helper for large-memory checks. Also define _1KB as "1024u". The "u" makes GCC not complain when sizes reach >= 2GB, because GCC will interpret the integer literals as "signed", even if the final calculated value is in an unsigned variable.

svn path=/trunk/; revision=48187

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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