12 years agosync with trunk head (34904)
Timo Kreuzer [Mon, 28 Jul 2008 15:52:00 +0000 (15:52 +0000)]
sync with trunk head (34904)

svn path=/branches/ros-amd64-bringup/; revision=34910

12 years agosome more win32k 64 bit fixes
Timo Kreuzer [Mon, 28 Jul 2008 15:30:31 +0000 (15:30 +0000)]
some more win32k 64 bit fixes

svn path=/branches/ros-amd64-bringup/; revision=34909

12 years agosome 64 bit fixes in win32k
Timo Kreuzer [Mon, 28 Jul 2008 15:19:17 +0000 (15:19 +0000)]
some 64 bit fixes in win32k

svn path=/branches/ros-amd64-bringup/; revision=34908

12 years ago- #if out vista api for now
Timo Kreuzer [Mon, 28 Jul 2008 15:14:30 +0000 (15:14 +0000)]
- #if out vista api for now
- fix advapi and kernel32 spec files. They need more review though.
- fix NtUserGetThreadState
This fixes x86 build.

svn path=/branches/ros-amd64-bringup/; revision=34907

12 years agoWarning and error fixes.
Samuel Serapion [Mon, 28 Jul 2008 14:50:17 +0000 (14:50 +0000)]
Warning and error fixes.

svn path=/branches/ros-amd64-bringup/; revision=34906

12 years agoFix x86 ntoskrnl build.
Samuel Serapion [Mon, 28 Jul 2008 14:48:07 +0000 (14:48 +0000)]
Fix x86 ntoskrnl build.
Fix TreeView_EnsureVisible macro.

svn path=/branches/ros-amd64-bringup/; revision=34905

12 years agoThis is a patch i've been keeping for a while. Yes, it's not "as nt does it",
Art Yerkes [Mon, 28 Jul 2008 14:47:17 +0000 (14:47 +0000)]
This is a patch i've been keeping for a while.  Yes, it's not "as nt does it",
but it solves a practical problem, and isn't particularly invasive (the main
change is the call to KdpEnableSafeMem ... everything else could be macroed
out if desired).

This provides armour for kdbg and gdb that avoid faulting on bad addresses by
implementing a simple poor-man's mmu and letting the debuggers use it.

svn path=/trunk/; revision=34904

12 years agofix interlocked stuff in winddk, maybe not 100%, but better now
Timo Kreuzer [Mon, 28 Jul 2008 14:46:08 +0000 (14:46 +0000)]
fix interlocked stuff in winddk, maybe not 100%, but better now

svn path=/branches/ros-amd64-bringup/; revision=34903

12 years ago- Add console version Appwiz. It is not finished, but fully works
Dmitry Chapyshev [Mon, 28 Jul 2008 14:40:32 +0000 (14:40 +0000)]
- Add console version Appwiz. It is not finished, but fully works

svn path=/trunk/; revision=34902

12 years agoDmitry Gorbachev
Aleksey Bragin [Mon, 28 Jul 2008 14:32:50 +0000 (14:32 +0000)]
Dmitry Gorbachev
- PDT of CSRSS has no entry for TCB of the thread, fix this problem.
See issue #3591 for more details.

svn path=/trunk/; revision=34901

12 years agomove the inlined InterlockedAnd/Or from rtl to winbase.h and rename it to Interlocked...
Timo Kreuzer [Mon, 28 Jul 2008 14:05:45 +0000 (14:05 +0000)]
move the inlined InterlockedAnd/Or from rtl to winbase.h and rename it to InterlockedAnd/Or_Inline

svn path=/branches/ros-amd64-bringup/; revision=34900

12 years agoFix (among other things) failure to boot when a CD is not inserted, caused by
Art Yerkes [Mon, 28 Jul 2008 12:38:47 +0000 (12:38 +0000)]
Fix (among other things) failure to boot when a CD is not inserted, caused by
the new (correct) ASSERT in mutex acquisition in MmProbeAndLockPages, which
was erroneously being called from IoBuildAsynchronousFsdRequest at

