reactos.git
17 years ago- Fix multiple LPC race conditions.
Alex Ionescu [Sun, 21 Jan 2007 17:21:42 +0000 (17:21 +0000)]
- Fix multiple LPC race conditions.
- Improve LpcpFreeToPortZone calls for optimizing lock release.
- Use RtlCopyMemory instead of RtlMoveMemory to optimize data transfer speed.
- Always hold a reference to the connection port associated to the LPC port and properly handle this reference in all the LPC code.
- Hold a reference to the process that mapped a server/client view, and use this field when freeing memory in case we're called out-of-process.
- Fix a lot of list parsing loops and code to handle the case when the list is now empty.
- Validate more fields and data in the code.
- There are still some LPC bugs at system shutdown.

svn path=/trunk/; revision=25557

17 years agofix some warnings (gcc 4.2)
Christoph von Wittich [Sun, 21 Jan 2007 16:04:17 +0000 (16:04 +0000)]
fix some warnings (gcc 4.2)

svn path=/trunk/; revision=25556

17 years agoMore applications by EmuandCo.
Maarten Bosma [Sun, 21 Jan 2007 15:12:03 +0000 (15:12 +0000)]
More applications by EmuandCo.

svn path=/trunk/; revision=25555

17 years agofixing a small disambler bug for mr
Magnus Olsen [Sun, 21 Jan 2007 15:06:57 +0000 (15:06 +0000)]
fixing a small disambler bug for mr

svn path=/trunk/; revision=25553

17 years ago[AUDIT]
Aleksey Bragin [Sun, 21 Jan 2007 11:38:05 +0000 (11:38 +0000)]
[AUDIT]
(thanks to "Ventron" for help in checking this file)

Result: clean, reasons:
1) Alex cites legal sources for his magic numbers
2) The callers to the Hal don't know what they want to ask the Hal for (they pass NULLs)
3) It looks a bit incomplete in general

svn path=/trunk/; revision=25552

17 years agocomment out packmgr for it can not be build at moment. some should take a look at it.
Magnus Olsen [Sun, 21 Jan 2007 11:32:28 +0000 (11:32 +0000)]
comment out packmgr for it can not be build at moment. some should take a look at it.

svn path=/trunk/; revision=25551

17 years ago===================================================================
Dominique Cote [Sun, 21 Jan 2007 04:46:38 +0000 (04:46 +0000)]
===================================================================
cctypes.h
ntoskrnl/cc/copy.c
===================================================================
Added CcFastMdlReadNotPossible

===================================================================
fastio.c
===================================================================
Added #ifdef to allow the file to compile "as is" in my windows
framework. This doesnt affect RosBE

Brought back Alex's code for

 FsRtlMdlReadCompleteDev
 FsRtlMdlReadDev
 FsRtlMdlReadComplete

after having code reviewed it.

===================================================================
ntoskrnl/include/internal/cc.h
ntoskrnl/cc/mdl.c
===================================================================
Change the name of CcMdlReadCompleteDev to CcMdlReadComplete2

svn path=/trunk/; revision=25550

17 years agoInitial commit for the fsrtl lib test driver. This does not compile under ROS. You...
Dominique Cote [Sat, 20 Jan 2007 18:06:23 +0000 (18:06 +0000)]
Initial commit for the fsrtl lib test driver. This does not compile under ROS. You need some glue to compile and use it under windows.

svn path=/trunk/; revision=25549

