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
- 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
backport allot of bug fix. like open file, reading file.
My working copy have allot of hacks and is a big mess. This stuff is cleanup from it.
svn path=/trunk/; revision=25433
- Yeah, this adds another regression on top of the new Ob stuff, but in the end it's for the better, as it removes more race conditions and buggy code.
- This whole week I've fixed about 45 bugs and removed a dozen race conditions, sorry for the 2-3 regressions, they will be fixed ASAP.
- DELETE MAKEFILE.AUTO BEFORE BUILDING THIS BUILD.
svn path=/trunk/; revision=25411
- Implement ObpReferenceProcessObjectByHandle and simplfy ObDuplicateObject.
- Disable hard errors while closing handles, and protect against races. Also print our error message since it seems handles aren't being closed now (message displays leak count).
- Honour DUPLICATE_CLOSE_SOURCE during failure paths in ObDuplicateObject, and catch race conditions.
- Add some more sanity checks and speed up some internal referencing.
svn path=/trunk/; revision=25408
- Add calls to ObpInitializeDirectoryLookup where required.
- Fixup calls to ObpAcquireDirectoryLockExclusive, but still keep them stubbed out for now.
svn path=/trunk/; revision=25403
- NTLPC "Branch": Ports need to maintain a Type List.
- Use proper access mode in parse callbacks.
- Properly validate the access mask given to ObpCreate(Unnamed)Handle and only grant valid bits according to ValidAccessMask.
- Use InterlockedExchangeAdd for reference count bias instead of looping on a single increment.
- Only return the object if the caller did any bias to it.
- Detach from the process much later, since exclusive process support and handle table database needs to be in the same context as the owner.
- Add audit calls to ObpCreateHandle.
- Add stubbed out calls to ObpCleanupDirectoryLookup in ObpCreateHandle.
svn path=/trunk/; revision=25400
- Save parent directory during lookups and check if the caller has the right to traverse it, if we ever need to.
- Optimize the configuration of the lookup context so that it's only done when necessary, add stub calls to lock the directory.
svn path=/trunk/; revision=25396
- Add calls to ObpInitailizeDirectoryLookup.
- Add calls to ObpCleanupDirectoryLookup but disable them for now.
- Add calls to ObpAcquireDirectoryLock but disable them for now.
svn path=/trunk/; revision=25395
- Registry code which was calling ObInsertObject for no reason at all. Now an ugly hack has been added to Cm code to perform the only operation the insert did -> to free the create info.
- SeSubProcessToken was broken and calling it incorrectly, fixed.
- \Device\PhysicalMemory was being inserted incorrectly, fixed.
- Boot-time driver objects were being inserted for no reason, call removed.
- Support the only case of ObInsertObject where it is OK to call it without an output handle. This codepath will only charge quota instead of creating the full-blown handle.
svn path=/trunk/; revision=25394
- Fixup the way we allocate object names: use paged pool instead of non-paged pool, detect insufficient memory case, detect failure to insert entry into the object directory, use name length, not maximum length when copying, use RtlCopy, not RtlMove.
- Support forcing of case-insensitivity and OBJ_FORCE_ACCESS_CHECK.
- Call ObCheckCreateObjectAccess and fail if access isn't granted.
- Call ObpCheckTraverseAccess if traversing a directory fomr user-mode and fail lookup if access wasn't granted.
- Fixup return of proper error code if we reparsed.
- Add FIXME note for SeCreateGlobalPrivilege check which is missing.
- Add callout IRQL checks around parse callouts.
- Rename some variables for clearer meaning.
- Add an extra reference when calling the parse routine in the reparse case.
svn path=/trunk/; revision=25393