The only correct course of action when calling IoBuildAsynchronousFsdRequest
at DISPATCH_LEVEL is to MmBuildMdlForNonPagedPool since the buffer must be
nonpaged (if the IRP completes synchronously, we'll still be at DISPATCH_LEVEL)
This is the case when direct io is done at DISPATCH_LEVEL using

svn path=/trunk/; revision=34899

12 years ago- Silence crt's "wtf".
Aleksey Bragin [Mon, 28 Jul 2008 11:30:08 +0000 (11:30 +0000)]
- Silence crt's "wtf".

svn path=/trunk/; revision=34897

12 years ago- Don't check outside of the array bounds
Ged Murphy [Mon, 28 Jul 2008 08:45:38 +0000 (08:45 +0000)]
- Don't check outside of the array bounds
- Spotted by Marcelo Slomp <mslomp at linuxmail dot org>
See issue #3593 for more details.

svn path=/trunk/; revision=34892

12 years agoReplace '#ifdef __linux__' by '#ifndef WIN32', etc. to fix compilation on Mac OS...
Colin Finck [Mon, 28 Jul 2008 08:32:04 +0000 (08:32 +0000)]
Replace '#ifdef __linux__' by '#ifndef WIN32', etc. to fix compilation on Mac OS X (hint by Alex on ros-dev)

svn path=/trunk/; revision=34891

12 years ago- Don't use .spec file on ARM, it doesn't work.
ReactOS Portable Systems Group [Mon, 28 Jul 2008 03:07:50 +0000 (03:07 +0000)]
- Don't use .spec file on ARM, it doesn't work.
- For the first time, the entire ARM build of ReactOS builds (for the components we've defined)!
- Now the user-mode fun begins.

svn path=/trunk/; revision=34890

12 years ago- Fix build of NTOS and FreeLDR on ARM.
ReactOS Portable Systems Group [Mon, 28 Jul 2008 03:07:03 +0000 (03:07 +0000)]
- Fix build of NTOS and FreeLDR on ARM.

svn path=/trunk/; revision=34889

12 years agoNow after loading all the drivers we come to where we setup the page directory. This...
Timo Kreuzer [Mon, 28 Jul 2008 02:18:46 +0000 (02:18 +0000)]
Now after loading all the drivers we come to where we setup the page directory. This is good, but I'm too tired to look into this now....

svn path=/branches/ros-amd64-bringup/; revision=34888

12 years ago- Fix FreeLDR for ARM build after some header changes that happen in NTOS.
ReactOS Portable Systems Group [Mon, 28 Jul 2008 02:18:43 +0000 (02:18 +0000)]
- Fix FreeLDR for ARM build after some header changes that happen in NTOS.

svn path=/trunk/; revision=34887

12 years ago- Define the "generic" versions of the ARM-specific HAL routines.
ReactOS Portable Systems Group [Mon, 28 Jul 2008 02:15:40 +0000 (02:15 +0000)]
- Define the "generic" versions of the ARM-specific HAL routines.
- Now the generic HAL builds without linker errors.

svn path=/trunk/; revision=34886

12 years ago- Fix the NTOS ARM build after the recent Mm changes.
ReactOS Portable Systems Group [Mon, 28 Jul 2008 02:13:56 +0000 (02:13 +0000)]
- Fix the NTOS ARM build after the recent Mm changes.

svn path=/trunk/; revision=34885

12 years ago- We finally figured out how to build the CRT! It seems on ARM, we have to add __MSVC...
ReactOS Portable Systems Group [Mon, 28 Jul 2008 02:13:39 +0000 (02:13 +0000)]
- We finally figured out how to build the CRT! It seems on ARM, we have to add __MSVCRT__ to all build targets.
- Thanks to the people who worked on the PPC port for making this obvious in the rbuild file :)

svn path=/trunk/; revision=34884

12 years agomoar drivers
Timo Kreuzer [Mon, 28 Jul 2008 01:51:56 +0000 (01:51 +0000)]
moar drivers

svn path=/branches/ros-amd64-bringup/; revision=34883

12 years agoanother Interlocked fix, still it's not all perfect
Timo Kreuzer [Mon, 28 Jul 2008 01:50:22 +0000 (01:50 +0000)]
another Interlocked fix, still it's not all perfect

svn path=/branches/ros-amd64-bringup/; revision=34882

12 years agoNow that MADDRESS_SPACE became nearly an empty structure pointing only at the root...
ReactOS Portable Systems Group [Mon, 28 Jul 2008 01:49:23 +0000 (01:49 +0000)]
Now that MADDRESS_SPACE became nearly an empty structure pointing only at the root, it can completely go away. Now VadRoot really is a MM_AVL_TABLE structure.
The BalancedRoot.u1.Parent now points to what used to be MemoryAreaRoot. This isn't really the most proper fix out there -- the problem is that React starts with an no root, while Windows
starts with an empty balanced root. So for now we keep doing it the React way, which means we have about 10 ugly typecast hacks. On the other hand, we got rid of more than 100 of them.

svn path=/trunk/; revision=34881

12 years agoadd another export we need in ntoskrnl
Timo Kreuzer [Mon, 28 Jul 2008 01:26:56 +0000 (01:26 +0000)]
add another export we need in ntoskrnl

svn path=/branches/ros-amd64-bringup/; revision=34880

12 years agoThe address space creation lock is a guarded mutex, not a pushlock, in NT 5.2. While...
ReactOS Portable Systems Group [Mon, 28 Jul 2008 01:11:19 +0000 (01:11 +0000)]
The address space creation lock is a guarded mutex, not a pushlock, in NT 5.2. While it is commendable to attempt using Vista optimizations (it is a push lock on Vista) in order to speed up
the kernel, it is entirely stupid to do so by completing ignoring the ramifications of this change, and furthermore, to pollute the kernel with typecasts, as well as to introduce non-standard
behavior. Ironically it is ion himself who made this change.

svn path=/trunk/; revision=34879

12 years agoThere is no point in saving the address of the address space lock in the address...
ReactOS Portable Systems Group [Mon, 28 Jul 2008 00:56:39 +0000 (00:56 +0000)]
There is no point in saving the address of the address space lock in the address space structure anymore, since this lock is always the address creation lock of the owner process,
and there's always an owner process now.

svn path=/trunk/; revision=34878

12 years ago- add another missing export to ntoskrnl_amd64.def
Timo Kreuzer [Mon, 28 Jul 2008 00:47:28 +0000 (00:47 +0000)]
- add another missing export to ntoskrnl_amd64.def
- fix LARGE_INTEGER to pointer cast
- add more drivers to build

svn path=/branches/ros-amd64-bringup/; revision=34877

12 years agoLooks like this address space nonsense made even less sense than originally understoo...
ReactOS Portable Systems Group [Mon, 28 Jul 2008 00:43:57 +0000 (00:43 +0000)]
Looks like this address space nonsense made even less sense than originally understood. The kernel address space was something created very early-on, and associated with a global variable
that actually contained the address space itself (so it wasn't part of any process). Its locks however, were associated to the "current process", which, when this function is called, is the
idle process (which later is cloned into the initial system process). Shortly thereafter, the address space of the "current process" (still, at this point, the idle process) was initialized
with the function reserved for real processes (MmInitializeProcessAddressSpace), which among other things, performed a couple of user-mode mappings (which are irrelevant and should not be
part of the system process address space). This created a weird schism: the kernel address space was actually a global variable associated with no process at all, while the kernel process
had its own address space as well (which was not the kernel address space). It's a miracle this didn't screw anything up especially since whether or not the address space has an owner
determined the lowest address (which means that if the kernel process allocated a memory with its *own* address space, the code would think it was a user-mode process).
This patch gets rid of the kernel address space as a static structure, and instead makes it a pointer into the idle/system process' address space. It also gets rid of MmInitializeKernelAddresSpace
and instead makes use of the existing MmInitializeHandBuiltProcess, cleaning up the user-mode allocations previously made. Even though all address spaces now have an owner and are part of a
process, MmGetAddressSpaceOwner will still return NULL for now, to remain backwards compatible with legacy code.

svn path=/trunk/; revision=34876

12 years ago- add missing export RtlExtended integerMultiply to ntoskrnl
Timo Kreuzer [Mon, 28 Jul 2008 00:34:07 +0000 (00:34 +0000)]
- add missing export RtlExtended integerMultiply to ntoskrnl
- build class2, atapi and scsiport drivers

svn path=/branches/ros-amd64-bringup/; revision=34875

12 years agoclass2: fix ULONG to pointer cast
Timo Kreuzer [Mon, 28 Jul 2008 00:32:21 +0000 (00:32 +0000)]
class2: fix ULONG to pointer cast

svn path=/branches/ros-amd64-bringup/; revision=34874

12 years agoThe puzzle of the design decisions behind the React address space structure continues...
ReactOS Portable Systems Group [Sun, 27 Jul 2008 23:53:04 +0000 (23:53 +0000)]
The puzzle of the design decisions behind the React address space structure continues to be troubling (perhaps there was no design?). Every time a process address space is initialized,
the owner process is stored (which we now use to figure out the lowest address). Recall that NULL means kernel, anything else means per-process. This is great, except that after some
painfull header groking, one understands that the PMADDRESS_SPACE structure is actually *not* a separate structure, but embedded within PEPROCESS itself. It is a React-specific structure
(hence the attempts to get rid of it), that seems to have been "overloaded" on top of the VadRoot structure that Windows uses for user-mode memory allocations. To clarify, this structure
is actually embedded inside the process that owns it, except for the kernel address space, which is a global variable. So there's absolutely *no* point in saving a reference to the owner
process, since we'll always be embedded inside it (except for kernel address space).
This patch creates the MmGetAddressSpaceOwner macro which either returns NULL for kernel address space, or uses the CONTAINING_RECORD macro to return the owner (embedded) process.

svn path=/trunk/; revision=34873

12 years ago- Remove MiGetUserPageDirectoryCount from the ARM Mm since this function is now usele...
ReactOS Portable Systems Group [Sun, 27 Jul 2008 23:48:19 +0000 (23:48 +0000)]
- Remove MiGetUserPageDirectoryCount from the ARM Mm since this function is now useless after our cleanups.

svn path=/trunk/; revision=34872

12 years ago- fix bzip2 include to make ip compile
Timo Kreuzer [Sun, 27 Jul 2008 23:32:41 +0000 (23:32 +0000)]
- fix bzip2 include to make ip compile
- comment out some stuff in SEH asm code to make it compile, it's useless code anyway
- add some hack exports to ntoskrnl
- use private ntoskrnl rbuild File

svn path=/branches/ros-amd64-bringup/; revision=34871

12 years agotcpip:
Timo Kreuzer [Sun, 27 Jul 2008 23:26:26 +0000 (23:26 +0000)]
- fix some pointer to ULONG casts

svn path=/branches/ros-amd64-bringup/; revision=34870

12 years agoMore over-engineering: there really isn't any reason to keep track of the "LowestAddr...
ReactOS Portable Systems Group [Sun, 27 Jul 2008 23:03:20 +0000 (23:03 +0000)]
More over-engineering: there really isn't any reason to keep track of the "LowestAddress" of the process' addres space. At first sight, this looked like a dynamic value that would define the
lowest address at which the process has allocated memory, but this isn't the case -- the variable actually defines the lowest valid address a process can allocate memory at. This is pretty
much a static value, that was compute by MmInitializeProcessAddressSpace, to either MM_LOWEST_USER_ADDRESS or MmSystemRangeStart, based on whether or not the address space has an owner process
(meaning it is a user-mode address space) or not (meaning it is a kernel mode address space).
This patch removes that value and all the complex code around checking it, and replaces it with a much simpler design: if there is an owner process, use MM_LOWEST_USER_ADDRESS during gap
calculations, otherwise, use MmSystemRangeStart. This is both faster, and wastes less space by not tracking static data.

svn path=/trunk/; revision=34869

12 years agofix definition for NdisCopyLookaheadData on AMD64
Timo Kreuzer [Sun, 27 Jul 2008 22:58:20 +0000 (22:58 +0000)]
fix definition for NdisCopyLookaheadData on AMD64

svn path=/branches/ros-amd64-bringup/; revision=34868

12 years ago- implement changing drive volume name
Johannes Anderwald [Sun, 27 Jul 2008 22:58:19 +0000 (22:58 +0000)]
- implement changing drive volume name
- display default volume label "local disk" if there is no title
- verify that provided clsid is valid
- display drive property dialog
- note: changing volume label currently leads to a crash

svn path=/trunk/; revision=34867

12 years agogive ndis it's own def file for amd64, yes that breaks arm build... :-@
Timo Kreuzer [Sun, 27 Jul 2008 22:43:41 +0000 (22:43 +0000)]
give ndis it's own def file for amd64, yes that breaks arm build... :-@

svn path=/branches/ros-amd64-bringup/; revision=34866

12 years agoIt seems unclear as to what the point of the Page Reference Count Table in the React...
ReactOS Portable Systems Group [Sun, 27 Jul 2008 22:39:54 +0000 (22:39 +0000)]
It seems unclear as to what the point of the Page Reference Count Table in the React Addres Space structure really was. It seems an over-engineered approach that actually causes more problems
then it attempts to solve. The idea is to be able to unmap PDEs when they are not required anymore (a noble idea), which saves you 4KB of non-paged pool whenever a process frees a chunk
of 4MB memory (oversimplification). The problem is that to keep track of this, an extremly expensive series of branches, comparisons, masks and shifts is applied every single time that
a page is mapped or unmapped. It also adds 8KB of non-paged pool to keep track of the references, which in some cases can be more wasteful than keeping the page tables around.
Finally, if the process quickly allocates and de-allocates memory in the same PDE range, we will effectively map and unmap the PDE continously, fragmenting hyperspace and slowing down perf.
This patch removes this functionality from the system and re-uses the code that was already present in Mmi386ReleaseMmInfo (with some optimizations and changes) to do this unmapping when the
process exists. This should make things faster, with a very small amount of increased memory footprint (we're talking about less than 100kb of non paged pool, in worse-case scenarios).

svn path=/trunk/; revision=34865

12 years agofix some ULONG to pointer casts
Timo Kreuzer [Sun, 27 Jul 2008 22:20:01 +0000 (22:20 +0000)]
fix some ULONG to pointer casts

svn path=/branches/ros-amd64-bringup/; revision=34864

12 years agoput back rbuild files in a proper state, so x86 can be compiled again (as soon as...
Timo Kreuzer [Sun, 27 Jul 2008 22:07:36 +0000 (22:07 +0000)]
put back rbuild files in a proper state, so x86 can be compiled again (as soon as someone fixed Interlocked stuff)

svn path=/branches/ros-amd64-bringup/; revision=34863

12 years agoyet another advapi32 fix
Timo Kreuzer [Sun, 27 Jul 2008 22:05:13 +0000 (22:05 +0000)]
yet another advapi32 fix

svn path=/branches/ros-amd64-bringup/; revision=34862

12 years agoadvapi32: fix a forwarded export that got stubbed when changing to spec
Timo Kreuzer [Sun, 27 Jul 2008 21:33:32 +0000 (21:33 +0000)]
advapi32: fix a forwarded export that got stubbed when changing to spec

svn path=/branches/ros-amd64-bringup/; revision=34861

12 years ago- Fix a couple of bugs, and majorly refactor MmDeleteVirtualMapping to sync it to...
ReactOS Portable Systems Group [Sun, 27 Jul 2008 20:58:23 +0000 (20:58 +0000)]
- Fix a couple of bugs, and majorly refactor MmDeleteVirtualMapping to sync it to the x86 version somewhat more.

svn path=/trunk/; revision=34859

12 years ago- Work with screen buffer data using pointers rather than offsets; remove confusing...
Jeffrey Morlan [Sun, 27 Jul 2008 20:08:18 +0000 (20:08 +0000)]
- Work with screen buffer data using pointers rather than offsets; remove confusing GET_CELL_BUFFER and SET_CELL_BUFFER macros.
- CsrFreeProcessData: Merge two ifs with the same condition.
- Use the pointer-to-pointer trick to simplify linked list handling in CsrFreeProcessData, IntInsertAliasHeader, IntInsertAliasEntry, and IntDeleteAliasEntry.

svn path=/trunk/; revision=34858

12 years ago- Major cleanup, refactoring, and bugfixing of ARM Mm code in preparation for user...
ReactOS Portable Systems Group [Sun, 27 Jul 2008 19:52:41 +0000 (19:52 +0000)]
- Major cleanup, refactoring, and bugfixing of ARM Mm code in preparation for user-mode support.
- Sync the code a lot closer to its x86 counterpart, still more work to be done.
- Very soon, it should be possible to share upward of 50% of the new ARM code with the x86 version of React as well and unify the implementations.

svn path=/trunk/; revision=34857

12 years agoRevert r34848 and r34850, and replace them by a real fix (hinted by Colin Finck)
Hervé Poussineau [Sun, 27 Jul 2008 19:39:05 +0000 (19:39 +0000)]
Revert r34848 and r34850, and replace them by a real fix (hinted by Colin Finck)

svn path=/trunk/; revision=34856

12 years agoMaciej Bialas (
Colin Finck [Sun, 27 Jul 2008 19:10:44 +0000 (19:10 +0000)]
Maciej Bialas (
- Add '#include <cstring>', so newer gcc's don't complain about a missing memset function

See issue #3595 for more details.

svn path=/trunk/; revision=34855

12 years agoFix code to correctly handle first object file.
Hervé Poussineau [Sun, 27 Jul 2008 17:12:44 +0000 (17:12 +0000)]
Fix code to correctly handle first object file.
It was luckily working because first file was always conditional.

svn path=/trunk/; revision=34854

12 years agoFix typo
Hervé Poussineau [Sun, 27 Jul 2008 16:33:57 +0000 (16:33 +0000)]
Fix typo

svn path=/trunk/; revision=34853

12 years agoResolve <if> and <ifnot> elements during parsing time.
Hervé Poussineau [Sun, 27 Jul 2008 16:17:50 +0000 (16:17 +0000)]
Resolve <if> and <ifnot> elements during parsing time.
Backend don't have to deal anymore with if-able modules, defines, ...

svn path=/trunk/; revision=34852

12 years ago- ntdll should be the last library in the list, not the first or somewhere in the...
Aleksey Bragin [Sun, 27 Jul 2008 16:03:38 +0000 (16:03 +0000)]
- ntdll should be the last library in the list, not the first or somewhere in the middle ("as it imports from nothing and everything else should be resolved with it", by Herve). This fixes some base system DLLs dependency on msvcrt (which doesn't exist in Windows). Thanks Herve!

svn path=/trunk/; revision=34851

12 years agoDefine __LINUX__ for build tools if host is Linux
Hervé Poussineau [Sun, 27 Jul 2008 15:49:18 +0000 (15:49 +0000)]
Define __LINUX__ for build tools if host is Linux

svn path=/trunk/; revision=34850

12 years agoAdd a variable to include support for ELF format
Hervé Poussineau [Sun, 27 Jul 2008 15:48:00 +0000 (15:48 +0000)]
Add a variable to include support for ELF format

svn path=/trunk/; revision=34849

12 years agoDefine __LINUX__ for build tools if host is Linux
Hervé Poussineau [Sun, 27 Jul 2008 15:32:40 +0000 (15:32 +0000)]
Define __LINUX__ for build tools if host is Linux

svn path=/trunk/; revision=34848

12 years agoImprovements to cmd ConPrintfPaging:
Jeffrey Morlan [Sun, 27 Jul 2008 14:03:44 +0000 (14:03 +0000)]
Improvements to cmd ConPrintfPaging:
- Even if there is a console, don't do paging when output is redirected to a file; it would just confuse users with prompts they can't see.
- Instead of WriteFile, use WriteConsole (which has a convenient Unicode version).
- Rework the paging algorithm: don't treat end of string the same way as end-of-line (was causing nul bytes to be output after strings that didn't end with \n), and output multiple lines at once when possible.
- Use the screen buffer width, not the window width, to determine when wrapping will happen.
- Take the initial cursor position into account.

svn path=/trunk/; revision=34847

12 years agoFactorize code for simple module types
Hervé Poussineau [Sun, 27 Jul 2008 14:01:24 +0000 (14:01 +0000)]
Factorize code for simple module types

svn path=/trunk/; revision=34846

12 years agoFix Build.
Samuel Serapion [Sun, 27 Jul 2008 13:42:46 +0000 (13:42 +0000)]
Fix Build.

svn path=/branches/ros-amd64-bringup/; revision=34845

12 years agoDaniel Verkamp (
Colin Finck [Sun, 27 Jul 2008 13:34:53 +0000 (13:34 +0000)]
Daniel Verkamp (
- Fix buildno warnings when compiled with GCC 4.2.x or later
See issue #3578 for more details.

svn path=/trunk/; revision=34844

12 years agoLdrPEGetExportByName:
Timo Kreuzer [Sun, 27 Jul 2008 11:41:11 +0000 (11:41 +0000)]
The function and name table in the PE consists of RVA's that are stored in ULONGs. Change pointers accordingly PULONG* -> ULONG*

svn path=/branches/ros-amd64-bringup/; revision=34843

12 years ago- fix KESEG0_BASE
Timo Kreuzer [Sun, 27 Jul 2008 11:11:02 +0000 (11:11 +0000)]

svn path=/branches/ros-amd64-bringup/; revision=34842

12 years agoUse hal.spec file for i386 build
Hervé Poussineau [Sun, 27 Jul 2008 09:56:21 +0000 (09:56 +0000)]
Use hal.spec file for i386 build

svn path=/trunk/; revision=34841

12 years agorevert r34835:
Samuel Serapion [Sun, 27 Jul 2008 09:45:59 +0000 (09:45 +0000)]
revert r34835:
"_WIN32 Defined for applications for Win32 and Win64. Always defined."

svn path=/branches/ros-amd64-bringup/; revision=34840

12 years agostub out hal.c, make it compile again
Timo Kreuzer [Sun, 27 Jul 2008 09:16:49 +0000 (09:16 +0000)]
stub out hal.c, make it compile again

svn path=/branches/ros-amd64-bringup/; revision=34839

12 years ago"Interlocked stuff is still a bit broken." ... yeah, cause you broke it ;-)
Timo Kreuzer [Sun, 27 Jul 2008 09:15:54 +0000 (09:15 +0000)]
"Interlocked stuff is still a bit broken." ... yeah, cause you broke it ;-)

svn path=/branches/ros-amd64-bringup/; revision=34838

12 years agoAdd support for fastcall functions in .spec files
Hervé Poussineau [Sun, 27 Jul 2008 09:12:37 +0000 (09:12 +0000)]
Add support for fastcall functions in .spec files

svn path=/trunk/; revision=34837

12 years agoAdd a .spec file for HAL exports. Don't use it yet
Hervé Poussineau [Sun, 27 Jul 2008 09:07:59 +0000 (09:07 +0000)]
Add a .spec file for HAL exports. Don't use it yet

svn path=/trunk/; revision=34836

12 years agogcc defines _WIN32 for us ... on a 64bit target. hack windef to get rid of it. This...
Timo Kreuzer [Sun, 27 Jul 2008 09:07:31 +0000 (09:07 +0000)]
gcc defines _WIN32 for us ... on a 64bit target. hack windef to get rid of it. This fixes zlib.

svn path=/branches/ros-amd64-bringup/; revision=34835

12 years agoForgot one.
Samuel Serapion [Sun, 27 Jul 2008 09:02:46 +0000 (09:02 +0000)]
Forgot one.

svn path=/branches/ros-amd64-bringup/; revision=34834

12 years agoRemove multiple declarations and minor fixes.
Samuel Serapion [Sun, 27 Jul 2008 08:37:14 +0000 (08:37 +0000)]
Remove multiple declarations and minor fixes.
Interlocked stuff is still a bit broken.

svn path=/branches/ros-amd64-bringup/; revision=34833

12 years agoRemove WINEisms
Samuel Serapion [Sun, 27 Jul 2008 08:34:16 +0000 (08:34 +0000)]
Remove WINEisms

svn path=/branches/ros-amd64-bringup/; revision=34832

12 years agointrin_x86.h:
Samuel Serapion [Sun, 27 Jul 2008 08:30:10 +0000 (08:30 +0000)]
- Fix rotl declaration, add mysteriously missing rotr.
- Fix CONTEXT_AMD64 and friends, add various constants.
- Define RUNTIME_FUNCTION, RtlCaptureContext, RtlRestoreContext, RtlAddFunctionTable, RtlInstallFunctionTableCallback, RtlDeleteFunctionTable.
- Fix definitions for EXCEPTION_RECORD and friends to support amd64.
- Define IMAGE_THUNK_DATA64 and related constants.
- Define IMAGE_TLS_DIRECTORY64 and related constants.

svn path=/branches/ros-amd64-bringup/; revision=34831

12 years agoPreprocess kernel .spec files
Hervé Poussineau [Sun, 27 Jul 2008 08:26:42 +0000 (08:26 +0000)]
Preprocess kernel .spec files

svn path=/trunk/; revision=34830

12 years agoPrevent code duplication when translating GCC platform defines to MSVC ones.
Hervé Poussineau [Sun, 27 Jul 2008 08:18:07 +0000 (08:18 +0000)]
Prevent code duplication when translating GCC platform defines to MSVC ones.

svn path=/trunk/; revision=34829

12 years agoMore specific error messages. More correct according to winetests.
Art Yerkes [Sun, 27 Jul 2008 08:12:12 +0000 (08:12 +0000)]
More specific error messages.  More correct according to winetests.

svn path=/trunk/; revision=34828

12 years agofix parameters of NtAllocateVirtualMemory and NtFreeVirtualMemory, compile anonmem...
Timo Kreuzer [Sun, 27 Jul 2008 08:03:19 +0000 (08:03 +0000)]
fix parameters of NtAllocateVirtualMemory and NtFreeVirtualMemory, compile anonmem.c, update stubs file

svn path=/branches/ros-amd64-bringup/; revision=34827

12 years ago- Build "smlib", "nt", and "smss" on ARM, since the kernel now tries to load the...
ReactOS Portable Systems Group [Sun, 27 Jul 2008 05:44:56 +0000 (05:44 +0000)]
- Build "smlib", "nt", and "smss" on ARM, since the kernel now tries to load the first user-mode process.
- MmCreateProcessAddressSpace is unimplemented.

svn path=/trunk/; revision=34825

12 years ago- On ARM, print out a message and freeze execution inside the native process main...
ReactOS Portable Systems Group [Sun, 27 Jul 2008 05:40:31 +0000 (05:40 +0000)]
- On ARM, print out a message and freeze execution inside the native process main routine wrapper. This is essentially the first line of code that will execute in user-mode, and we need to know (celebrate) about it.

svn path=/trunk/; revision=34824

12 years ago- Fix NTDLL exports on ARM.
ReactOS Portable Systems Group [Sun, 27 Jul 2008 05:39:31 +0000 (05:39 +0000)]
- Fix NTDLL exports on ARM.

svn path=/trunk/; revision=34823

12 years ago- Fix double semicolon.
ReactOS Portable Systems Group [Sun, 27 Jul 2008 05:39:17 +0000 (05:39 +0000)]
- Fix double semicolon.

svn path=/trunk/; revision=34822

12 years ago- MmDeleteVirtualMapping can be called for memory that isn't mapped yet -- just ignor...
ReactOS Portable Systems Group [Sun, 27 Jul 2008 05:38:51 +0000 (05:38 +0000)]
- MmDeleteVirtualMapping can be called for memory that isn't mapped yet -- just ignore this like we do on x86.
- This gets us much farther, to the point where we try to load smss.exe but can't find it.

svn path=/trunk/; revision=34821

12 years ago- Stop adding those damn @ decorations to ARM builds.
ReactOS Portable Systems Group [Sun, 27 Jul 2008 05:37:54 +0000 (05:37 +0000)]
- Stop adding those damn @ decorations to ARM builds.

svn path=/trunk/; revision=34820

12 years ago- Silence debug prints.
ReactOS Portable Systems Group [Sun, 27 Jul 2008 05:37:38 +0000 (05:37 +0000)]
- Silence debug prints.

svn path=/trunk/; revision=34819

12 years agoTurn off WH_CALLWNDPROC and WH_GETMESSAGE debug spam.
James Tabor [Sun, 27 Jul 2008 00:56:18 +0000 (00:56 +0000)]
Turn off WH_CALLWNDPROC and WH_GETMESSAGE debug spam.

svn path=/trunk/; revision=34818

12 years agoMove console alias functions from csrss to win32csr, and make aliases per-console.
Jeffrey Morlan [Sun, 27 Jul 2008 00:41:45 +0000 (00:41 +0000)]
Move console alias functions from csrss to win32csr, and make aliases per-console.

svn path=/trunk/; revision=34817

12 years ago- In cmd, add ConOutResPrintf and ConErrResPrintf functions for printf-ing from a...
Jeffrey Morlan [Sat, 26 Jul 2008 22:49:49 +0000 (22:49 +0000)]
- In cmd, add ConOutResPrintf and ConErrResPrintf functions for printf-ing from a resource string; use it to shorten several instances of LoadString+Con*Printf.
- Also change FilePromptYN and FilePromptYNA to take a resource ID. Remove varargs code which nobody used (and didn't actually work anyway)

svn path=/trunk/; revision=34816

12 years agoreenable Norwegian language and keyboard layout (tested by Frode Lillerud)
Matthias Kupfer [Sat, 26 Jul 2008 22:20:02 +0000 (22:20 +0000)]
reenable Norwegian language and keyboard layout (tested by Frode Lillerud)

svn path=/trunk/; revision=34815

12 years ago- Fix crash in callback and disable HCBT_CREATEWND until it is implemented correctly...
James Tabor [Sat, 26 Jul 2008 22:06:31 +0000 (22:06 +0000)]
- Fix crash in callback and disable HCBT_CREATEWND until it is implemented correctly. Hooks seem to be working.

svn path=/trunk/; revision=34814

12 years ago- add Zw.S back to ntoskrnl, as it now contains valid 64 bit assembly
Timo Kreuzer [Sat, 26 Jul 2008 21:22:34 +0000 (21:22 +0000)]
- add Zw.S back to ntoskrnl, as it now contains valid  64 bit assembly
- I cheat and add all unresolved references in a stub file for now
ntoskrnl links now, so I can continue on freeldr again.

svn path=/branches/ros-amd64-bringup/; revision=34813

12 years agostubbed hal more or less copied from arm. It compiles...
Timo Kreuzer [Sat, 26 Jul 2008 21:18:00 +0000 (21:18 +0000)]
stubbed hal more or less copied from arm. It compiles...

svn path=/branches/ros-amd64-bringup/; revision=34812

12 years agoon amd64 KfAcquireSpinLock, KfReleaseSpinLock, KeAcquireInStackQueuedSpinLock and...
Timo Kreuzer [Sat, 26 Jul 2008 21:13:25 +0000 (21:13 +0000)]
on amd64 KfAcquireSpinLock, KfReleaseSpinLock, KeAcquireInStackQueuedSpinLock and KeReleaseInStackQueuedSpinLock belong to ntoskrnl, not to hal.

svn path=/branches/ros-amd64-bringup/; revision=34811

12 years agoIn mkdir, don't add a backslash to the end - it can trick CreateDirectory into creati...
Jeffrey Morlan [Sat, 26 Jul 2008 17:15:37 +0000 (17:15 +0000)]
In mkdir, don't add a backslash to the end - it can trick CreateDirectory into creating a dir with the name of a DOS device (even in Windows).

svn path=/trunk/; revision=34810

12 years ago- IntWriteConsoleInput: Copy the data *to* the capture buffer, not *from* it!
Jeffrey Morlan [Sat, 26 Jul 2008 15:20:21 +0000 (15:20 +0000)]
- IntWriteConsoleInput: Copy the data *to* the capture buffer, not *from* it!
- Move code for handling ^C (plus that weird pseudo-scrolling thing) from ConioProcessChar to ConioProcessKey, so that WriteConsoleInput won't generate ctrl events.
- ConioProcessChar: Remove redundant NULL == Console checks (Console can't be NULL at this point), and move debug message into the check in ConioProcessKey.

svn path=/trunk/; revision=34808

12 years ago- Attempt to initiate hook set from kernel space.
James Tabor [Sat, 26 Jul 2008 12:27:40 +0000 (12:27 +0000)]
- Attempt to initiate hook set from kernel space.

svn path=/trunk/; revision=34807

12 years agoJon Griffiths
Aleksey Bragin [Sat, 26 Jul 2008 11:54:54 +0000 (11:54 +0000)]
Jon Griffiths
msvcrt: Implement ___setlc_active_func/___unguarded_readlc_active_add_func

svn path=/trunk/; revision=34806

12 years ago- Sync with Wine (null-initializing some exported data).
Aleksey Bragin [Sat, 26 Jul 2008 11:45:59 +0000 (11:45 +0000)]
- Sync with Wine (null-initializing some exported data).

svn path=/trunk/; revision=34805

12 years agoMerge 34789, make appropriate changes to ReactOS-amd64.rbuild
Samuel Serapion [Sat, 26 Jul 2008 08:21:51 +0000 (08:21 +0000)]
Merge 34789, make appropriate changes to ReactOS-amd64.rbuild

svn path=/branches/ros-amd64-bringup/; revision=34804

12 years agoFix more warnings.
Samuel Serapion [Sat, 26 Jul 2008 06:08:04 +0000 (06:08 +0000)]
Fix more warnings.
Convert pciidex to use spec file.
NOTE: drivers need to be carefully reviewed for 64bit safety. There is a lot of stuff that can kill us that won't show up in any compiler, knowing ros we probably have at least some issues. Everything but network/ compiles error free.

svn path=/branches/ros-amd64-bringup/; revision=34803