17 years ago* Adding FsRtlCopyRead(), FsRtlCopyWrite()
Dominique Cote [Sat, 20 Jan 2007 17:43:46 +0000 (17:43 +0000)]
* Adding FsRtlCopyRead(), FsRtlCopyWrite()
* Added #ifdef _NTIFS_INCLUDED_
typedef struct _SHARED_CACHE_MAP {
  definition to cctypes.h header file.

svn path=/trunk/; revision=25548

17 years ago- add italian translation by Paolo Devoti, devotip at tiscali dot xit
Johannes Anderwald [Sat, 20 Jan 2007 14:12:12 +0000 (14:12 +0000)]
- add italian translation by Paolo Devoti, devotip at tiscali dot xit
See issue #1949 for more details.

svn path=/trunk/; revision=25545

17 years agosorry ia32 should be own folder
Magnus Olsen [Sat, 20 Jan 2007 13:39:01 +0000 (13:39 +0000)]
sorry ia32 should be own folder

svn path=/trunk/; revision=25544

17 years agostart add mr op code causeome new bug for ppc
Magnus Olsen [Sat, 20 Jan 2007 13:33:42 +0000 (13:33 +0000)]
start add mr op code causeome new bug for ppc

svn path=/trunk/; revision=25543

17 years agoforgot thuse file
Magnus Olsen [Sat, 20 Jan 2007 13:32:26 +0000 (13:32 +0000)]
forgot thuse file

svn path=/trunk/; revision=25542

17 years agoforgot this file
Magnus Olsen [Sat, 20 Jan 2007 13:30:04 +0000 (13:30 +0000)]
forgot this file

svn path=/trunk/; revision=25541

17 years agoFix some warnings
Hervé Poussineau [Sat, 20 Jan 2007 13:29:04 +0000 (13:29 +0000)]
Fix some warnings

svn path=/trunk/; revision=25540

17 years agomsvc compilation fix & identify
Johannes Anderwald [Sat, 20 Jan 2007 13:25:28 +0000 (13:25 +0000)]
msvc compilation fix & identify

svn path=/trunk/; revision=25539

17 years agoEnable shell extensions to add pages to the control panel. The "Remote" page in XP...
Thomas Bluemel [Fri, 19 Jan 2007 18:34:50 +0000 (18:34 +0000)]
Enable shell extensions to add pages to the control panel. The "Remote" page in XP however disappears when being clicked on. Is someone interested in taking a look at it?

svn path=/trunk/; revision=25536

17 years agoMerge patch from wine-head: Fixes function prototypes of SHAddFromPropSheetExtArray...
Thomas Bluemel [Fri, 19 Jan 2007 18:30:53 +0000 (18:30 +0000)]
Merge patch from wine-head: Fixes function prototypes of SHAddFromPropSheetExtArray, SHCreatePropSheetExtArray, SHReplaceFromPropSheetExtArray and SHDestroyPropSheetExtArray

svn path=/trunk/; revision=25535

17 years agoMerged recent w32api changes
Thomas Bluemel [Fri, 19 Jan 2007 16:46:36 +0000 (16:46 +0000)]
Merged recent w32api changes

svn path=/trunk/; revision=25534

17 years agofix typo
Sylvain Petreolle [Fri, 19 Jan 2007 15:45:44 +0000 (15:45 +0000)]
fix typo

svn path=/trunk/; revision=25533

17 years agoFix compilation
Thomas Bluemel [Fri, 19 Jan 2007 15:37:51 +0000 (15:37 +0000)]
Fix compilation

svn path=/trunk/; revision=25532

17 years agoadding beepmidi to build
Magnus Olsen [Fri, 19 Jan 2007 10:37:52 +0000 (10:37 +0000)]
adding beepmidi to build

svn path=/trunk/; revision=25530

17 years agofix some gcc 4.2 warnings
Christoph von Wittich [Fri, 19 Jan 2007 10:14:29 +0000 (10:14 +0000)]
fix some gcc 4.2 warnings

svn path=/trunk/; revision=25529

17 years agofix some gcc 4.2 compilation problems and warnings
Christoph von Wittich [Fri, 19 Jan 2007 09:26:20 +0000 (09:26 +0000)]
fix some gcc 4.2 compilation problems and warnings

svn path=/trunk/; revision=25528

17 years agoFixing the src and dst of register so they are being read right (PPC brain)
Magnus Olsen [Fri, 19 Jan 2007 08:20:42 +0000 (08:20 +0000)]
Fixing the src and dst of register so they are being read right (PPC brain)
Adding stw for dissembler and converting (PPC and IA32)
Fixing a counter bug in ConvertBitToByte, ConvertBitToByte32, GetMaskByte, GetMaskByte32
we did miss one bit calculation when we count the mask the bit 0

svn path=/trunk/; revision=25527

17 years agoFix compilation (second attempt, too many local changes to keep track of)
Thomas Bluemel [Fri, 19 Jan 2007 01:06:25 +0000 (01:06 +0000)]
Fix compilation (second attempt, too many local changes to keep track of)

svn path=/trunk/; revision=25526

17 years agoFix compilation
Thomas Bluemel [Fri, 19 Jan 2007 01:05:44 +0000 (01:05 +0000)]
Fix compilation

svn path=/trunk/; revision=25525

17 years agofix some warnings (gcc 4.2 on Linux x64)
Christoph von Wittich [Fri, 19 Jan 2007 01:00:06 +0000 (01:00 +0000)]
fix some warnings (gcc 4.2 on Linux x64)

svn path=/trunk/; revision=25524

17 years agoFix freeing memory
Thomas Bluemel [Fri, 19 Jan 2007 00:23:48 +0000 (00:23 +0000)]
Fix freeing memory

svn path=/trunk/; revision=25523

17 years agoMove the "Computer Name" page to netid.dll
Thomas Bluemel [Fri, 19 Jan 2007 00:09:21 +0000 (00:09 +0000)]
Move the "Computer Name" page to netid.dll

svn path=/trunk/; revision=25522

17 years agoset eol-style to native
Thomas Bluemel [Thu, 18 Jan 2007 23:42:21 +0000 (23:42 +0000)]
set eol-style to native

svn path=/trunk/; revision=25521

17 years agoPC speaker MIDI driver (see README.TXT for info)
Andrew Greenwood [Thu, 18 Jan 2007 23:26:30 +0000 (23:26 +0000)]
PC speaker MIDI driver (see README.TXT for info)
Tested on Windows XP but should be compatible with ReactOS

svn path=/trunk/; revision=25520

17 years ago- forgot these changes in my local svn
Johannes Anderwald [Thu, 18 Jan 2007 22:37:10 +0000 (22:37 +0000)]
- forgot these changes in my local svn
- generating dependency map works
- results can be viewed with XSL capable browser

svn path=/trunk/; revision=25519

17 years agoFixing another bug in converting
Magnus Olsen [Thu, 18 Jan 2007 22:09:08 +0000 (22:09 +0000)]
Fixing another bug in converting
PPC
stwu r1,-32(r1)

equal with intel
mov [esp-32],esp;
mov esp, esp - 32;

svn path=/trunk/; revision=25518

17 years agoAdding stwu to converting to ia32
Magnus Olsen [Thu, 18 Jan 2007 21:35:48 +0000 (21:35 +0000)]
Adding stwu to converting to ia32
fixing some smaller bug when it was disabmler
fixing dymatic translations of abi for ppc and ia32

svn path=/trunk/; revision=25517

17 years agoMerge 3 STATICs together
Thomas Bluemel [Thu, 18 Jan 2007 21:09:56 +0000 (21:09 +0000)]
Merge 3 STATICs together

svn path=/trunk/; revision=25516

17 years ago- dutch translation by Eric Janssen (janssuhhh@gmail.com)
Johannes Anderwald [Thu, 18 Jan 2007 20:22:56 +0000 (20:22 +0000)]
- dutch translation by Eric Janssen (janssuhhh@gmail.com)
See issue #1989 for more details.

svn path=/trunk/; revision=25515

17 years agoImplement disambler for stwu, left todo add it to the Converter
Magnus Olsen [Thu, 18 Jan 2007 19:33:48 +0000 (19:33 +0000)]
Implement disambler for stwu, left todo add it to the Converter

svn path=/trunk/; revision=25514

17 years agofix some warnings
Christoph von Wittich [Thu, 18 Jan 2007 17:12:49 +0000 (17:12 +0000)]
fix some warnings

svn path=/trunk/; revision=25513

17 years agoUse comctl32's syslink control, no need to reinvent the wheel
Thomas Bluemel [Thu, 18 Jan 2007 16:37:30 +0000 (16:37 +0000)]
Use comctl32's syslink control, no need to reinvent the wheel

svn path=/trunk/; revision=25512

17 years agoFixing some ppc disambler bugs. Li are not 100% test it can contain some fault.
Magnus Olsen [Thu, 18 Jan 2007 15:40:37 +0000 (15:40 +0000)]
Fixing some ppc disambler bugs. Li are not 100% test it can contain some fault.
Fixing Li bug the register for dest was wrong calctions see file OpCodePPC.txt.
fixing some meaing in ReadMe.txt

svn path=/trunk/; revision=25511

17 years agoAdd Arc.c to win32k. See gdi32 painting.c for more info.
James Tabor [Thu, 18 Jan 2007 13:56:58 +0000 (13:56 +0000)]
Add Arc.c to win32k. See gdi32 painting.c for more info.

svn path=/trunk/; revision=25508

17 years agoExpain how the bit order works and how get the opcode. The IBM and freescale manual...
Magnus Olsen [Thu, 18 Jan 2007 13:43:17 +0000 (13:43 +0000)]
Expain how the bit order works and how get the opcode. The IBM and freescale manual for ppc cpu are not good expain it.
now I got less headic, and got understainf how to decoding the manual and how the opcode are store.

svn path=/trunk/; revision=25507

17 years agoAdding a opcode list, which opcode we are supportin convert from
Magnus Olsen [Thu, 18 Jan 2007 12:04:24 +0000 (12:04 +0000)]
Adding a opcode list, which opcode we are supportin convert from

svn path=/trunk/; revision=25506

17 years agofix gcc4 build
Sylvain Petreolle [Thu, 18 Jan 2007 11:13:43 +0000 (11:13 +0000)]
fix gcc4 build

svn path=/trunk/; revision=25505

17 years ago[25 bug fixes]:
Alex Ionescu [Thu, 18 Jan 2007 09:44:49 +0000 (09:44 +0000)]
[25 bug fixes]:
- Implement KeReadStateThread.
- Fix PspTerminateProcess to handle case where there's no threads in the process.
- Fix check in PspTerminateProcess. ObClearProcessHandleTable gets called if there's a debug port, not if there's an object table.
- Simplfy PspReapRoutine.
- Fix PspExitThread to wait for all other threads before continuing to kill the last thread. Should fix lots of race/wait conditions.
- PspExitThread should check for !DeadThread and not !Terminated before determining if it should free the TEB. Also, the DbgK handle should only be closed if the thread isn't already dead.
- Fixup formatting of some code to warn less on MSVC.
- Fail various APIs if acquiring rundown protection failed.
- Fix Process Quantum/Priority settings.
- Grant PROCESS_TERMINATE by default.
- Add PROCESS_SET_INFORMATION, STANDARD_RIGHTS_ALL and PROCESS_SET_QUOTA to the default process granted access mask.
- Initialize process/thread/image notification callbacks durin phase 0 Ps initialization.
- The Audit Name belongs to the system process, not the idle process.
- Detect more failures in phase 0 startup.
- Fix various race conditions/incorrect checks in ps/security.c related to impersonation information. Also allow PspAssignPrimaryToken to be called directly with the token pointer and not only the handle.
- Wrap system thread startup stub in SEH and write a SEH filter function to print out debug information when a system thread dies unexpectedly.

svn path=/trunk/; revision=25504

17 years ago- Fix __rdtsc so it's considered volatile by GCC instead of caching it.
Alex Ionescu [Thu, 18 Jan 2007 06:23:14 +0000 (06:23 +0000)]
- Fix __rdtsc so it's considered volatile by GCC instead of caching it.
- Add NtInitialUserProcessBuffer settings and validate/user them when launching smss.
- Use SePublicDefaultUnrestrictedSd for the root system link.
- Make enough space for the smss process parameters, there's 6 strings, not 4.
- Fix incorrect length of NtSystemRoot string.
- Disable SYSENTER on CPUs that don't support it.
- Detect and enable NX feature bit.
- Detect and enable DTS support.
- Implement Ki386EnableXMMIExceptions (the XMMI handler still needs to be done, however).
- Implement KiI386PentiumLockErrataFixup to work around the F00F bug.
- Implement KiIsNpxErrataPresent to detect the FDIV bug.
- Implement CPU Speed detection.
- Only setup Initial FX State if the CPU supports FXSR.
- Setup some more PCR fields during init.
- Use NX_SUPPORT_POLICY flags documented in ntddk.h
- Don't boot if CMPXCHG8B is not supported by the CPU. This is the same requirement as Windows.
- Don't overwrite all the PRCB locks in KiInitSpinlocks due to a stupid bug in the timer spinlock initialization.

svn path=/trunk/; revision=25503

17 years ago- Remove hack from KiSetPriorityThread. Now it doesn't dispatch threads anymore,...
Alex Ionescu [Wed, 17 Jan 2007 21:53:45 +0000 (21:53 +0000)]
- Remove hack from KiSetPriorityThread. Now it doesn't dispatch threads anymore, but this cleans up the IRQL/Dispatcher hack (it will still insert the higher priority thread in the right queue though, so there's not much visible change, just that priorities suck a bit more -- but this is temporary).
- Guard some more code with #ifdef NEW_SCHEDULER.
- Fix bugs in KiDispatchInterrupt.
- Use PRCB fields instead of PriorityListHead/PriorityListMask to reduces number of code changes between NEW_SCHEDULER and old.
- Fully implement KiDeferredReadyThread, but only for Uni-Processor systems. Supports unwait boosts as well as lock boosts. Not yet used.
- Implement NEW_SCHEDULER version of KiSwapThread and NtYieldExecution.

