Sir Richard [Tue, 5 Oct 2010 04:58:26 +0000 (04:58 +0000)]
[NTOS]: Nobody uses MEMORY_AREA_SYSTEM anymore, call these MEMORY_AREA_OWNED_BY_ARM3 for now. We'll have to sync this code with x86 later anyway.
svn path=/trunk/; revision=48989
Sir Richard [Tue, 5 Oct 2010 04:57:32 +0000 (04:57 +0000)]
[NTOS]: Nobody actually writes TRUE for WriteCopyView in the MEMORY_AREA data structure, so this field is useless (always false). Remove all instances of its use.
svn path=/trunk/; revision=48988
Sir Richard [Tue, 5 Oct 2010 04:56:04 +0000 (04:56 +0000)]
[NTOS]: We don't support SEC_BASED for ARM3 sectios either, ASSERT that.
svn path=/trunk/; revision=48987
Sir Richard [Tue, 5 Oct 2010 04:53:32 +0000 (04:53 +0000)]
[NTOS]: Nobody reads/checks for MEMORY_AREA_CACHE_SEGMENT. Might as well just call this zero (no logical change).
svn path=/trunk/; revision=48986
Giannis Adamopoulos [Mon, 4 Oct 2010 21:44:58 +0000 (21:44 +0000)]
[win32k]
- Reduce duplicated code in co_UserCreateWindowEx, co_IntSetParent and co_WinPosSetWindowPos
- based on wine
svn path=/trunk/; revision=48982
Sir Richard [Mon, 4 Oct 2010 20:19:03 +0000 (20:19 +0000)]
[NTOS]: Implement MiMapViewInSystemSpace, all it took was another 250 lines and we can now map ARM3 sections into memory. Accessing them causes a fault, which we correctly handle with the prototype PTE fault code.
[NTOS]: Added a bogus allocation flag that can be used with Nt/MmCreateSection and MmMapViewInSystemSpace to take the ARM3 path instead. Only for internal testing at the moment.
Now we need to look at how to allow mapping these into user-space as well...
svn path=/trunk/; revision=48981
Sir Richard [Mon, 4 Oct 2010 19:31:16 +0000 (19:31 +0000)]
[NTOS]: Implement MmCreateArm3Section, which creates ARM3-backed sections, but only for pagefile-backed memory at the moment. It uses MiCreatePagingFileMap and creates the expected Segment, Subsection, ControlArea and Section objects described in Windows kernel internals literrature. It's surprisingly easy and only takes 200 lines of code.
svn path=/trunk/; revision=48980
Sir Richard [Mon, 4 Oct 2010 18:51:07 +0000 (18:51 +0000)]
[NTOS]: Implement/fixup the code paths during page faults that are needed to succesfuly resolve a demand page associated with a pagefile backed ARM3 section (which uses Prototype PTEs). A lot of the code was already there but assumed we were using Prototype PTEs only for the shared user data page. By combining that code with the typical demand-zero fault code, we obtain the needed paths. For now, only tested with ARM3 sections that are page-filed backed (not image or data-file backed) mapped into system view space (MmMapViewOfSectionInSystemSpace), not user-mode addresses (which need VADs). The code to actually create/map these doesn't exist in trunk yet, the purpose of this checkin is to test the new fault changes to make sure they don't cause negative effects to already-working faults.
svn path=/trunk/; revision=48979
Sir Richard [Mon, 4 Oct 2010 18:36:37 +0000 (18:36 +0000)]
[NTOS]: Initialize system views by calling MiInitializeSystemSpaceMap. This sets up the lock, bitmap, and hash table.
svn path=/trunk/; revision=48978
Sir Richard [Mon, 4 Oct 2010 18:34:41 +0000 (18:34 +0000)]
[NTOS]: Define MI_MAKE_PROTOTYPE_PTE macro to make a real prototype PTE from a PTE. Define counter-part MiProtoPteToPte to recover the true PTE from a given Prototype PTE.
[NTOS]: Define MI_PTE_LOOKUP_NEEDED instead of using 0xFFFF. The name was found in checked build assertion strings.
[NTOS]: Add MM_VIEW (used for System-mapped Section Views) and MM_SESSSION (used to define the system/session view mappings) structure definitions.
svn path=/trunk/; revision=48977
Sir Richard [Mon, 4 Oct 2010 18:22:50 +0000 (18:22 +0000)]
[NTOS]: Go ahead and now fill out the OriginalPte field for PFNs initialized with MiInitializePfn(ForOtherProcess). They should only belong to ARM3 so they'll never have SwapEntry/RMAP associated with them. This functionality is important for future Prototype PTE support, among other things, as it lets us get the original PTE value written for a given PFN entry.
svn path=/trunk/; revision=48976
James Tabor [Mon, 4 Oct 2010 15:41:25 +0000 (15:41 +0000)]
[PSDK] - Add more track popup menu types.
svn path=/trunk/; revision=48975
James Tabor [Sun, 3 Oct 2010 19:18:19 +0000 (19:18 +0000)]
[Win32k]
- Fixed ValidateTimerCallback, always returning true and just spinning in the loop.
- Add one more process information flag with a point type and capturing the hit test in desktop structure.
svn path=/trunk/; revision=48970
Cameron Gutman [Sun, 3 Oct 2010 15:18:57 +0000 (15:18 +0000)]
[NDIS]
- Disable timer queuing code (hackfix for various network driver failures)
- Also needs to be merged into 0.3.12
svn path=/trunk/; revision=48968
Sir Richard [Sat, 2 Oct 2010 02:14:39 +0000 (02:14 +0000)]
[NTOS]: Move all the Nt*Section API interfaces into ARM3 and rewrite most of the code to perform the same parameter validation and input checks as Windows does. Support all protection masks. Use correct section object access mask. Use appropriate SEH where needed. Pass 0-initialized local instead of NULL when needed. Don't assume certain parameters are OPTIONAL when they are not. Don't return SEH failures at the end of the system call, the kernel usually returns the result of the system call proper. Call DbgkMapViewOfSection in scenarios where it would not have gotten called before. Protect against certain kinds of kernel-mode access from user-mode.
[NTOS]: Move unimplemented Mm*Section APIs into ARM3 as well.
svn path=/trunk/; revision=48959
Sir Richard [Sat, 2 Oct 2010 01:12:53 +0000 (01:12 +0000)]
[PSDK]: Add missing SEC_XXX definitions for Server 2003 (Vista ones still missing).
[KERNEL32]: NtCreateSection should not be called with merely SEC_FILE: this says nothing about what kind of operation should be done (a commit, a reserve, etc?). Use SEC_COMMIT instead to specify correct operation. This works in ReactOS as of now, but would've failed after the NtSection* API rewrite.
[KERNEL32]: CreateFileMappingW should also accept/allow SEC_LARGE_PAGES, even if we don't suppport it yet.
svn path=/trunk/; revision=48958
Matthias Kupfer [Fri, 1 Oct 2010 19:54:27 +0000 (19:54 +0000)]
Yugoslavia no longer exists for some time, replaced by Serbia as successor of country code (phone)
svn path=/trunk/; revision=48955
Johannes Anderwald [Fri, 1 Oct 2010 17:43:03 +0000 (17:43 +0000)]
[VIDEOPRT]
- Add sanity checks
- Implement VideoPortGetCommonBuffer, VideoPortLockPages
See issue #5629 for more details.
svn path=/trunk/; revision=48954
Jérôme Gardou [Thu, 30 Sep 2010 21:45:36 +0000 (21:45 +0000)]
[XCOPY]
- Fix compilation with msvc
1. Someone should send this to wine (this is NOT lazyness)
2. Someone should tell mingw dev about http://msdn.microsoft.com/en-us/library/
aa381050%28v=VS.85%29.aspx
svn path=/trunk/; revision=48948
Daniel Reimer [Thu, 30 Sep 2010 18:47:32 +0000 (18:47 +0000)]
Anti Oracle Movement has begun. Adding go-oo and LibreOffice to rapps.
svn path=/trunk/; revision=48943
Jérôme Gardou [Thu, 30 Sep 2010 18:45:58 +0000 (18:45 +0000)]
[DOSKEY]
- Fix compilation with msvc by GetProcAddress'ing undocumented functions
- TCHAR -> WCHAR in the process
svn path=/trunk/; revision=48942
Sir Richard [Thu, 30 Sep 2010 14:48:03 +0000 (14:48 +0000)]
[NTOS]: This is why you shouldn't let Antoine Dodson commit code.
svn path=/trunk/; revision=48941
Sir Richard [Thu, 30 Sep 2010 04:40:31 +0000 (04:40 +0000)]
[NTOS]: He's climbing in yo PFN database, he snatching yo pages up, tryin to page em so y'all need to hide your pool hide your cache, and hide your working set cuz they grabbin' all the pages out there. We gonna page you, we gonna page you, so you can run and fault on that, run and fault on that, home boy, homeboy, home homeboy.
Enable ARM3 Paged Pool and remove all related deprecated code. Install tested on several VMs, it might cause new regressions. Let's fix them before 0.3.13 instead of reverting.
svn path=/trunk/; revision=48940
Sir Richard [Thu, 30 Sep 2010 03:26:13 +0000 (03:26 +0000)]
[NTOS]: Use SYSTEM_PD_SIZE instead of assuming that this is PAGE_SIZE, since this is not the case on (future) ARM and (current) AMD64 ports.
[NTOS]: Remove some magic numbers in the pool code, using PTE_COUNT, MiAddressToPde, when needed. Also, the expansion code uses PDEs, not PTEs, so differentiate this, because on some systems (ARM), there are different structures for both.
[NTOS]: Use MI_WRITE_INVALID_PTE.
ARM3 paged pool now works, the expansion bug has been fixed (and the code is more portable). Expect to see it gradually enabled soon.
svn path=/trunk/; revision=48939
Sir Richard [Thu, 30 Sep 2010 03:21:02 +0000 (03:21 +0000)]
[NTOS]: MiSetConsumer no longer achieves anything. Remove it.
svn path=/trunk/; revision=48938
Sir Richard [Thu, 30 Sep 2010 03:18:44 +0000 (03:18 +0000)]
[NTOS]: Add definition for size of a page directory, and size of all page directories required per process (some architectures have more than one page directory per process/address space).
svn path=/trunk/; revision=48937
Sir Richard [Thu, 30 Sep 2010 03:17:14 +0000 (03:17 +0000)]
[NTOS]: Fix a bug in MiRemoveAnyPage: it was always checking the colored zero page list, instead of checking the colored free page list the second time around.
svn path=/trunk/; revision=48936
Pierre Schweitzer [Wed, 29 Sep 2010 22:54:00 +0000 (22:54 +0000)]
[PSDK]
Fixed build
svn path=/trunk/; revision=48935
Aleksey Bragin [Wed, 29 Sep 2010 21:52:16 +0000 (21:52 +0000)]
[REGE[REGEDIT]
- Katayama Hirofumi: Don't leak open handles to keys.
- Katayama Hirofumi: Misc code changes/ cleanup.
See issue #5547 for more details.
svn path=/trunk/; revision=48934
Aleksey Bragin [Wed, 29 Sep 2010 21:43:39 +0000 (21:43 +0000)]
[REGEDIT]
- Katayama Hirofumi: Unicodify regedit, add support for import/export of v5 reg files. Based on Wine regedit.
svn path=/trunk/; revision=48933
Pierre Schweitzer [Wed, 29 Sep 2010 21:42:11 +0000 (21:42 +0000)]
[KMTEST]
Added a small testcase for FsRtlIsNameInExpression(). It's quite relevant for daily and simple use of the function. It shouldn't fail on ReactOS given our current implementation.
svn path=/trunk/; revision=48932
Aleksey Bragin [Wed, 29 Sep 2010 21:32:56 +0000 (21:32 +0000)]
PSDK
- Edison Henrique Andreassy <ehasis@hotmail.com>: Add FILEMUIINFO definition.
See issue #5640 for more details.
svn path=/trunk/; revision=48931
James Tabor [Wed, 29 Sep 2010 05:23:15 +0000 (05:23 +0000)]
[Win32k]
- Return the correct complexity, pass all user32 wine test_winregion tests.
svn path=/trunk/; revision=48930
James Tabor [Wed, 29 Sep 2010 02:29:33 +0000 (02:29 +0000)]
[Win32k]
- Fix future wine sync user32 win test for get process default layout with null parameter.
svn path=/trunk/; revision=48929
Cameron Gutman [Wed, 29 Sep 2010 02:16:18 +0000 (02:16 +0000)]
[ACPI]
- Fix ACPI warnings
- Based on a patch by Love Nystrom
svn path=/trunk/; revision=48928
Sir Richard [Wed, 29 Sep 2010 01:10:28 +0000 (01:10 +0000)]
[NTOS]: Add MiRemoveZeroPageSafe helper function, when a zero page is required, but the inline zeroing of MiRemoveZeroPage is not. This function will only try grabbing a zero page if one exists, otherwise a free page will be grabbed and zeroed with custom code of the caller's choosing.
[NTOS]: Add concept of process color and system color. Compute correct color to use whenever requesting a page.
[NTOS]: Uncondtionally enable the color code when inserting/removing pages.
For now, when requesting a page, colors are still ignored, and the global PFN lists are scanned instead. If there are no regressions, we are one patch away from that.
svn path=/trunk/; revision=48927
Sir Richard [Wed, 29 Sep 2010 00:13:09 +0000 (00:13 +0000)]
[NTOS]: Fix straggling bugs in color table algorithms.
[NTOS]: Enable color tables! Right now pages are merely entering and exiting the tables, the tables themselves are never used for allocations. This will change with further commits.
svn path=/trunk/; revision=48926
Sir Richard [Tue, 28 Sep 2010 22:41:46 +0000 (22:41 +0000)]
[NTOS]: Write missing color code in certain PFN functions, and fix existing code where needed. Add some debugging. For now, turned off until testing succeeds.
[NTOS]: Redocument which MMPFN fields are violated by ReactOS-internal values. This has gotten much better than before.
svn path=/trunk/; revision=48925
Amine Khaldi [Tue, 28 Sep 2010 17:19:52 +0000 (17:19 +0000)]
[FONTS]
- Update RedHat Liberation Fonts to 1.06
- Update Tahoma Fonts To Wine HEAD
- Update DejaVu Fonts Documentation To 2.31
See issue #5632,5633,5634 for more details.
svn path=/trunk/; revision=48924
Amine Khaldi [Tue, 28 Sep 2010 17:12:46 +0000 (17:12 +0000)]
[USETUP]
- Update Estonian translation by anthrax11.
See issue #5625 for more details.
svn path=/trunk/; revision=48923
Sir Richard [Tue, 28 Sep 2010 16:47:25 +0000 (16:47 +0000)]
[NTOS]: Switch to using an ARM3, much more correct MmZeroPageThread. Stub support for discarding sections and listening to the Power Manager Idle Timer.
[NTOS]: Use a synchronization (auto-reset) instead of notification event for the zero page thread, this way we don't have to reset it manually and query its state. Instead, a boolean MmZeroingPageThreadActive is checked instead.
[NTOS]: Once we switch to colored lists, major improvements can be done for speed.
svn path=/trunk/; revision=48922
Sir Richard [Tue, 28 Sep 2010 16:44:18 +0000 (16:44 +0000)]
[NTOS]: The RMAP entry only has a valid process if the address is in user-space, otherwise process is NULL. Only attempt to acquire the process rundown lock if a process actually exists. Fixes crashes caused by 48905.
svn path=/trunk/; revision=48921
Sir Richard [Tue, 28 Sep 2010 14:38:30 +0000 (14:38 +0000)]
[NTOS]: Zeroed pages should go at the front, not the back of the zero list. Going to the back is a special boot-only case on MP, which isn't supported. Implement zero-only version of MiInsertPageInList, remove MiInsertZeroPageAtBack.
[NTOS]: Remove many other deprecated functions. Physical memory consistency should now be higher than in the past.
svn path=/trunk/; revision=48919
Sir Richard [Tue, 28 Sep 2010 14:29:37 +0000 (14:29 +0000)]
[NTOS]: One last fix to the zero page thread before we move to ARM3: use MiRemoveAnyPage instead of dangerous MiRemoveHeadList. The code works on the assumption (validated by Windows through a bug check) that MiRemoveAnyPage always returns the first free page, and we also manually grab the first free page, and compare this is true. Nice way to detect PFN database corruption.
[NTOS]: Fix MiInsertZeroAtBack to increment the MmAvailablePage count, since MiRemoveAnyPage decrements it (MiRemoveHeadList did not).
svn path=/trunk/; revision=48918
Aleksey Bragin [Tue, 28 Sep 2010 14:24:17 +0000 (14:24 +0000)]
[KERNEL32]
- Igor Paliychuk: Fix properly showing genitive names from NLS data by applying a missed Wine sync.
See issue #5556 for more details.
svn path=/trunk/; revision=48917
Amine Khaldi [Tue, 28 Sep 2010 13:39:57 +0000 (13:39 +0000)]
[USETUP]
- Update Ukrainian translation by Igor Paliychuk.
See issue #5536 5540 5604 5614 5617 for more details.
svn path=/trunk/; revision=48915
Kamil Hornicek [Tue, 28 Sep 2010 00:02:05 +0000 (00:02 +0000)]
[KERNEL32]
Winnls.h can be included now.
svn path=/trunk/; revision=48913
Sir Richard [Mon, 27 Sep 2010 21:58:54 +0000 (21:58 +0000)]
- Remove MiZeroPage, use MiZeroPhysicalPage instead. They work pretty much the same except the needless raise to DISPATCH_LEVEL.
- Get rid of the messed up MiMapPageToZeroInHyperSpace which was hacking into MiMapPagesToZeroInHyperSpace. Now MiMapPagesToZeroInHyperSpace is properly implemented to use chained PFNs, and the MmZeroPageThread code has been modified to correctly use the new mechanism.
- Zero page mapping now happens at PASSIVE trough MiMapPAgesToZeroInHyperSpace, not DISPATCH anymore.
- More fixes are coming to remove the remaining MiRemoveHeadList and rewrite the zero page loop. Should fix more possible corruptions.
svn path=/trunk/; revision=48912
Sir Richard [Mon, 27 Sep 2010 17:36:54 +0000 (17:36 +0000)]
[NTOS]: Adding colored page lists means we need to start using the OriginalPte field as a forward/back link. This is shared with AweReferenceCount, which ReactOS uses as the RMAP list head. However, RMAPped pages shoudl never be free/zero, and non-free-zero pages will never have a color backlink in OriginalPte, so it should theoretically be safe to do this. However, it's possible for the RMAP "get" function to be called on a free/zero page (which would normally return NULL), but with color chaining enabled, the "get" function would misinterpret the backlink as an RMAP entry. Therefore, we overload the ParityError bit to signify "there is an RMAP". The get/set functions now handle this, and the color linkage will ASSERT this later. This way, a colorlink with ParityError == FALSE is not treated as an rmap list head.
svn path=/trunk/; revision=48910
Sir Richard [Mon, 27 Sep 2010 17:09:33 +0000 (17:09 +0000)]
[NTOS]: Don't use dangerous MiRemoveHeadList in MDL page allocation, use MiRemoveAnyPage instead.
[NTOS]: Don't repurpose pages from the zero/free page list without actually unlinking the page first! This should fix even more corruptions.
svn path=/trunk/; revision=48909
Sir Richard [Mon, 27 Sep 2010 16:00:24 +0000 (16:00 +0000)]
[NTOS]: Stop using MiInsertInListTail and MiRemoveHeadList in the deprecated ReactOS page functions. Those two functions do not adequately support the semantis needed for page insertion/removal and should've never been used. MmAllocPage now uses MiRemoveAny/ZeroPage, and MmDereferencePage uses MiInsertPageInFreeList. Should help with some corruptions. More is coming.
svn path=/trunk/; revision=48908
Giannis Adamopoulos [Mon, 27 Sep 2010 14:31:13 +0000 (14:31 +0000)]
[user32]
- Remove the last reactos-only export from user32 (PrivateCsrssManualGuiCheck)
[win32csr]
- Move PrivateCsrssManualGuiCheck from user32 to win32csr
svn path=/trunk/; revision=48907
Michael Martin [Mon, 27 Sep 2010 08:46:02 +0000 (08:46 +0000)]
[ntoskrnl/mm]
- Acquire rundown protection on process to make sure it is not being terminated and before attempting to do anything with the process. Fixed a rare case of PspDeleteProcess being called twice for a process, resulting in bugcheck.
svn path=/trunk/; revision=48905
James Tabor [Mon, 27 Sep 2010 02:46:16 +0000 (02:46 +0000)]
[Win32k]
- Implement win32k support functions for Get and Set process default layout.
- Due to changes with wine it will be difficult to sync when RTL support is being added to ComCtl32.
svn path=/trunk/; revision=48904
Sir Richard [Sun, 26 Sep 2010 15:01:37 +0000 (15:01 +0000)]
[DDK]: Add misisng MmLockPagableCodeSection.
svn path=/trunk/; revision=48903
Eric Kohl [Sun, 26 Sep 2010 11:37:40 +0000 (11:37 +0000)]
[NTOSKRNL]
Implement NtQueryOpenSubKeys.
svn path=/trunk/; revision=48902
Matthias Kupfer [Sat, 25 Sep 2010 23:20:23 +0000 (23:20 +0000)]
disable some locale IDs because they are not supported yet
- 417 Rhaeto-Romanic
- 445 Bengali (India)
or still unknown
- 48f
- 490
this fixes multiple entries (see bug #5636)
svn path=/trunk/; revision=48898
Eric Kohl [Sat, 25 Sep 2010 21:49:15 +0000 (21:49 +0000)]
[NTOSKRNL]
IoRegisterPlugPlayNotification: Do not fail if no Interface can be found for the given GUID. Just do not call the Callback-Routine in this case. The Interface could be created later.
svn path=/trunk/; revision=48896
Pierre Schweitzer [Sat, 25 Sep 2010 21:20:54 +0000 (21:20 +0000)]
[RTL]
Fixed a really stupid (and old) bug in RtlComputeCrc32():
First parameter is initial CRC32 checksum. And it's complete and not partial, thus it needs to be an ULONG and not an USHORT.
This fixes CRC32 checksum computation with initial checksum (tested again Windows 2003 & Seven).
svn path=/trunk/; revision=48895
Amine Khaldi [Sat, 25 Sep 2010 20:47:15 +0000 (20:47 +0000)]
[PSDK]
- Add missing header's header.
svn path=/trunk/; revision=48894
Christoph von Wittich [Sat, 25 Sep 2010 20:28:00 +0000 (20:28 +0000)]
[bzip2]
update bzip2 library to 2.06
svn path=/trunk/; revision=48892
Jérôme Gardou [Sat, 25 Sep 2010 19:53:43 +0000 (19:53 +0000)]
[WIN32K]
- clean up EXLATEOBJ before error path in NtGdiBitBlt
svn path=/trunk/; revision=48891
Matthias Kupfer [Sat, 25 Sep 2010 19:24:03 +0000 (19:24 +0000)]
one more fix (on request of Pierre S.)
svn path=/trunk/; revision=48888
Matthias Kupfer [Sat, 25 Sep 2010 19:07:37 +0000 (19:07 +0000)]
add missing close for handle
svn path=/trunk/; revision=48886
Jérôme Gardou [Sat, 25 Sep 2010 18:44:54 +0000 (18:44 +0000)]
[SOLITAIRE]
- do not include already included file in rc files
svn path=/trunk/; revision=48884
Matthias Kupfer [Sat, 25 Sep 2010 18:24:57 +0000 (18:24 +0000)]
fix GeoID bug (forgotten \0)
svn path=/trunk/; revision=48883
Giannis Adamopoulos [Sat, 25 Sep 2010 16:59:53 +0000 (16:59 +0000)]
[win32k]
- Cleanup UserSetCursorPos
- UserSetCursorPos: set the new position after sending WM_MOUSEMOVE message
now we pass all tests for SetCursorPos
svn path=/trunk/; revision=48879
Amine Khaldi [Sat, 25 Sep 2010 15:51:42 +0000 (15:51 +0000)]
[PSDK]
- Add CDROM_TOC_SESSION_DATA structure.
[DDK]
- Add missing min and max macros.
svn path=/trunk/; revision=48878
Amine Khaldi [Sat, 25 Sep 2010 15:37:43 +0000 (15:37 +0000)]
[PSDK]
- Add missing ntddmmc.h definitions.
svn path=/trunk/; revision=48877
Amine Khaldi [Sat, 25 Sep 2010 14:45:03 +0000 (14:45 +0000)]
[PSDK]
- Add some missing IOCTL_* definitions.
svn path=/trunk/; revision=48874
Amine Khaldi [Sat, 25 Sep 2010 09:39:08 +0000 (09:39 +0000)]
[DDK]
- Fix a typo and introduce some minor formatting changes.
svn path=/trunk/; revision=48868
Eric Kohl [Sat, 25 Sep 2010 07:53:07 +0000 (07:53 +0000)]
Fix build failure from r48863.
svn path=/trunk/; revision=48867
Eric Kohl [Sat, 25 Sep 2010 07:22:40 +0000 (07:22 +0000)]
[HAL]
Implement HalStopProfileInterrupt and add required RTC register and flag definitions.
svn path=/trunk/; revision=48866
Sir Richard [Sat, 25 Sep 2010 05:46:31 +0000 (05:46 +0000)]
[PSDK/DDK]: Last couple of fixes to headers. Classpnp can compile (and link) now.
svn path=/trunk/; revision=48865
Sir Richard [Sat, 25 Sep 2010 05:15:47 +0000 (05:15 +0000)]
[PSDK/DDK]: Add more missing definitions. Fix classpnp.h.
svn path=/trunk/; revision=48864
Amine Khaldi [Sat, 25 Sep 2010 01:12:17 +0000 (01:12 +0000)]
[PSDK]
- Add some missing structures in ioevent.h
[DDK]
- Add some more missing definitions.
svn path=/trunk/; revision=48863
Amine Khaldi [Sat, 25 Sep 2010 00:51:30 +0000 (00:51 +0000)]
[DDK]
- classpnp.h: Add FUNCTIONAL_DEVICE_EXTENSION, SET_FLAG, CLEAR_FLAG and TEST_FLAG
svn path=/trunk/; revision=48862
Amine Khaldi [Fri, 24 Sep 2010 23:42:30 +0000 (23:42 +0000)]
[DDK]
- Add missing classpnp.h
svn path=/trunk/; revision=48861
Sir Richard [Fri, 24 Sep 2010 17:02:13 +0000 (17:02 +0000)]
[NTDLL]: Use LOCK instead of lock for SList assembly functions, this is a conditional such that on UP, "lock" instruction won't be generated.
[NTDLL]: Apply the special begin/fault/resume lablels to the user-mode SList functions. Access faults can happen there due to a bug in the Windows algorithm, and Mm will need to handle that.
[NTOS]: Lookup the special labels from above when initializing the System DLL. Only lookup INT2E vs SYSENTER on x86, other architectures don't need a stub.
[NTOS]: Bitmap resources start at index 1, not 0. Also make sure we don't go past the maximum IDB_ resource index for no reason, and check the size of the resource instead of assuming it's going to be one page.
[NMIDEBUG]: Fix and cleanup some code, and enable NMI support on the boot/install CD as well.
svn path=/trunk/; revision=48860
Michael Martin [Fri, 24 Sep 2010 15:27:24 +0000 (15:27 +0000)]
[ntoskrnl/ps]
- Revert r48857. The Process object is dereferenced when the Thread object is destroyed, so dont dereference it here.
svn path=/trunk/; revision=48859
Michael Martin [Fri, 24 Sep 2010 10:23:01 +0000 (10:23 +0000)]
[ntoskrnl/ps]
- Remove mistakenly committed ASSERTs that were used during my tests.
svn path=/trunk/; revision=48858
Michael Martin [Fri, 24 Sep 2010 10:07:54 +0000 (10:07 +0000)]
[ntoskrnl/ps]
- PspCreateThread: If thread creation fails, dereference the Process object also to account for the reference taken at the beginning of the function.
svn path=/trunk/; revision=48857
Daniel Reimer [Thu, 23 Sep 2010 21:33:49 +0000 (21:33 +0000)]
Big rapps Update
svn path=/trunk/; revision=48855
Timo Kreuzer [Thu, 23 Sep 2010 20:22:12 +0000 (20:22 +0000)]
[HAL]
Fix amd64 build
svn path=/trunk/; revision=48854
James Tabor [Thu, 23 Sep 2010 17:51:10 +0000 (17:51 +0000)]
[Win32k]
- Coding for PrintWindow support for bug 5609. This does not fix the export, which should be a direct call to win32k.
svn path=/trunk/; revision=48853
evb [Thu, 23 Sep 2010 13:24:41 +0000 (13:24 +0000)]
- Fix PciFindParentPciFdoExtension bug found by sir_richard "Early break would leave the lock held"
- Fix PciGetHackFlags for setup found by sir_richard "Setup currently doesn't have a correct registry"
- Fix DriverEntry for setup like PciGetHackFlags
- Fix DriverEntry PciOpenKey check found by sir_richard "PciOpenKey returns a BOOLEAN, not an NTSTATUS"
- Stop call PciGetAcpiTable found by sir_richard "PciGetAcpiTable is really broken, can lead to infinite loops, and also corrupts memory. We need to fix stefan's bugs"
- Implement not root FDO code in PciScanBus and support PCI_HACK_ONE_CHILD
- Implement multiple FDO exist code in PciAddDevice so PCI Bridge support now
- Implement PciAreBusNumbersConfigured for PCI Bridge support
- Hack FDO Start Device by sir_richard "The root FDO does send boot resources if PCIX is installed properly, this code will be needed"
- Do PCI_BUS_DRIVER_INTERNAL bugcheck by sir_richard "I have hacked KeBugCheckEx to ignore this for now, until PnP is fixed"
- Implement not root FDO code in PciInitializeArbiters
- Implement PciCacheLegacyDeviceRouting, PciFindPdoByLocation used by PciAssignSlotResources
- Make PciTranslateBusAddress do the stub work
- PciAssignSlotResources disabled because ReactOS not support IoAssignResources
- Implement PPBridge_ChangeResourceSettings
PCIX driver nearly working now.
svn path=/trunk/; revision=48851
Johannes Anderwald [Thu, 23 Sep 2010 11:36:00 +0000 (11:36 +0000)]
[KS]
- Simplify KsTopologyPropertyHandler by using KspReadMediaCategory helper
- Return correct status code in case of an overflow
svn path=/trunk/; revision=48850
Johannes Anderwald [Thu, 23 Sep 2010 11:32:34 +0000 (11:32 +0000)]
[I8042PRT]
- Fix potential buffer overflow
svn path=/trunk/; revision=48849
Amine Khaldi [Wed, 22 Sep 2010 19:29:20 +0000 (19:29 +0000)]
- Bugs 5536, 5614, 5604, 5617 and 5540: Apply translation patches provided by Mario Kacmar, Marcelo Zamperetti, Igor Paliychuk, Paolo Devoti and seven_ro.
svn path=/trunk/; revision=48847
Sir Richard [Tue, 21 Sep 2010 17:50:01 +0000 (17:50 +0000)]
[FREELDR]: Fix the last remaining build issue. Libgcc needs to be linked to provide umovsi/udivsi, etc (same fix as for setupldr).
svn path=/trunk/; revision=48846
Amine Khaldi [Tue, 21 Sep 2010 17:14:22 +0000 (17:14 +0000)]
[KERNEL32]
- Sylvain Petreolle: Fix debug channels for release builds.
svn path=/trunk/; revision=48845
Sir Richard [Tue, 21 Sep 2010 17:07:40 +0000 (17:07 +0000)]
[HAL]: Partly implement HalpAdjustPCIResourceList required for legacy HAL. No actual adjustment is done yet, since the Range package is not implemented.
[HAL]: Implement most of HalpGetISAFixedPCIIrq, other than the legacy PCI IRQ Routing Miniport callbacks, which aren't yet implemented by ReactOS.
The Windows PCI Bus Driver seems to work now.
svn path=/trunk/; revision=48844
Aleksey Bragin [Tue, 21 Sep 2010 08:30:56 +0000 (08:30 +0000)]
- Update 3rd Party Files.txt To Current 3rd Party Releases.
See issue #5603 for more details.
svn path=/trunk/; revision=48843
Sir Richard [Tue, 21 Sep 2010 05:34:05 +0000 (05:34 +0000)]
Patches to allow Windows PCI Bus Driver to start working somewhat (need to implement HalAdjustResourceList for PCI to make it go further):
[BOOTDATA]: Windows Bus Drivers/HAL/Kernel require Arbiter data in the registry placed by the installer, otherwise they will not load. Add this Arbiter data.
[NTOS]: Add support for KeyValueFullInformationAlign64, used by some Windows drivers (as a bonus, support Win64). PartialInformationAlign64 is a different beast -- warn when a driver attempts to use it, instead of silent failure.
[NTOS]: Export VfFailSystemBIOS and stub it.
[NTOS]: Warn when a driver fails to load due to a missing dependency and print the name and/or missing module, instead of silently failing.
[NTOS]: Due to a bug in the ReactOS PnP manager, Windows PCI Driver hits an internal pseudo-assert. Hack KeBugCheckEx to ignore this pseudo-assert and continue executing normally.
svn path=/trunk/; revision=48839
Cameron Gutman [Mon, 20 Sep 2010 19:08:40 +0000 (19:08 +0000)]
[TCPIP]
- Process the timer event directly from the DPC instead of queuing a work item then raising to DISPATCH_LEVEL later when acquiring a spin lock
- Optimize the spin lock operations in NBTimeout and IPDatagramReassemblyTimeout for being called at DISPATCH_LEVEL
svn path=/trunk/; revision=48833
Michael Martin [Mon, 20 Sep 2010 06:55:54 +0000 (06:55 +0000)]
[usb/usbhub]
- WaitForUsbDeviceArrivalNotification: Dont use IoBuildDeviceIoControlRequest to create the IRP as we dont wait for the IRP to complete in the current thread. It must be built using IoAllocateIrp.
- DeviceArrivalCompletion: Allocate the WorkItem from NonPagedPool vice using one in the DeviceExtension. Free the Irp and return STATUS_MORE_PROCESSING_REQUIRED so the IO Manager doesnt try to do anything more with the now freed Irp.
- When selecting the Interface use the routines in USBD library now that they are implemented correctly.
- More fixes for passing the correct DeviceObject when calling QueryRootHub.
svn path=/trunk/; revision=48826
Sir Richard [Mon, 20 Sep 2010 06:30:21 +0000 (06:30 +0000)]
[MISC]: Fix several compiler issues on my main build box. Some of the Unicode translations in kernel32 fail to compile, while other libraries don't build because old C library names (without the underscore) are used.
[SETUPLDR]: Unify the old setupldr settings with more recent freeldr ones. Also fixes missing _udiv/mod functions on my build.
svn path=/trunk/; revision=48825
Eric Kohl [Sun, 19 Sep 2010 12:46:54 +0000 (12:46 +0000)]
[USETUP]
Add Brazilian portuguese USETUP localization patch by Edison Henrique Andreassy.
See issue #5313 for more details.
svn path=/trunk/; revision=48813
Aleksey Bragin [Sun, 19 Sep 2010 11:54:33 +0000 (11:54 +0000)]
[DESK.CPL]
Katayama Hirofumi <katayama.hirofumi.mz@gmail.com>
- Renamed GLOBAL_DATA structures to DATA.
- Added real GLOBAL_DATA in background.c, that manages the background color.
- Resolved conflict of background colors in background.c and appearance.c.
- Fixed drawing the menu in draw.c.
See issue #5620 for more details.
svn path=/trunk/; revision=48812
Michael Martin [Sun, 19 Sep 2010 00:30:49 +0000 (00:30 +0000)]
[usb/usbd]
- Fix calculation bug in USBD_ParseDescriptors which caused descriptors to be skipped and all Parse functions to return bad information.
- USBD_CreateConfigurationRequestEx: Fix calculation for the size of the URB.
Dont copy the InterfaceList to the Urbs Interface member as they are not the same structures. Instead loop through each interface and endpoint to get the data needed for the Interface member of URB.
- USBD_GetInterfaceLength: Add missing brackets for the FOR LOOP. The first descriptors length is part of the Length regardless of what it is.
If bDescriptorType of USB_INTERFACE_DESCRIPTOR_TYPE is reached a second time then break from the loop, as the length calculation is done.
svn path=/trunk/; revision=48810