svn path=/trunk/; revision=25502

17 years ago[10 bug fixes]:
Alex Ionescu [Wed, 17 Jan 2007 20:44:37 +0000 (20:44 +0000)]
[10 bug fixes]:
- Simplify KiSelectReadyThread.
- Use ASSERT_IRQL_EQUAL instead of ASSERT_IRQL, because ASSERT_IRQL is braindead and doesn't actually do what the name proposes. This caused us to miss many critical bugs.
- Don't lower IRQL to PASSIVE_LEVEL after KeInsertQueueApc. This caused a call to KiExitDispatcher at PASSIVE, which is completely fucked. Also do the same fix in KeFreezeAllThreads and KeThawAllThreads.
- Implement code in KiDispatchInterrupt to switch to a new thread, but don't enable for now.
- Fix the KiMask32Array. One of the values was totally off and screwed up priority/affinity masks.
- Exit the dispatcher in KiAdjustQuantumThread. This wasn't done, thus causing a weird system state.
- Fix a bug in KiSetPriorityThread which wasn't properly checking the ProcessReadyQueue member and thus not applying priority changes.
- Fixup lock release and dispatcher exit in wait functions in the NoWait case. It was inverted and messed up, leading to system inconsistency.

svn path=/trunk/; revision=25501

17 years agofixing dymatic abi for ppc, and implement a dymatic abi even for ia32 converter
Magnus Olsen [Wed, 17 Jan 2007 20:25:46 +0000 (20:25 +0000)]
fixing dymatic abi for ppc, and implement a dymatic abi even for ia32 converter

svn path=/trunk/; revision=25500

17 years agofixing count how many reg we are using. so we can setup a frame pointer
Magnus Olsen [Wed, 17 Jan 2007 18:47:08 +0000 (18:47 +0000)]
fixing count how many reg we are using. so we can setup a frame pointer

svn path=/trunk/; revision=25499

17 years agoAdding m68k,arm,ia32,ppc to ppc convert.
Magnus Olsen [Wed, 17 Jan 2007 17:35:18 +0000 (17:35 +0000)]
Adding m68k,arm,ia32,ppc to ppc convert.
Remove the old disambler list from ppc to ppc
implement new ppc to ppc disambler that are allot better at end.

svn path=/trunk/; revision=25498

17 years agofixing a bug did write end code for frame pointer that we do not have
Magnus Olsen [Wed, 17 Jan 2007 16:23:39 +0000 (16:23 +0000)]
fixing a bug did write  end code for frame pointer that we do not have
tempary fix, we can not optimize code so good yet. so if it more that 4 register same time we are using own frame, ebx is working as our ebp for we already resvert  the ebp

svn path=/trunk/; revision=25497

17 years agofixing the ppc to ia32 break, use ebx as ebp if we got to many register.
Magnus Olsen [Wed, 17 Jan 2007 15:31:47 +0000 (15:31 +0000)]
fixing the ppc to ia32 break, use ebx as ebp if we got to many register.

svn path=/trunk/; revision=25496

17 years agoThis break the ppc disambler support and convert to ia32, temporary
Magnus Olsen [Wed, 17 Jan 2007 15:02:43 +0000 (15:02 +0000)]
This break the ppc disambler support and convert to ia32, temporary
I change the desgin lite to preopare the ia32 to ppc

svn path=/trunk/; revision=25495

17 years agoDelete 100 files which are completely unneeded in order to statically compile expat...
Aleksey Bragin [Wed, 17 Jan 2007 12:42:43 +0000 (12:42 +0000)]
Delete 100 files which are completely unneeded in order to statically compile expat library (full source code is located in the vendor branch).

svn path=/trunk/; revision=25494

17 years ago- Simplify KiSelectReadyThread.
Alex Ionescu [Wed, 17 Jan 2007 01:56:15 +0000 (01:56 +0000)]
- Simplify KiSelectReadyThread.
- Disable KiSetAffinityThread to do nothing else but change affinity instead of doing re-scheduling (temporary change).
- Cleanup KiQuantumEnd to prepare for new scheduler.
- Fix up a large bug in KeInsertQueueDpc which was making every DPC become a Threaded DPC due to a bad assignment-instead-of-compare.
- Copy KiSelectNextThread for new scheduler branch, without SMT support.
- Fix a bug in KiAdjustQuantumThread under new scheduler.
- Re-implement KiSetPriorityThread under new scheduler, leave hacks for current scheduler support.
- Remove old testing assert from KiExitDispatcher.

svn path=/trunk/; revision=25491

17 years ago[22 bug fixes]:
Alex Ionescu [Tue, 16 Jan 2007 20:49:40 +0000 (20:49 +0000)]
[22 bug fixes]:
- Make KiComputeNewPriority accept various priority adjuments instead of always assuming an increase of 1 priority level.
- Fix ASSERT in KeSetEventBoostPriority: API is valid *only* for Synchronization events, not notification ones.
- Use proper KiComputeNewPriority call in KeSetEventBoostPriority, since we're not adjusting by 1.
- Make sure the FreezeCount is also 0 in KeAlertResumeThread, before signalling the suspend semaphore.
- Simply alert-mode check in KeAlertThread.
- Don't exit the critical region in KeFreezeAllThreads, it needs to be held.
- Don't enter a critical region in KeThawAllThreads, it should already have been entered; release it after thawing is complete.
- Also change the list loop in these functions to always start with the first thread.
- Copy over boost-disable flag in KeStartThread.
- Don't acquire the dispatcher lock in KeTestAlertThread.
- Set the KernelStackResident flag to TRUE in KeInitThread.
- Fix KeSetIdealProcessorThread to check the CPU is valid on the system, not valid across all valid CPU numbers. Also fix it to compare affinity, not processor.
- Fix KeSetBasePriorityThread to properly call KiComputeNewPriority with an adjustment of 0, and then properly manually adjust with the delta between the new base priority and the old base priority.
- Also normalize the new priority if it's too low.
- Always set the priority decrement back to 0 when KeSetPriorityThread is called.
- Normalize the priority in KeSetPriorityThread if it falls too low.
- Fix process stack count check in KeTerminateThread.
- Acquire thread and PRCB lock in KiAdjustQuantumThread.
- Use KiComputeNewPriority in KiAdjustQuantumThread.
- Dispatch a new thread in KiAdjustQuantumThread to take into account the new scheduler settings.
- Thread priorities should make more sense now...

svn path=/trunk/; revision=25490

17 years agoFix difference in signedness warnings
Thomas Bluemel [Tue, 16 Jan 2007 18:55:06 +0000 (18:55 +0000)]
Fix difference in signedness warnings

svn path=/trunk/; revision=25489

17 years agoimprove cursor loading code
Ged Murphy [Tue, 16 Jan 2007 18:30:54 +0000 (18:30 +0000)]
improve cursor loading code

svn path=/trunk/; revision=25488

17 years ago- Reimplement Process/Thread/Image notification callbacks by using the new executive...
Alex Ionescu [Tue, 16 Jan 2007 15:09:53 +0000 (15:09 +0000)]
- Reimplement Process/Thread/Image notification callbacks by using the new executive lightweight callback implementation.
- Remove corresponding entry from kernel fun.

svn path=/trunk/; revision=25486

17 years ago- Implement ExCompareExchangeCallBack. The CallBack implementation is now ready for...
Alex Ionescu [Tue, 16 Jan 2007 14:20:19 +0000 (14:20 +0000)]
- Implement ExCompareExchangeCallBack. The CallBack implementation is now ready for testing.

svn path=/trunk/; revision=25485

17 years ago- Implement ExReferenceCallBackBlock and ExDereferenceCallBackBlock.
Alex Ionescu [Tue, 16 Jan 2007 07:20:16 +0000 (07:20 +0000)]
- Implement ExReferenceCallBackBlock and ExDereferenceCallBackBlock.
- Code is very similar to Ob* Fast Referencing, and the use of macros to encapsulate generic referencing should be done later. Essentially, Ob sticks ObRefs around FastRefs, while ExCallbacks sticks ExRundown around FastRefs.

svn path=/trunk/; revision=25484

17 years ago- Start partial implementation of Executive Lightweight Callbacks: ExAllocateCallBack...
Alex Ionescu [Tue, 16 Jan 2007 05:31:05 +0000 (05:31 +0000)]
- Start partial implementation of Executive Lightweight Callbacks: ExAllocateCallBack, ExInitializeCallBack, ExFreeCallBack, ExWaitForCallBacks, ExGetCallBackBlockRoutine, ExGetcallBackBlockContext, ExDoCallBack.
- Stub ExReferenceCallBackBlock and ExDereferenceCallBackBlock until I get the locking right.
- These callbacks are used by Cm as well as Ps inside Windows NT and combine the power of PushLocks, Rundown Protection and Fast Referencing to ensure callbacks only get called once and thread safely. Not yet used in ROS.

svn path=/trunk/; revision=25483

17 years ago- Large cleanup of exported callback implementation. It was my first code to ReactOS...
Alex Ionescu [Tue, 16 Jan 2007 04:16:31 +0000 (04:16 +0000)]
- Large cleanup of exported callback implementation. It was my first code to ReactOS and quite messy.
- Make code use standard NT structures.
- Fix object type initialization.
- Fix calls to ExCreatecallback during system initalization which were randomly overwriting memory.
- Fix ExREgisterCallback which was allocating only a pointer inside of the entire structure, also over-writing system memory.

svn path=/trunk/; revision=25482

17 years ago- Fix major bugs in the definition of _KTHREAD inside the NDK. I made some stupid...
Alex Ionescu [Tue, 16 Jan 2007 02:40:41 +0000 (02:40 +0000)]
- Fix major bugs in the definition of _KTHREAD inside the NDK. I made some stupid assumptions when reading the .pdb dump data. _KTHREAD should now be the right size and structure as Win 2003. (the reason this bug wasn't more evident was because we were using 1-byte packing and a "padding" field. this has now been removed).

svn path=/trunk/; revision=25481

17 years ago- Simplify KiWaitTest.
Alex Ionescu [Tue, 16 Jan 2007 02:24:19 +0000 (02:24 +0000)]
- Simplify KiWaitTest.
- Add _ADJUST_REASON
- Reformat some ke_x.h wait macros to use simpler/shorter variable names.

svn path=/trunk/; revision=25480

17 years ago- Fix insertion of special APC into APC delivery list.
Alex Ionescu [Tue, 16 Jan 2007 01:27:36 +0000 (01:27 +0000)]
- Fix insertion of special APC into APC delivery list.
- Re-identize some APC code (just formatting change).
- Detect APC during GateWait. Previous check scanned for DeferredReady, which is incorrect.
- Simplfy KeremovequeueApc to take advantage of the fact RemoveEntryList now returns whether the list is empty or not.

svn path=/trunk/; revision=25479

17 years agodon't leak a bitmap object if we fail to allocate memory
Ged Murphy [Tue, 16 Jan 2007 00:08:41 +0000 (00:08 +0000)]
don't leak a bitmap object if we fail to allocate memory

svn path=/trunk/; revision=25478

17 years agouse IC instead of DC
Ged Murphy [Mon, 15 Jan 2007 23:37:44 +0000 (23:37 +0000)]
use IC instead of DC

svn path=/trunk/; revision=25477

17 years agorevert r25474
Ged Murphy [Mon, 15 Jan 2007 23:33:01 +0000 (23:33 +0000)]
revert r25474

svn path=/trunk/; revision=25476

17 years ago- implement correct alpha blending of icons
Ged Murphy [Mon, 15 Jan 2007 23:25:35 +0000 (23:25 +0000)]
- implement correct alpha blending of icons
- pixel bits must be pre-multiplied with the alpha channel
- along with the previous LookupIconIdFromDirectoryEx, basic alpha blending is working. some bugfixing is still required.

svn path=/trunk/; revision=25475

17 years agosilence debug message
Ged Murphy [Mon, 15 Jan 2007 23:23:29 +0000 (23:23 +0000)]
silence debug message

svn path=/trunk/; revision=25474

17 years ago- Fix locking bugs in guarded mutex implementation. In race conditions some operation...
Alex Ionescu [Mon, 15 Jan 2007 21:34:36 +0000 (21:34 +0000)]
- Fix locking bugs in guarded mutex implementation. In race conditions some operations were not re-attempted.
- Fix some other logic bugs, including a serious bug in KeTrytoAcquireGuardedMutex which inversed the result.

svn path=/trunk/; revision=25473

17 years ago- Fix several bugs in the rundown protection implementation, mostly related to incorr...
Alex Ionescu [Mon, 15 Jan 2007 21:12:32 +0000 (21:12 +0000)]
- Fix several bugs in the rundown protection implementation, mostly related to incorrect loop restarting in case of a race condition.
- The rundown event is a sync event, not a notification event.
- Only take slow path when waiting for release if the value changed *and* is still not active, not if only one of the two is true.

svn path=/trunk/; revision=25472

17 years ago- Add KeAreAllApcsDisabled to DDK.
Alex Ionescu [Mon, 15 Jan 2007 20:54:40 +0000 (20:54 +0000)]
- Add KeAreAllApcsDisabled to DDK.
[4 bug fixes]:
- Setup default GrantedAccess for system init thread/process in ObInit.
- Fix a small bug in ObpReapObject.
- Set object header flag is deletion was done deferred.
- Simplify ObpDeferObjectDeletion.
- Use KeAreAllApcsDisabled instead of only checking IRQL to determine if we should do defered deletion.

svn path=/trunk/; revision=25471

17 years ago[12 bug fixes]:
Alex Ionescu [Mon, 15 Jan 2007 20:24:40 +0000 (20:24 +0000)]
[12 bug fixes]:
- Isolate FuckedUpCm version of ObpLookupDirectoryObject into CmpLookupDirectoryObject to avoid name info leak.
- Rename ObpIncrementQueryReference to ObpAcquireNameInformation and ObpDecrementQueryReference to ObpReleaseNameInformation and make some changes to make calling a lot easier.
- Fixup reference increment loop in above function.
- Fix incorrect check for defer delete flag instead of query references flag.
- Only clear the directory/directory lock flag in ObpCleanupDirectoryLookup if the directory was actually locked.
- Fix lock logic in ObpLookupDirectoryEntry.
- Properly handle the case when lookup occurs after an existing object, avoid name information leak and reference leak.
- Hold shared lock inside NtQuerydirectoryObject.
- Properly initiailize the directory object in NtCreateDirectoryObject.
- Clear create info before creating the unnamed handle in ObInsertObject.
- Only dereference the target process if we actually have one in NtDuplicateObject.
- Don't double-reference the name information in ObpDeleteNameCheck, thus avoiding another leak.
- Fix object case sensitivity check in ObpLookupObjectName.

svn path=/trunk/; revision=25469

17 years ago[22 bugfixes]:
Alex Ionescu [Mon, 15 Jan 2007 18:37:53 +0000 (18:37 +0000)]
[22 bugfixes]:
- ObpReferenceProcessObjectByHandle is always called with HandleInformation, remove this check.
- ObpReferenceProcessObjectByHandle already gets a process parameter, don't query the current one.
- ObpReferenceProcessObjectByHandle already gets a handle table, don't query the current one.
- ObpDecrementHandleCount shouldn't remove the object from the creator info.
- ObpDecrementHandleCount should clear the exclusive process if this is the last handle.
- Killing a protected handle should raise an exception if a debug port is connected, not an exception port.
- ObpIncrementHandleCount should support OBJ_FORCE_ACCESS_CHECK.
- ObpIncrementHandleCount needs to support ObDuplicateHandle.
- ObpIncrementHandleCount needs to support being called without an AccessState.
- Fix interlocked handle count accounting.
- Allow user-mode to create kernel-mode handles.
- Fix the way Additional reference bias is de-referenced during failures.
- Complete rundown in ObKillProcess.
- Send SourceProcess in ObDuplicateHandle.
- Assume initial failure and clear handle in ObDuplicateHandle.
- Don't leak object table references when failing in ObDuplicateHandle.
- Assume failure in ObOpenObjectByName.
- Don't leak buffer during failure in ObOpenObjectByName.
- Don't leak object reference durning failure in ObOpenObjecByName.
- Validate handle attributes in ObOpenObjectByPointer.
- Use RtlCopyMemory when possible to speed up.

svn path=/trunk/; revision=25467

17 years agofix icon loading code to load the correct icon for the current display bpp settings
Ged Murphy [Mon, 15 Jan 2007 18:08:37 +0000 (18:08 +0000)]
fix icon loading code to load the correct icon for the current display bpp settings

svn path=/trunk/; revision=25466

17 years ago- Fix handle close bug. The ExDestroyHandleEntry API was only killing entries unless...
Alex Ionescu [Mon, 15 Jan 2007 07:33:42 +0000 (07:33 +0000)]
- Fix handle close bug. The ExDestroyHandleEntry API was only killing entries unless the table wasn't being destoyed, which it actually is during process termination, and through failing, was actually not closing the handle at all. This means any killed process leaked all its handles and they were never closed. These handles are now closed, reducing memory load/leaks and opening the door for new bugs :)
- Fix LPC process closing bug.
- Rewrite executive timer support to make it thread-safe and use proper locking order and semantics as well as safe referencing. Also implement Windows 2003 feature of flushing DPCs when a timer is deleted, to avoid the timer from being fired after deletion.

svn path=/trunk/; revision=25461

17 years ago- add a primitive XSL for displaying the ReactOS dependency map
Johannes Anderwald [Sun, 14 Jan 2007 20:41:01 +0000 (20:41 +0000)]
- add a primitive XSL for displaying the ReactOS dependency map

svn path=/trunk/; revision=25458

17 years ago- comment out using xsl style sheet until its ready
Johannes Anderwald [Sun, 14 Jan 2007 19:49:27 +0000 (19:49 +0000)]
- comment out using xsl style sheet until its ready

svn path=/trunk/; revision=25457

17 years ago- implement dependency map checking
Johannes Anderwald [Sun, 14 Jan 2007 19:28:07 +0000 (19:28 +0000)]
- implement dependency map checking

svn path=/trunk/; revision=25455

17 years ago- the parameter flags is of type unsigned. Therefore you dont need an additional...
Johannes Anderwald [Sun, 14 Jan 2007 18:07:56 +0000 (18:07 +0000)]
- the parameter flags is of type unsigned. Therefore you dont need an additional check if Flags < 0

svn path=/trunk/; revision=25454

17 years agothe public frist version that can convert arty testms.exe that are commited to powerp...
Magnus Olsen [Sun, 14 Jan 2007 18:01:56 +0000 (18:01 +0000)]
the public frist version that can convert arty testms.exe that are commited to powerpc branch in the alink folder.
the program doing main() ( return 0 )
fixing minior bugs as well

svn path=/trunk/; revision=25453

17 years agodelete ImageLoaer.c until I time rewrite it
Magnus Olsen [Sun, 14 Jan 2007 17:16:38 +0000 (17:16 +0000)]
delete ImageLoaer.c until I time rewrite it

svn path=/trunk/; revision=25451

17 years agofix warnings
Sylvain Petreolle [Sun, 14 Jan 2007 15:21:35 +0000 (15:21 +0000)]
fix warnings

svn path=/trunk/; revision=25450

17 years agoAdding stub for AnyalsingProcess and ConvertToIntelProcess
Magnus Olsen [Sun, 14 Jan 2007 13:54:19 +0000 (13:54 +0000)]
Adding stub for AnyalsingProcess and ConvertToIntelProcess

svn path=/trunk/; revision=25449

17 years agoadding blr opcode (can not found it in the ibm or motorala doc, the primary opcode...
Magnus Olsen [Sun, 14 Jan 2007 12:10:53 +0000 (12:10 +0000)]
adding blr opcode (can not found it in the ibm or motorala doc, the primary opcode refens to addi).
now we can disambler two opcode the li and blr, add blr to my own asm langues.

svn path=/trunk/; revision=25448

17 years agoFixing a bug in ppc opcode Li
Magnus Olsen [Sun, 14 Jan 2007 10:57:18 +0000 (10:57 +0000)]
Fixing a bug in ppc opcode Li
Fixing the memory leak bug
Full implement of the Li
Convert Li to my own asm langues, opcode move reg,imm
Left todo is add the anyalying process and converting process, after that we can translate our frist public pe file for ppc to intel
with one opcode, it must be Li

svn path=/trunk/; revision=25447

17 years agostart on adding the own langues, this version create a memory leak if u try run this...
Magnus Olsen [Sat, 13 Jan 2007 23:26:32 +0000 (23:26 +0000)]
start on adding the own langues, this version create a memory leak if u try run this tool in translate mode. but not in
disambler mode. (only true for ppc brain about memory leak)

svn path=/trunk/; revision=25445

17 years ago1. fixing a layout bug
Magnus Olsen [Sat, 13 Jan 2007 22:09:11 +0000 (22:09 +0000)]
1. fixing a layout bug
2. frist disambler output for public, the public version can now disambler ppc li rA,imm that all at moment

svn path=/trunk/; revision=25444

17 years agoAdd hit-testing for caption buttons.
Eric Kohl [Sat, 13 Jan 2007 19:15:12 +0000 (19:15 +0000)]
Add hit-testing for caption buttons.

svn path=/trunk/; revision=25443

17 years ago- add italian translation by Paolo Devoti, devotip@tiscali.it
Johannes Anderwald [Sat, 13 Jan 2007 18:39:38 +0000 (18:39 +0000)]
- add italian translation by Paolo Devoti, devotip@tiscali.it
- fixes some issues with the patch (missing \ or \n or ")
See issue #1983 for more details.

svn path=/trunk/; revision=25442

17 years ago- add italian translation by Paolo Devoti, devotip@tiscali.it
Johannes Anderwald [Sat, 13 Jan 2007 18:20:53 +0000 (18:20 +0000)]
- add italian translation by Paolo Devoti, devotip@tiscali.it
- fixes bug 1974, 1975, 1976

svn path=/trunk/; revision=25441

17 years agoadding GetData32Be, GetData32Le for getting 4bytes from big or lite endian
Magnus Olsen [Sat, 13 Jan 2007 17:27:14 +0000 (17:27 +0000)]
adding GetData32Be, GetData32Le for getting 4bytes from big or lite endian
start implment Ld for ppc.

svn path=/trunk/; revision=25440

17 years agoadding print out the type of asm file in the asm file
Magnus Olsen [Sat, 13 Jan 2007 14:34:50 +0000 (14:34 +0000)]
adding print out the type of asm file in the asm file

svn path=/trunk/; revision=25439

17 years agoadding option for disambler mode, disambler mode does not translate a binary file...
Magnus Olsen [Sat, 13 Jan 2007 12:23:25 +0000 (12:23 +0000)]
adding option for disambler mode, disambler mode does not translate a binary file. it doing a disambler of the file

svn path=/trunk/; revision=25438

17 years ago- make sysreg compilable under Linux
Johannes Anderwald [Sat, 13 Jan 2007 12:19:56 +0000 (12:19 +0000)]
- make sysreg compilable under Linux
- sysreg is now able to start the emulator but it cannot get any debug data yet. But this might be due that i tested sysreg in linux under vmware which then ran qemu....

svn path=/trunk/; revision=25437

17 years ago1. last move is done arm to From folder
Magnus Olsen [Sat, 13 Jan 2007 10:39:12 +0000 (10:39 +0000)]
1. last move is done arm to  From folder
2. remove some include in CpuToIntel.c file they are not longer need it.

svn path=/trunk/; revision=25436