ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
September 2010
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
18 participants
278 discussions
Start a n
N
ew thread
[sir_richard] 48860: [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/f...
by sir_richard@svn.reactos.org
Author: sir_richard Date: Fri Sep 24 17:02:13 2010 New Revision: 48860 URL:
http://svn.reactos.org/svn/reactos?rev=48860&view=rev
Log: [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. Modified: trunk/reactos/boot/bootdata/txtsetup.sif trunk/reactos/dll/ntdll/def/ntdll.pspec trunk/reactos/drivers/base/nmidebug/nmidebug.c trunk/reactos/drivers/base/nmidebug/nmidebug.rbuild trunk/reactos/lib/rtl/i386/interlck.S trunk/reactos/ntoskrnl/inbv/inbv.c trunk/reactos/ntoskrnl/ps/psmgr.c Modified: trunk/reactos/boot/bootdata/txtsetup.sif URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/txtsetup.sif…
============================================================================== --- trunk/reactos/boot/bootdata/txtsetup.sif [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/txtsetup.sif [iso-8859-1] Fri Sep 24 17:02:13 2010 @@ -17,6 +17,7 @@ [SourceDisksFiles] acpi.sys=,,,,,,,,,,,,4 +nmidebug.sys=,,,,,,x,,,,,,4 uniata.sys=,,,,,,x,,,,,,4 buslogic.sys=,,,,,,x,,,,,,4 blue.sys=,,,,,,x,,,,,,4 Modified: trunk/reactos/dll/ntdll/def/ntdll.pspec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/def/ntdll.pspec?…
============================================================================== --- trunk/reactos/dll/ntdll/def/ntdll.pspec [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/def/ntdll.pspec [iso-8859-1] Fri Sep 24 17:02:13 2010 @@ -62,6 +62,9 @@ @ stdcall -arch=i386 KiFastSystemCall() @ stdcall -arch=i386 KiFastSystemCallRet() @ stdcall -arch=i386 KiIntSystemCall() +@ stdcall -arch=i386 ExpInterlockedPopEntrySListEnd() +@ stdcall -arch=i386 ExpInterlockedPopEntrySListFault() +@ stdcall -arch=i386 ExpInterlockedPopEntrySListResume() @ stdcall KiRaiseUserExceptionDispatcher() @ stdcall KiUserApcDispatcher(ptr ptr ptr ptr) @ stdcall KiUserCallbackDispatcher(ptr ptr long) // CHECKME Modified: trunk/reactos/drivers/base/nmidebug/nmidebug.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/nmidebug/nmid…
============================================================================== --- trunk/reactos/drivers/base/nmidebug/nmidebug.c [iso-8859-1] (original) +++ trunk/reactos/drivers/base/nmidebug/nmidebug.c [iso-8859-1] Fri Sep 24 17:02:13 2010 @@ -13,7 +13,16 @@ /* FUNCTIONS ******************************************************************/ -PCHAR NmiBegin = "NMI2NMI1"; +PCHAR NmiBegin = "NMI4NMI@"; + +VOID +FORCEINLINE +NmiClearFlag(VOID) +{ + ((PCHAR)&KiBugCheckData[4])[0] -= (NmiBegin[3] | NmiBegin[7]); + ((PCHAR)&KiBugCheckData[4])[3] |= 1; + __asm__("rcrl %b[shift], %k[retval]" : [retval] "=rm" (KiBugCheckData[4]) : "[retval]" (KiBugCheckData[4]), [shift] "Nc" (8)); +} BOOLEAN NTAPI @@ -21,17 +30,17 @@ IN BOOLEAN Handled) { /* Clear the NMI flag */ - ((PCHAR)&KiBugCheckData[4])[3] -= NmiBegin[3]; + NmiClearFlag(); /* Get NMI status signature */ __indwordstring(0x80, (PULONG)NmiBegin, 1); ((void(*)())&KiBugCheckData[4])(); /* Handle the NMI safely */ - KiEnableTimerWatchdog = strcmp(NmiBegin, NmiBegin + 4); + KiEnableTimerWatchdog = (RtlCompareMemory(NmiBegin, NmiBegin + 4, 4) != 4); return TRUE; } - + NTSTATUS NTAPI DriverEntry(IN PDRIVER_OBJECT DriverObject, Modified: trunk/reactos/drivers/base/nmidebug/nmidebug.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/nmidebug/nmid…
============================================================================== --- trunk/reactos/drivers/base/nmidebug/nmidebug.rbuild [iso-8859-1] (original) +++ trunk/reactos/drivers/base/nmidebug/nmidebug.rbuild [iso-8859-1] Fri Sep 24 17:02:13 2010 @@ -1,6 +1,7 @@ <?xml version="1.0"?> <!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="nmidebug" type="kernelmodedriver" installbase="system32/drivers" installname="nmidebug.sys"> + <bootstrap installbase="$(CDOUTPUT)" /> <include base="null">.</include> <library>ntoskrnl</library> <library>hal</library> Modified: trunk/reactos/lib/rtl/i386/interlck.S URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/i386/interlck.S?re…
============================================================================== --- trunk/reactos/lib/rtl/i386/interlck.S [iso-8859-1] (original) +++ trunk/reactos/lib/rtl/i386/interlck.S [iso-8859-1] Fri Sep 24 17:02:13 2010 @@ -16,6 +16,9 @@ * RtlInterlockedPopEntrySList( * IN PSLIST_HEADER ListHead); */ +.global _ExpInterlockedPopEntrySListResume@0 +.global _ExpInterlockedPopEntrySListEnd@0 +.global _ExpInterlockedPopEntrySListFault@0 .global _RtlInterlockedPopEntrySList@4 _RtlInterlockedPopEntrySList@4: @@ -25,7 +28,7 @@ /* Load ListHead into ebp */ mov ebp, [esp + 12] - +_ExpInterlockedPopEntrySListResume@0: /* Load ListHead->Next into eax */ mov eax, [ebp] @@ -40,14 +43,15 @@ /* Copy Depth and Sequence number and adjust Depth */ lea ecx, [edx - 1] +_ExpInterlockedPopEntrySListFault@0: /* Get next pointer */ mov ebx, [eax] - +_ExpInterlockedPopEntrySListEnd@0: /* If [ebp] equals edx:eax, exchange it with ecx:ebx */ - lock cmpxchg8b [ebp] + LOCK cmpxchg8b qword ptr [ebp] /* If not equal, retry with edx:eax, being the content of [ebp] now */ - jnz 1b + jnz _ExpInterlockedPopEntrySListResume@0 /* Restore registers and return */ 2: @@ -89,7 +93,7 @@ lea ecx, [edx + 0x10001] /* If [ebp] equals edx:eax, exchange it with ecx:ebx */ - lock cmpxchg8b [ebp] + LOCK cmpxchg8b qword ptr [ebp] /* If not equal, retry with edx:eax, being the content of [ebp] now */ jnz 1b @@ -136,7 +140,7 @@ xor cx, cx /* If [ebp] equals edx:eax, exchange it with ecx:ebx */ - lock cmpxchg8b [ebp] + LOCK cmpxchg8b qword ptr [ebp] /* If not equal, retry with edx:eax, being the content of [ebp] now */ jnz 1b Modified: trunk/reactos/ntoskrnl/inbv/inbv.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/inbv/inbv.c?rev=4…
============================================================================== --- trunk/reactos/ntoskrnl/inbv/inbv.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/inbv/inbv.c [iso-8859-1] Fri Sep 24 17:02:13 2010 @@ -73,11 +73,15 @@ if (NT_SUCCESS(Status)) { /* Access the resource */ + ULONG Size = 0; Status = LdrAccessResource(LdrEntry->DllBase, ResourceDataEntry, &Data, - NULL); - if (Data) KiBugCheckData[4] ^= RtlComputeCrc32(0, Data, PAGE_SIZE); + &Size); + if ((Data) && (ResourceId < 3)) + { + KiBugCheckData[4] ^= RtlComputeCrc32(0, Data, Size); + } if (!NT_SUCCESS(Status)) Data = NULL; } } @@ -115,8 +119,8 @@ VidResetDisplay(CustomLogo); /* Find bitmap resources in the kernel */ - ResourceCount = Count; - for (i = 0; i < Count; i++) + ResourceCount = min(IDB_CLUSTER_SERVER, Count); + for (i = 1; i <= Count; i++) { /* Do the lookup */ ResourceList[i] = FindBitmapResource(LoaderBlock, i); Modified: trunk/reactos/ntoskrnl/ps/psmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/psmgr.c?rev=48…
============================================================================== --- trunk/reactos/ntoskrnl/ps/psmgr.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ps/psmgr.c [iso-8859-1] Fri Sep 24 17:02:13 2010 @@ -14,6 +14,10 @@ extern ULONG ExpInitializationPhase; extern BOOLEAN SysThreadCreated; + +PVOID KeUserPopEntrySListEnd; +PVOID KeUserPopEntrySListFault; +PVOID KeUserPopEntrySListResume; GENERIC_MAPPING PspProcessMapping = { @@ -187,10 +191,24 @@ &KeRaiseUserExceptionDispatcher); if (!NT_SUCCESS(Status)) return Status; + /* Get user-mode SLIST exception functions for page fault rollback race hack */ + Status = PspLookupSystemDllEntryPoint("ExpInterlockedPopEntrySListEnd", + &KeUserPopEntrySListEnd); + if (!NT_SUCCESS(Status)) { DPRINT1("this not found\n"); return Status; } + Status = PspLookupSystemDllEntryPoint("ExpInterlockedPopEntrySListFault", + &KeUserPopEntrySListFault); + if (!NT_SUCCESS(Status)) { DPRINT1("this not found\n"); return Status; } + Status = PspLookupSystemDllEntryPoint("ExpInterlockedPopEntrySListResume", + &KeUserPopEntrySListResume); + if (!NT_SUCCESS(Status)) { DPRINT1("this not found\n"); return Status; } + + /* On x86, there are multiple ways to do a system call, find the right stubs */ +#if defined(_X86_) /* Check if this is a machine that supports SYSENTER */ if (KeFeatureBits & KF_FAST_SYSCALL) { /* Get user-mode sysenter stub */ + SharedUserdata->SystemCall = (PsNtosImageBase >> (PAGE_SHIFT + 1)); Status = PspLookupSystemDllEntryPoint("KiFastSystemCall", (PVOID)&SharedUserData-> SystemCall); @@ -213,6 +231,7 @@ /* Set the test instruction */ SharedUserData->TestRetInstruction = 0xC3; +#endif /* Return the status */ return Status;
14 years, 3 months
1
0
0
0
[mjmartin] 48859: [ntoskrnl/ps] - Revert r48857. The Process object is dereferenced when the Thread object is destroyed, so dont dereference it here.
by mjmartin@svn.reactos.org
Author: mjmartin Date: Fri Sep 24 15:27:24 2010 New Revision: 48859 URL:
http://svn.reactos.org/svn/reactos?rev=48859&view=rev
Log: [ntoskrnl/ps] - Revert r48857. The Process object is dereferenced when the Thread object is destroyed, so dont dereference it here. Modified: trunk/reactos/ntoskrnl/ps/thread.c Modified: trunk/reactos/ntoskrnl/ps/thread.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/thread.c?rev=4…
============================================================================== --- trunk/reactos/ntoskrnl/ps/thread.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ps/thread.c [iso-8859-1] Fri Sep 24 15:27:24 2010 @@ -280,7 +280,6 @@ { /* We couldn't create the CID, dereference the thread and fail */ ObDereferenceObject(Thread); - ObDereferenceObject(Process); return STATUS_INSUFFICIENT_RESOURCES; } @@ -302,7 +301,6 @@ { /* Fail */ ObDereferenceObject(Thread); - ObDereferenceObject(Process); return STATUS_PROCESS_IS_TERMINATING; } @@ -316,7 +314,6 @@ /* Failed to create the TEB. Release rundown and dereference */ ExReleaseRundownProtection(&Process->RundownProtect); ObDereferenceObject(Thread); - ObDereferenceObject(Process); return Status; } @@ -360,7 +357,6 @@ /* Release rundown and dereference */ ExReleaseRundownProtection(&Process->RundownProtect); ObDereferenceObject(Thread); - ObDereferenceObject(Process); return Status; } @@ -435,7 +431,6 @@ /* Dereference completely to kill it */ ObDereferenceObjectEx(Thread, 2); - ObDereferenceObject(Process); return Status; } @@ -518,7 +513,6 @@ /* Close its handle, killing it */ ObCloseHandle(ThreadHandle, PreviousMode); - ObDereferenceObject(Process); return Status; }
14 years, 3 months
1
0
0
0
[mjmartin] 48858: [ntoskrnl/ps] - Remove mistakenly committed ASSERTs that were used during my tests.
by mjmartin@svn.reactos.org
Author: mjmartin Date: Fri Sep 24 10:23:01 2010 New Revision: 48858 URL:
http://svn.reactos.org/svn/reactos?rev=48858&view=rev
Log: [ntoskrnl/ps] - Remove mistakenly committed ASSERTs that were used during my tests. Modified: trunk/reactos/ntoskrnl/ps/thread.c Modified: trunk/reactos/ntoskrnl/ps/thread.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/thread.c?rev=4…
============================================================================== --- trunk/reactos/ntoskrnl/ps/thread.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ps/thread.c [iso-8859-1] Fri Sep 24 10:23:01 2010 @@ -281,7 +281,6 @@ /* We couldn't create the CID, dereference the thread and fail */ ObDereferenceObject(Thread); ObDereferenceObject(Process); - ASSERT(FALSE); return STATUS_INSUFFICIENT_RESOURCES; } @@ -304,7 +303,6 @@ /* Fail */ ObDereferenceObject(Thread); ObDereferenceObject(Process); - ASSERT(FALSE); return STATUS_PROCESS_IS_TERMINATING; } @@ -319,7 +317,6 @@ ExReleaseRundownProtection(&Process->RundownProtect); ObDereferenceObject(Thread); ObDereferenceObject(Process); - ASSERT(FALSE); return Status; } @@ -364,8 +361,6 @@ ExReleaseRundownProtection(&Process->RundownProtect); ObDereferenceObject(Thread); ObDereferenceObject(Process); - ASSERT(FALSE); - return Status; } @@ -441,8 +436,6 @@ /* Dereference completely to kill it */ ObDereferenceObjectEx(Thread, 2); ObDereferenceObject(Process); - ASSERT(FALSE); - return Status; } @@ -526,8 +519,6 @@ /* Close its handle, killing it */ ObCloseHandle(ThreadHandle, PreviousMode); ObDereferenceObject(Process); - ASSERT(FALSE); - return Status; }
14 years, 3 months
1
0
0
0
[mjmartin] 48857: [ntoskrnl/ps] - PspCreateThread: If thread creation fails, dereference the Process object also to account for the reference taken at the beginning of the function.
by mjmartin@svn.reactos.org
Author: mjmartin Date: Fri Sep 24 10:07:54 2010 New Revision: 48857 URL:
http://svn.reactos.org/svn/reactos?rev=48857&view=rev
Log: [ntoskrnl/ps] - PspCreateThread: If thread creation fails, dereference the Process object also to account for the reference taken at the beginning of the function. Modified: trunk/reactos/ntoskrnl/ps/thread.c Modified: trunk/reactos/ntoskrnl/ps/thread.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/thread.c?rev=4…
============================================================================== --- trunk/reactos/ntoskrnl/ps/thread.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ps/thread.c [iso-8859-1] Fri Sep 24 10:07:54 2010 @@ -280,6 +280,8 @@ { /* We couldn't create the CID, dereference the thread and fail */ ObDereferenceObject(Thread); + ObDereferenceObject(Process); + ASSERT(FALSE); return STATUS_INSUFFICIENT_RESOURCES; } @@ -301,6 +303,8 @@ { /* Fail */ ObDereferenceObject(Thread); + ObDereferenceObject(Process); + ASSERT(FALSE); return STATUS_PROCESS_IS_TERMINATING; } @@ -314,6 +318,8 @@ /* Failed to create the TEB. Release rundown and dereference */ ExReleaseRundownProtection(&Process->RundownProtect); ObDereferenceObject(Thread); + ObDereferenceObject(Process); + ASSERT(FALSE); return Status; } @@ -357,6 +363,9 @@ /* Release rundown and dereference */ ExReleaseRundownProtection(&Process->RundownProtect); ObDereferenceObject(Thread); + ObDereferenceObject(Process); + ASSERT(FALSE); + return Status; } @@ -431,6 +440,9 @@ /* Dereference completely to kill it */ ObDereferenceObjectEx(Thread, 2); + ObDereferenceObject(Process); + ASSERT(FALSE); + return Status; } @@ -513,6 +525,9 @@ /* Close its handle, killing it */ ObCloseHandle(ThreadHandle, PreviousMode); + ObDereferenceObject(Process); + ASSERT(FALSE); + return Status; }
14 years, 3 months
1
0
0
0
[akhaldi] 48856: [CMAKE] - Add fastfat_new by Alexey Komarov (IRC: q4a)
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Sep 24 09:46:34 2010 New Revision: 48856 URL:
http://svn.reactos.org/svn/reactos?rev=48856&view=rev
Log: [CMAKE] - Add fastfat_new by Alexey Komarov (IRC: q4a) Added: branches/cmake-bringup/drivers/filesystems/fastfat_new/CMakeLists.txt (with props) Modified: branches/cmake-bringup/drivers/filesystems/CMakeLists.txt Modified: branches/cmake-bringup/drivers/filesystems/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/filesyste…
============================================================================== --- branches/cmake-bringup/drivers/filesystems/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/filesystems/CMakeLists.txt [iso-8859-1] Fri Sep 24 09:46:34 2010 @@ -2,3 +2,4 @@ add_subdirectory(cdfs) add_subdirectory(ext2) add_subdirectory(fastfat) +#add_subdirectory(fastfat_new) Added: branches/cmake-bringup/drivers/filesystems/fastfat_new/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/filesyste…
============================================================================== --- branches/cmake-bringup/drivers/filesystems/fastfat_new/CMakeLists.txt (added) +++ branches/cmake-bringup/drivers/filesystems/fastfat_new/CMakeLists.txt [iso-8859-1] Fri Sep 24 09:46:34 2010 @@ -1,0 +1,37 @@ + +include_directories(.) +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/fullfat) + +list(APPEND SOURCE + cleanup.c + close.c + create.c + device.c + dir.c + ea.c + fastfat.c + fastio.c + fat.c + fcb.c + finfo.c + flush.c + fsctl.c + fullfat.c + lock.c + rw.c + shutdown.c + volume.c + fastfat.rc) + +add_library(fastfat_new SHARED ${CMAKE_CURRENT_BINARY_DIR}/fastfat_new_fastfat.h.gch ${SOURCE}) + +set_target_properties(fastfat_new PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--exclude-all-symbols -Wl,--subsystem,native" SUFFIX ".sys") + +target_link_libraries(fastfat_new + pseh + fullfat) + +add_importlibs(fastfat_new ntoskrnl hal) + +add_pch(fastfat_new ${CMAKE_CURRENT_SOURCE_DIR}/fastfat.h ${SOURCE}) +add_dependencies(fastfat_new psdk bugcodes) Propchange: branches/cmake-bringup/drivers/filesystems/fastfat_new/CMakeLists.txt ------------------------------------------------------------------------------ svn:eol-style = native
14 years, 3 months
1
0
0
0
[dreimer] 48855: Big rapps Update
by dreimer@svn.reactos.org
Author: dreimer Date: Thu Sep 23 21:33:49 2010 New Revision: 48855 URL:
http://svn.reactos.org/svn/reactos?rev=48855&view=rev
Log: Big rapps Update Modified: trunk/reactos/base/applications/rapps/rapps/firefox36.txt trunk/reactos/base/applications/rapps/rapps/freebasic.txt trunk/reactos/base/applications/rapps/rapps/mirandaim.txt trunk/reactos/base/applications/rapps/rapps/mirc.txt trunk/reactos/base/applications/rapps/rapps/mpc.txt trunk/reactos/base/applications/rapps/rapps/openttd.txt trunk/reactos/base/applications/rapps/rapps/opera.txt trunk/reactos/base/applications/rapps/rapps/python.txt trunk/reactos/base/applications/rapps/rapps/scite.txt trunk/reactos/base/applications/rapps/rapps/seamonkey.txt trunk/reactos/base/applications/rapps/rapps/thunderbird.txt trunk/reactos/base/applications/rapps/rapps/utorrent.txt trunk/reactos/base/applications/rapps/rapps/vlc.txt Modified: trunk/reactos/base/applications/rapps/rapps/firefox36.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/firefox36.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/firefox36.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,47 +2,47 @@ [Section] Name = Mozilla Firefox 3.6 -Version = 3.6.7 +Version = 3.6.10 Licence = MPL/GPL/LGPL Description = The most popular and one of the best free Web Browsers out there. -Size = 8.2M +Size = 8.1M Category = 5 URLSite =
http://www.mozilla.com/en-US/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.7/win32/en…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.10/win32/e…
CDPath = none [Section.0407] Description = Der populärste und einer der besten freien Webbrowser. Size = 8.0M URLSite =
http://www.mozilla-europe.org/de/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.7/win32/de…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.10/win32/d…
[Section.040a] Description = El más popular y uno de los mejores navegadores web gratuitos que hay. Size = 8.0M URLSite =
http://www.mozilla-europe.org/es/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.7/win32/es…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.10/win32/e…
[Section.0414] Description = Mest populære og best også gratis nettleserene der ute. Size = 8.0M URLSite =
http://www.mozilla-europe.org/no/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.7/win32/nb…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.10/win32/n…
[Section.0415] Description = Najpopularniejsza i jedna z najlepszych darmowych przeglÄ darek internetowych. -Size = 8.9M +Size = 8.8M URLSite =
http://www.mozilla-europe.org/pl/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.7/win32/pl…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.10/win32/p…
[Section.0419] Description = Ðдин из ÑамÑÑ Ð¿Ð¾Ð¿ÑлÑÑнÑÑ Ð¸ лÑÑÑÐ¸Ñ Ð±ÐµÑплаÑнÑÑ Ð±ÑаÑзеÑов. Size = 8.4M URLSite =
http://www.mozilla-europe.org/ru/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.7/win32/ru…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.10/win32/r…
[Section.0422] Description = ÐайпопÑлÑÑнÑÑий Ñа один з кÑаÑÐ¸Ñ Ð±ÐµÐ·Ð¿Ð»Ð°ÑÐ½Ð¸Ñ Ð²ÐµÐ±-бÑаÑзеÑÑв. Size = 8.4M URLSite =
http://www.mozilla-europe.org/uk/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.7/win32/uk…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.10/win32/u…
Modified: trunk/reactos/base/applications/rapps/rapps/freebasic.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/freebasic.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/freebasic.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,13 +2,13 @@ [Section] Name = FreeBASIC -Version = 0.20.0b +Version = 0.21.1 Licence = GPL/LGPL Description = Open Source BASIC Compiler. The BASIC syntax is compatible to QBASIC. -Size = 5.5MB +Size = 5.9MB Category = 7 URLSite =
http://www.freebasic.net/
-URLDownload =
http://ovh.dl.sourceforge.net/sourceforge/fbc/FreeBASIC-v0.20.0b-win32.exe
+URLDownload =
http://freefr.dl.sourceforge.net/project/fbc/Binaries%20-%20Windows/FreeBAS…
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/mirandaim.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/mirandaim.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/mirandaim.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,13 +2,13 @@ [Section] Name = Miranda IM -Version = 0.8.27 +Version = 0.9.3 Licence = GPL Description = Open source multiprotocol instant messaging application - May not work completely. -Size = 1.8MB +Size = 2.2MB Category = 5 URLSite =
http://www.miranda-im.org/
-URLDownload =
http://miranda.googlecode.com/files/miranda-im-v0.8.27-unicode.exe
+URLDownload =
http://miranda.googlecode.com/files/miranda-im-v0.9.3-unicode.exe
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/mirc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/mirc.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/mirc.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,13 +2,13 @@ [Section] Name = mIRC -Version = 6.35 +Version = 7.1 Licence = Shareware Description = The most popular client for the Internet Relay Chat (IRC). -Size = 1.66M +Size = 1.8M Category = 5 URLSite =
http://www.mirc.com/
-URLDownload =
http://mirc.bigchief.dk/mirc635.exe
+URLDownload =
http://download.mirc.com/mirc71.exe
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/mpc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/mpc.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/mpc.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,13 +2,13 @@ [Section] Name = Media Player Classic Home Cinema -Version = 1.3.1249 +Version = 1.4.2499 Licence = GPL Description = A media player. -Size = 3.0MB +Size = 4.9MB Category = 1 URLSite =
http://mpc-hc.sourceforge.net/
-URLDownload =
http://mesh.dl.sourceforge.net/project/mpc-hc/MPC%20HomeCinema%20-%20Win32/…
+URLDownload =
http://freefr.dl.sourceforge.net/project/mpc-hc/MPC%20HomeCinema%20-%20Win3…
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/openttd.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/openttd.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/openttd.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,13 +2,13 @@ [Section] Name = OpenTTD -Version = 1.0.2 +Version = 1.0.4 Licence = GPL v2 Description = Open Source clone of the "Transport Tycoon Deluxe" game engine. You need a copy of Transport Tycoon. -Size = 3.5MB +Size = 3.4MB Category = 4 URLSite =
http://www.openttd.org/
-URLDownload =
http://binaries.openttd.org/releases/1.0.2/openttd-1.0.2-windows-win32.exe
+URLDownload =
http://binaries.openttd.org/releases/1.0.4/openttd-1.0.4-windows-win32.exe
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/opera.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/opera.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/opera.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,13 +2,13 @@ [Section] Name = Opera -Version = 10.60 +Version = 10.62 Licence = Freeware Description = The popular Opera Browser with many advanced features and including a Mail and BitTorrent client. Size = 12.7M Category = 5 URLSite =
http://www.opera.com/
-URLDownload =
http://get4.opera.com/pub/opera/win/1060/int/Opera_1060_int_Setup.exe
+URLDownload =
http://get4.opera.com/pub/opera/win/1062/int/Opera_1062_int_Setup.exe
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/python.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/python.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/python.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,13 +2,13 @@ [Section] Name = Python -Version = 2.6.5 +Version = 2.6.6 Licence = GPL/LGPL Description = A remarkably powerful dynamic programming language. -Size = 14MB +Size = 14.5MB Category = 7 URLSite =
http://www.python.org/
-URLDownload =
http://www.python.org/ftp/python/2.6.5/python-2.6.5.msi
+URLDownload =
http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/scite.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/scite.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/scite.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,13 +2,13 @@ [Section] Name = SciTE -Version = 2.12 +Version = 2.20 Licence = Freeware Description = SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. Size = 0.6M Category = 7 URLSite =
http://www.scintilla.org/
-URLDownload =
http://ovh.dl.sourceforge.net/sourceforge/scintilla/Sc212.exe
+URLDownload =
http://kent.dl.sourceforge.net/project/scintilla/SciTE/2.21/Sc221.exe
CDPath = none [Section.0407] Modified: trunk/reactos/base/applications/rapps/rapps/seamonkey.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/seamonkey.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/seamonkey.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,36 +2,31 @@ [Section] Name = Mozilla SeaMonkey -Version = 2.0.6 +Version = 2.0.8 Licence = MPL/GPL/LGPL Description = Mozilla Suite is alive. This is the one and only Browser, Mail, Chat, and Composer bundle you will ever need. Size = 10.1MB Category = 5 URLSite =
http://www.seamonkey-project.org/
-URLDownload =
http://mozilla.mirror.ac.za/seamonkey/releases/2.0.6/win32/en-US/SeaMonkey%…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/2.0.8/win32/…
CDPath = none [Section.0407] Description = Mozilla Suite lebt. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen. Size = 10.0MB -URLDownload =
http://mozilla.mirror.ac.za/seamonkey/releases/2.0.6/win32/de/SeaMonkey%20S…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/2.0.8/win32/…
[Section.040a] Description = La suite de Mozilla está viva. Es el primero y único navegador web, gestor de correo, lector de noticias, Chat y editor HTML que necesitarás. Size = 10.0MB -URLDownload =
http://mozilla.mirror.ac.za/seamonkey/releases/2.0.6/win32/es-ES/SeaMonkey%…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/2.0.8/win32/…
[Section.0415] Description = Pakiet Mozilla żyje. W zestawie: przeglÄ darka, klient poczty, IRC oraz Edytor HTML - wszystko, czego potrzebujesz. Size = 10.8MB -URLDownload =
http://mozilla.mirror.ac.za/seamonkey/releases/2.0.6/win32/pl/SeaMonkey%20S…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/2.0.8/win32/…
[Section.0419] Description = ÐÑодолжение Mozilla Suite. ÐклÑÑÐ°ÐµÑ Ð±ÑаÑзеÑ, поÑÑовÑй клиенÑ, IRC-ÐºÐ»Ð¸ÐµÐ½Ñ Ð¸ HTML-ÑедакÑоÑ. Size = 10.4MB -URLDownload =
http://mozilla.mirror.ac.za/seamonkey/releases/2.0.6/win32/ru/SeaMonkey%20S…
- -[Section.0422] -Description = Mozilla Suite повеÑнÑвÑÑ. ÐÐ°ÐºÐµÑ Ð¼ÑÑÑиÑÑ Ð² ÑÐ¾Ð±Ñ Ð±ÑаÑзеÑ, поÑÑовий клÑÑнÑ, IRC-клÑÑÐ½Ñ Ñа HTML-ÑедакÑоÑ. -Size = 10.4MB -URLDownload =
http://mozilla.mirror.ac.za/seamonkey/releases/2.0.6/win32/ru/SeaMonkey%20S…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/2.0.8/win32/…
Modified: trunk/reactos/base/applications/rapps/rapps/thunderbird.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/thunderbird.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/thunderbird.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,41 +2,41 @@ [Section] Name = Mozilla Thunderbird -Version = 3.1.1 +Version = 3.1.4 Licence = MPL/GPL/LGPL Description = The most popular and one of the best free Mail Clients out there. Size = 9.0M Category = 5 URLSite =
http://www.mozilla-europe.org/en/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.1/win3…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.4/win3…
CDPath = none [Section.0407] Description = Der populärste und einer der besten freien Mail-Clients. -Size = 8.9M +Size = 8.8M URLSite =
http://www.mozilla-europe.org/de/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.1/win3…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.4/win3…
[Section.040a] Description = El más popular y uno de los mejores clientes mail que hay. Size = 8.8M URLSite =
http://www.mozilla-europe.org/es/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.1/win3…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.4/win3…
[Section.0415] Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty. Size = 9.7M URLSite =
http://www.mozilla-europe.org/pl/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.1/win3…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.4/win3…
[Section.0419] Description = Ðдин из ÑамÑÑ Ð¿Ð¾Ð¿ÑлÑÑнÑÑ Ð¸ лÑÑÑÐ¸Ñ Ð±ÐµÑплаÑнÑÑ Ð¿Ð¾ÑÑовÑÑ ÐºÐ»Ð¸ÐµÐ½Ñов. Size = 9.2M URLSite =
http://www.mozilla-europe.org/ru/products/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.1/win3…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.4/win3…
[Section.0422] Description = ÐайпопÑлÑÑнÑÑий Ñа один з кÑаÑÐ¸Ñ Ð¿Ð¾ÑÑÐ¾Ð²Ð¸Ñ ÐºÐ»ÑÑнÑÑв. Size = 9.2M URLSite =
http://www.mozillamessaging.com/uk/thunderbird/
-URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.1/win3…
+URLDownload =
http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.1.4/win3…
Modified: trunk/reactos/base/applications/rapps/rapps/utorrent.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/utorrent.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/utorrent.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,13 +2,13 @@ [Section] Name = µTorrent -Version = 2.0.3 +Version = 2.0.4 Licence = Freeware for non-commercial uses Description = Small and fast BitTorrent Client. Size = 320K Category = 5 URLSite =
http://www.utorrent.com/
-URLDownload =
http://download.utorrent.com/2.0.3/utorrent.exe
+URLDownload =
http://download.utorrent.com/2.0.4/utorrent.exe
CDPath = none Modified: trunk/reactos/base/applications/rapps/rapps/vlc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/vlc.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/vlc.txt [iso-8859-1] Thu Sep 23 21:33:49 2010 @@ -2,13 +2,13 @@ [Section] Name = VLC media player -Version = 1.1.1 +Version = 1.1.4 Licence = GPL Description = A media player. -Size = 18.6MB +Size = 18.7MB Category = 1 URLSite =
http://www.videolan.org/vlc/
-URLDownload =
http://ignum.dl.sourceforge.net/project/vlc/1.1.1/win32/vlc-1.1.1-win32.exe
+URLDownload =
http://ignum.dl.sourceforge.net/project/vlc/1.1.4/win32/vlc-1.1.4-win32.exe
CDPath = none [Section.0407]
14 years, 3 months
1
0
0
0
[tkreuzer] 48854: [HAL] Fix amd64 build
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Thu Sep 23 20:22:12 2010 New Revision: 48854 URL:
http://svn.reactos.org/svn/reactos?rev=48854&view=rev
Log: [HAL] Fix amd64 build Modified: trunk/reactos/hal/halx86/amd64/halinit.c Modified: trunk/reactos/hal/halx86/amd64/halinit.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/amd64/halinit.c…
============================================================================== --- trunk/reactos/hal/halx86/amd64/halinit.c [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/amd64/halinit.c [iso-8859-1] Thu Sep 23 20:22:12 2010 @@ -14,6 +14,8 @@ /* GLOBALS *******************************************************************/ +BOOLEAN HalpPciLockSettings; + /* PRIVATE FUNCTIONS *********************************************************/ /* FUNCTIONS *****************************************************************/
14 years, 3 months
1
0
0
0
[jimtabor] 48853: [Win32k] - Coding for PrintWindow support for bug 5609. This does not fix the export, which should be a direct call to win32k.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Thu Sep 23 17:51:10 2010 New Revision: 48853 URL:
http://svn.reactos.org/svn/reactos?rev=48853&view=rev
Log: [Win32k] - Coding for PrintWindow support for bug 5609. This does not fix the export, which should be a direct call to win32k. Modified: trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c trunk/reactos/subsystems/win32/win32k/ntuser/painting.c Modified: trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/ntstubs.c [iso-8859-1] Thu Sep 23 17:51:10 2010 @@ -866,17 +866,6 @@ return 0; } -BOOL -APIENTRY -NtUserPrintWindow( - HWND hwnd, - HDC hdcBlt, - UINT nFlags) -{ - UNIMPLEMENTED; - return 0; -} - NTSTATUS APIENTRY NtUserProcessConnect( Modified: trunk/reactos/subsystems/win32/win32k/ntuser/painting.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/painting.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/painting.c [iso-8859-1] Thu Sep 23 17:51:10 2010 @@ -750,6 +750,64 @@ return 0; } +BOOL +FASTCALL +IntPrintWindow( + PWINDOW_OBJECT Window, + HDC hdcBlt, + UINT nFlags) +{ + PWND pwnd; + HDC hdcSrc; + INT cx, cy, xSrc, ySrc; + + pwnd = Window->Wnd; + + if (!pwnd) + return FALSE; + + if ( nFlags & PW_CLIENTONLY) + { + cx = pwnd->rcClient.right - pwnd->rcClient.left; + cy = pwnd->rcClient.bottom - pwnd->rcClient.top; + xSrc = pwnd->rcClient.left - pwnd->rcWindow.left; + ySrc = pwnd->rcClient.top - pwnd->rcWindow.top; + } + else + { + cx = pwnd->rcWindow.right - pwnd->rcWindow.left; + cy = pwnd->rcWindow.bottom - pwnd->rcWindow.top; + xSrc = 0; + ySrc = 0; + } + + // TODO: Setup Redirection for Print. + return FALSE; + + /* Update the window just incase. */ + co_IntPaintWindows( Window, RDW_ERASENOW|RDW_UPDATENOW, FALSE); + + hdcSrc = UserGetDCEx( Window, NULL, DCX_CACHE|DCX_WINDOW); + /* Print window to printer context. */ + NtGdiBitBlt( hdcBlt, + 0, + 0, + cx, + cy, + hdcSrc, + xSrc, + ySrc, + SRCCOPY, + 0, + 0); + + UserReleaseDC( Window, hdcSrc, FALSE); + + // TODO: Release Redirection from Print. + + return TRUE; +} + /* PUBLIC FUNCTIONS ***********************************************************/ /* @@ -2028,6 +2086,36 @@ return NtUserRedrawWindow(hWnd, NULL, hRgn, RDW_INVALIDATE | (bErase? RDW_ERASE : 0)); } +BOOL +APIENTRY +NtUserPrintWindow( + HWND hwnd, + HDC hdcBlt, + UINT nFlags) +{ + PWINDOW_OBJECT Window; + BOOL Ret = FALSE; + + UserEnterExclusive(); + + if (hwnd) + { + Window = UserGetWindowObject(hwnd); + // TODO: Add Desktop and MessageBox check via FNID's. + if ( Window ) + { + /* Validate flags and check it as a mask for 0 or 1. */ + if ( (nFlags & PW_CLIENTONLY) == nFlags) + Ret = IntPrintWindow( Window, hdcBlt, nFlags); + else + SetLastWin32Error(ERROR_INVALID_PARAMETER); + } + } + + UserLeave(); + return Ret; +} + /* ValidateRect gets redirected to NtUserValidateRect:
http://blog.csdn.net/ntdll/archive/2005/10/19/509299.aspx
*/ BOOL
14 years, 3 months
1
0
0
0
[akhaldi] 48852: [CMAKE] - Don't export symbols from pci(x) and pcmcia.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Thu Sep 23 16:50:00 2010 New Revision: 48852 URL:
http://svn.reactos.org/svn/reactos?rev=48852&view=rev
Log: [CMAKE] - Don't export symbols from pci(x) and pcmcia. Modified: branches/cmake-bringup/drivers/bus/pci/CMakeLists.txt branches/cmake-bringup/drivers/bus/pcix/CMakeLists.txt branches/cmake-bringup/drivers/bus/pcmcia/CMakeLists.txt Modified: branches/cmake-bringup/drivers/bus/pci/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/bus/pci/C…
============================================================================== --- branches/cmake-bringup/drivers/bus/pci/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/bus/pci/CMakeLists.txt [iso-8859-1] Thu Sep 23 16:50:00 2010 @@ -7,7 +7,7 @@ pdo.c pci.rc) -set_target_properties(pci PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--subsystem,native" SUFFIX ".sys") +set_target_properties(pci PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--subsystem,native -Wl,--exclude-all-symbols" SUFFIX ".sys") target_link_libraries(pci -lntoskrnl Modified: branches/cmake-bringup/drivers/bus/pcix/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/bus/pcix/…
============================================================================== --- branches/cmake-bringup/drivers/bus/pcix/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/bus/pcix/CMakeLists.txt [iso-8859-1] Thu Sep 23 16:50:00 2010 @@ -40,7 +40,7 @@ add_library(pcix SHARED ${CMAKE_CURRENT_BINARY_DIR}/pcix_pci.h.gch ${SOURCE}) -set_target_properties(pcix PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--subsystem,native" SUFFIX ".sys") +set_target_properties(pcix PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--subsystem,native -Wl,--exclude-all-symbols" SUFFIX ".sys") target_link_libraries(pcix -lntoskrnl Modified: branches/cmake-bringup/drivers/bus/pcmcia/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/bus/pcmci…
============================================================================== --- branches/cmake-bringup/drivers/bus/pcmcia/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/bus/pcmcia/CMakeLists.txt [iso-8859-1] Thu Sep 23 16:50:00 2010 @@ -7,7 +7,7 @@ pdo.c pcmcia.rc) -set_target_properties(pcmcia PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--subsystem,native" SUFFIX ".sys") +set_target_properties(pcmcia PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--subsystem,native -Wl,--exclude-all-symbols" SUFFIX ".sys") target_link_libraries(pcmcia -lntoskrnl
14 years, 3 months
1
0
0
0
[evb] 48851: - 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...
by evb@svn.reactos.org
Author: evb Date: Thu Sep 23 13:24:41 2010 New Revision: 48851 URL:
http://svn.reactos.org/svn/reactos?rev=48851&view=rev
Log: - 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. Modified: trunk/reactos/drivers/bus/pcix/arb/arb_comn.c trunk/reactos/drivers/bus/pcix/enum.c trunk/reactos/drivers/bus/pcix/fdo.c trunk/reactos/drivers/bus/pcix/hookhal.c trunk/reactos/drivers/bus/pcix/init.c trunk/reactos/drivers/bus/pcix/intrface/routintf.c trunk/reactos/drivers/bus/pcix/pci.h trunk/reactos/drivers/bus/pcix/pci/busno.c trunk/reactos/drivers/bus/pcix/pci/ppbridge.c trunk/reactos/drivers/bus/pcix/utils.c Modified: trunk/reactos/drivers/bus/pcix/arb/arb_comn.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/pcix/arb/arb_c…
============================================================================== --- trunk/reactos/drivers/bus/pcix/arb/arb_comn.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/pcix/arb/arb_comn.c [iso-8859-1] Thu Sep 23 13:24:41 2010 @@ -138,20 +138,23 @@ DPRINT1("PCI Warning hot start FDOx %08x, resource ranges not checked.\n", DeviceExtension); return STATUS_INVALID_DEVICE_REQUEST; } - + /* Check for non-root FDO */ if (!PCI_IS_ROOT_FDO(DeviceExtension)) { /* Grab the PDO */ PdoExtension = (PPCI_PDO_EXTENSION)DeviceExtension->PhysicalDeviceObject->DeviceExtension; - ASSERT(PdoExtension->ExtensionType == PciPdoExtensionType); - - /* Multiple FDOs are not yet supported */ - UNIMPLEMENTED; - while (TRUE); - return STATUS_SUCCESS; - } - + ASSERT_PDO(PdoExtension); + + /* Check if this is a subtractive bus */ + if (PdoExtension->Dependent.type1.SubtractiveDecode) + { + /* There is nothing to do regarding arbitration of resources */ + DPRINT1("PCI Skipping arbiter initialization for subtractive bridge FDOX %p\n", DeviceExtension); + return STATUS_SUCCESS; + } + } + /* Loop all arbiters */ for (ArbiterType = PciArb_Io; ArbiterType <= PciArb_Memory; ArbiterType++) { @@ -171,7 +174,7 @@ /* Ignore anything else */ continue; } - + /* Find an arbiter of this type */ Instance = PciFindNextSecondaryExtension(&DeviceExtension->SecondaryExtension, ArbiterType); Modified: trunk/reactos/drivers/bus/pcix/enum.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/pcix/enum.c?re…
============================================================================== --- trunk/reactos/drivers/bus/pcix/enum.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/pcix/enum.c [iso-8859-1] Thu Sep 23 13:24:41 2010 @@ -1575,15 +1575,31 @@ PWCHAR DescriptionText; USHORT SubVendorId, SubSystemId; PCI_CAPABILITIES_HEADER CapHeader, PcixCapHeader; + UCHAR SecondaryBus; DPRINT1("PCI Scan Bus: FDO Extension @ 0x%x, Base Bus = 0x%x\n", DeviceExtension, DeviceExtension->BaseBus); /* Is this the root FDO? */ if (!PCI_IS_ROOT_FDO(DeviceExtension)) { - /* Other FDOs are not currently supported */ - UNIMPLEMENTED; - while (TRUE); + /* Get the PDO for the child bus */ + PdoExtension = DeviceExtension->PhysicalDeviceObject->DeviceExtension; + ASSERT_PDO(PdoExtension); + + /* Check for hack which only allows bus to have one child device */ + if (PdoExtension->HackFlags & PCI_HACK_ONE_CHILD) MaxDevice = 1; + + /* Check if the secondary bus number has changed */ + PciReadDeviceConfig(PdoExtension, + &SecondaryBus, + FIELD_OFFSET(PCI_COMMON_HEADER, u.type1.SecondaryBus), + sizeof(UCHAR)); + if (SecondaryBus != PdoExtension->Dependent.type1.SecondaryBus) + { + DPRINT1("PCI: Bus numbers have been changed! Restoring originals.\n"); + UNIMPLEMENTED; + while (TRUE); + } } /* Loop every device on the bus */ Modified: trunk/reactos/drivers/bus/pcix/fdo.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/pcix/fdo.c?rev…
============================================================================== --- trunk/reactos/drivers/bus/pcix/fdo.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/pcix/fdo.c [iso-8859-1] Thu Sep 23 13:24:41 2010 @@ -89,7 +89,6 @@ /* Check for any boot-provided resources */ Resources = IoStackLocation->Parameters.StartDevice.AllocatedResources; - DPRINT1("Resources: %p\n", Resources); if ((Resources) && !(PCI_IS_ROOT_FDO(DeviceExtension))) { /* These resources would only be for non-root FDOs, unhandled for now */ @@ -227,7 +226,7 @@ /* Deleted extensions don't respond to IRPs */ if (DeviceExtension->DeviceState == PciDeleted) { - /* Hand it bacO try to deal with it */ + /* Hand it back to try to deal with it */ return PciPassIrpFromFdoToPdo(DeviceExtension, Irp); } @@ -436,6 +435,7 @@ PDEVICE_OBJECT AttachedTo; PPCI_FDO_EXTENSION FdoExtension; PPCI_FDO_EXTENSION ParentExtension; + PPCI_PDO_EXTENSION PdoExtension; PDEVICE_OBJECT DeviceObject; UCHAR Buffer[sizeof(KEY_VALUE_PARTIAL_INFORMATION) + sizeof(ULONG)]; PKEY_VALUE_PARTIAL_INFORMATION ValueInfo = (PKEY_VALUE_PARTIAL_INFORMATION)Buffer; @@ -449,6 +449,8 @@ /* Zero out variables so failure path knows what to do */ AttachedTo = NULL; + FdoExtension = NULL; + PdoExtension = NULL; do { /* Check if there's already a device extension for this bus */ @@ -456,9 +458,44 @@ &PciGlobalLock); if (ParentExtension) { - /* More than one PCI bus, this is not expected yet */ - UNIMPLEMENTED; - while (TRUE); + /* Make sure we find a real PDO */ + PdoExtension = PhysicalDeviceObject->DeviceExtension; + ASSERT_PDO(PdoExtension); + + /* Make sure it's a PCI-to-PCI bridge */ + if ((PdoExtension->BaseClass != PCI_CLASS_BRIDGE_DEV) || + (PdoExtension->SubClass != PCI_SUBCLASS_BR_PCI_TO_PCI)) + { + /* This should never happen */ + DPRINT1("PCI - PciAddDevice for Non-Root/Non-PCI-PCI bridge,\n" + " Class %02x, SubClass %02x, will not add.\n", + PdoExtension->BaseClass, + PdoExtension->SubClass); + ASSERT((PdoExtension->BaseClass == PCI_CLASS_BRIDGE_DEV) && + (PdoExtension->SubClass == PCI_SUBCLASS_BR_PCI_TO_PCI)); + + /* Enter the failure path */ + Status = STATUS_INVALID_DEVICE_REQUEST; + break; + } + + /* Subordinate bus on the bridge */ + DPRINT1("PCI - AddDevice (new bus is child of bus 0x%x).\n", + ParentExtension->BaseBus); + + /* Make sure PCI bus numbers are configured */ + if (!PciAreBusNumbersConfigured(PdoExtension)) + { + /* This is a critical failure */ + DPRINT1("PCI - Bus numbers not configured for bridge (0x%x.0x%x.0x%x)\n", + ParentExtension->BaseBus, + PdoExtension->Slot.u.bits.DeviceNumber, + PdoExtension->Slot.u.bits.FunctionNumber); + + /* Enter the failure path */ + Status = STATUS_INVALID_DEVICE_REQUEST; + break; + } } /* Create the FDO for the bus */ @@ -484,11 +521,15 @@ ASSERT(AttachedTo != NULL); if (!AttachedTo) break; FdoExtension->AttachedDeviceObject = AttachedTo; + + /* Check if this is a child bus, or the root */ if (ParentExtension) { - /* More than one PCI bus, this is not expected yet */ - UNIMPLEMENTED; - while (TRUE); + /* The child inherits root data */ + FdoExtension->BaseBus = PdoExtension->Dependent.type1.SecondaryBus; + FdoExtension->BusRootFdoExtension = ParentExtension->BusRootFdoExtension; + PdoExtension->BridgeFdoExtension = FdoExtension; + FdoExtension->ParentFdoExtension = ParentExtension; } else { @@ -505,7 +546,9 @@ { /* Root PDO in ReactOS does not assign boot resources */ UNIMPLEMENTED; - while (TRUE); +// while (TRUE); + DPRINT1("Encountered during setup\n"); + Descriptor = NULL; } if (Descriptor) @@ -520,15 +563,11 @@ if (PciBreakOnDefault) { /* If a second bus is found and there's still no data, crash */ - #if 0 // ros bug? KeBugCheckEx(PCI_BUS_DRIVER_INTERNAL, 0xDEAD0010u, (ULONG_PTR)DeviceObject, 0, 0); - #else - DPRINT1("Windows would crash!\n"); - #endif } /* Warn that a default configuration will be used, and set bus 0 */ @@ -586,12 +625,16 @@ /* The Bus FDO is now initialized */ DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING; - DPRINT1("PCI Root FDO Added: %p %p\n", DeviceObject, FdoExtension); return STATUS_SUCCESS; } while (FALSE); /* This is the failure path */ ASSERT(!NT_SUCCESS(Status)); + + /* Check if the FDO extension exists */ + if (FdoExtension) DPRINT1("Should destroy secondaries\n"); + + /* Delete device objects */ if (AttachedTo) IoDetachDevice(AttachedTo); if (DeviceObject) IoDeleteDevice(DeviceObject); return Status; Modified: trunk/reactos/drivers/bus/pcix/hookhal.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/pcix/hookhal.c…
============================================================================== --- trunk/reactos/drivers/bus/pcix/hookhal.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/pcix/hookhal.c [iso-8859-1] Thu Sep 23 13:24:41 2010 @@ -27,10 +27,88 @@ OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress) { - /* This function is not yet implemented */ + /* FIXME: Broken translation */ UNIMPLEMENTED; - while (TRUE); - return FALSE; + TranslatedAddress->QuadPart = BusAddress.QuadPart; + return TRUE; +} + +PPCI_PDO_EXTENSION +NTAPI +PciFindPdoByLocation(IN ULONG BusNumber, + IN ULONG SlotNumber) +{ + PPCI_FDO_EXTENSION DeviceExtension; + PPCI_PDO_EXTENSION PdoExtension; + PCI_SLOT_NUMBER PciSlot; + PciSlot.u.AsULONG = SlotNumber; + + /* Acquire the global lock */ + KeEnterCriticalRegion(); + KeWaitForSingleObject(&PciGlobalLock, Executive, KernelMode, FALSE, NULL); + + /* Now search for the extension */ + DeviceExtension = (PPCI_FDO_EXTENSION)PciFdoExtensionListHead.Next; + while (DeviceExtension) + { + /* If we found it, break out */ + if (DeviceExtension->BaseBus == BusNumber) break; + + /* Move to the next device */ + DeviceExtension = (PPCI_FDO_EXTENSION)DeviceExtension->List.Next; + } + + /* Release the global lock */ + KeSetEvent(&PciGlobalLock, IO_NO_INCREMENT, FALSE); + KeLeaveCriticalRegion(); + + /* Check if the device extension for the bus was found */ + if (!DeviceExtension) + { + /* It wasn't, bail out */ + DPRINT1("Pci: Could not find PCI bus FDO. Bus Number = 0x%x\n", BusNumber); + return NULL; + } + + /* Acquire this device's lock */ + KeEnterCriticalRegion(); + KeWaitForSingleObject(&DeviceExtension->ChildListLock, + Executive, + KernelMode, + FALSE, + NULL); + + /* Loop every child PDO */ + for (PdoExtension = DeviceExtension->ChildPdoList; + PdoExtension; + PdoExtension = PdoExtension->Next) + { + /* Check if the function number and header data matches */ + if ((PdoExtension->Slot.u.bits.FunctionNumber == PciSlot.u.bits.FunctionNumber) && + (PdoExtension->Slot.u.bits.DeviceNumber == PciSlot.u.bits.DeviceNumber)) + { + /* This is considered to be the same PDO */ + ASSERT(PdoExtension->Slot.u.AsULONG == PciSlot.u.AsULONG); + break; + } + } + + /* Release this device's lock */ + KeSetEvent(&DeviceExtension->ChildListLock, IO_NO_INCREMENT, FALSE); + KeLeaveCriticalRegion(); + + /* Check if we found something */ + if (!PdoExtension) + { + /* Let the debugger know */ + DPRINT1("Pci: Could not find PDO for device @ %x.%x.%x\n", + BusNumber, + PciSlot.u.bits.DeviceNumber, + PciSlot.u.bits.FunctionNumber); + } + + /* If the search found something, this is non-NULL, otherwise it's NULL */ + return PdoExtension; } NTSTATUS @@ -44,10 +122,120 @@ IN ULONG SlotNumber, IN OUT PCM_RESOURCE_LIST *AllocatedResources) { - /* This function is not yet implemented */ - UNIMPLEMENTED; - while (TRUE); - return STATUS_NOT_SUPPORTED; + PIO_RESOURCE_REQUIREMENTS_LIST RequirementsList = NULL; + PCM_RESOURCE_LIST Resources = NULL; + PCI_COMMON_HEADER PciData; + PPCI_PDO_EXTENSION PdoExtension; + NTSTATUS Status; + PDEVICE_OBJECT ExistingDeviceObject; + PAGED_CODE(); + ASSERT(PcipSavedAssignSlotResources); + ASSERT(BusType == PCIBus); + + /* Assume no resources */ + *AllocatedResources = NULL; + + /* Find the PDO for this slot and make sure it exists and is started */ + PdoExtension = PciFindPdoByLocation(BusNumber, SlotNumber); + if (!PdoExtension) return STATUS_DEVICE_DOES_NOT_EXIST; + if (PdoExtension->DeviceState == PciNotStarted) return STATUS_INVALID_OWNER; + + /* Acquire the global lock while we attempt to assign resources */ + KeEnterCriticalRegion(); + KeWaitForSingleObject(&PciGlobalLock, Executive, KernelMode, FALSE, NULL); + do + { + /* Make sure we're not on the PDO for some reason */ + ASSERT(DeviceObject != PdoExtension->PhysicalDeviceObject); + + /* Read the PCI header and cache the routing information */ + PciReadDeviceConfig(PdoExtension, &PciData, 0, PCI_COMMON_HDR_LENGTH); + Status = PciCacheLegacyDeviceRouting(DeviceObject, + BusNumber, + SlotNumber, + PciData.u.type0.InterruptLine, + PciData.u.type0.InterruptPin, + PciData.BaseClass, + PciData.SubClass, + PdoExtension->ParentFdoExtension-> + PhysicalDeviceObject, + PdoExtension, + &ExistingDeviceObject); + if (NT_SUCCESS(Status)) + { + /* Manually build the requirements for this device, and mark it legacy */ + Status = PciBuildRequirementsList(PdoExtension, + &PciData, + &RequirementsList); + PdoExtension->LegacyDriver = TRUE; + if (NT_SUCCESS(Status)) + { + /* Now call the legacy Pnp function to actually assign resources */ + Status = IoAssignResources(RegistryPath, + DriverClassName, + DriverObject, + DeviceObject, + RequirementsList, + &Resources); + if (NT_SUCCESS(Status)) + { + /* Resources are ready, so enable all decodes */ + PdoExtension->CommandEnables |= (PCI_ENABLE_IO_SPACE | + PCI_ENABLE_MEMORY_SPACE | + PCI_ENABLE_BUS_MASTER); + + /* Compute new resource settings based on what PnP assigned */ + PciComputeNewCurrentSettings(PdoExtension, Resources); + + /* Set these new resources on the device */ + Status = PciSetResources(PdoExtension, TRUE, TRUE); + if (NT_SUCCESS(Status)) + { + /* Some work needs to happen here to handle this */ + ASSERT(Resources->Count == 1); + //ASSERT(PartialList->Count > 0); + + UNIMPLEMENTED; + + /* Return the allocated resources, and success */ + *AllocatedResources = Resources; + Resources = NULL; + Status = STATUS_SUCCESS; + } + } + else + { + /* If assignment failed, no resources should exist */ + ASSERT(Resources == NULL); + } + + /* If assignment succeeed, then we are done */ + if (NT_SUCCESS(Status)) break; + } + + /* Otherwise, cache the new routing */ + PciCacheLegacyDeviceRouting(ExistingDeviceObject, + BusNumber, + SlotNumber, + PciData.u.type0.InterruptLine, + PciData.u.type0.InterruptPin, + PciData.BaseClass, + PciData.SubClass, + PdoExtension->ParentFdoExtension-> + PhysicalDeviceObject, + PdoExtension, + NULL); + } + } while (0); + + /* Release the lock */ + KeSetEvent(&PciGlobalLock, 0, 0); + KeLeaveCriticalRegion(); + + /* Free any temporary resource data and return the status */ + if (RequirementsList) ExFreePoolWithTag(RequirementsList, 0); + if (Resources) ExFreePoolWithTag(Resources, 0); + return Status; } VOID @@ -61,7 +249,7 @@ PcipSavedTranslateBusAddress = HalPciTranslateBusAddress; /* Take over the HAL's Bus Handler functions */ - HalPciAssignSlotResources = PciAssignSlotResources; +// HalPciAssignSlotResources = PciAssignSlotResources; HalPciTranslateBusAddress = PciTranslateBusAddress; } Modified: trunk/reactos/drivers/bus/pcix/init.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/pcix/init.c?re…
============================================================================== --- trunk/reactos/drivers/bus/pcix/init.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/pcix/init.c [iso-8859-1] Thu Sep 23 13:24:41 2010 @@ -641,6 +641,7 @@ Entry->HackFlags = HackFlags; /* Print out for the debugger's sake */ +#ifdef HACK_DEBUG DPRINT1("Adding Hack entry for Vendor:0x%04x Device:0x%04x ", Entry->VendorID, Entry->DeviceID); if (Entry->Flags & PCI_HACK_HAS_SUBSYSTEM_INFO) @@ -649,6 +650,7 @@ if (Entry->Flags & PCI_HACK_HAS_REVISION_INFO) DbgPrint("Revision:0x%02x", Entry->RevisionID); DbgPrint(" = 0x%I64x\n", Entry->HackFlags); +#endif } /* Bail out in case of failure */ @@ -705,6 +707,12 @@ UNICODE_STRING OptionString, PciLockString; NTSTATUS Status; DPRINT1("PCI: DriverEntry!\n"); + + /* Setup initial loop variables */ + KeyHandle = NULL; + ParametersKey = NULL; + DebugKey = NULL; + ControlSetKey = NULL; do { /* Remember our object so we can get it to it later */ @@ -735,11 +743,11 @@ KEY_QUERY_VALUE, &ParametersKey, &Status); - if (!Result) break; + //if (!Result) break; /* Build the list of all known PCI erratas */ Status = PciBuildHackTable(ParametersKey); - if (!NT_SUCCESS(Status)) break; + //if (!NT_SUCCESS(Status)) break; /* Open the debug key, if it exists */ Result = PciOpenKey(L"Debug", @@ -760,12 +768,12 @@ KeInitializeEvent(&PciLegacyDescriptionLock, SynchronizationEvent, TRUE); /* Open the control set key */ - Status = PciOpenKey(L"\\Registry\\Machine\\System\\CurrentControlSet", + Result = PciOpenKey(L"\\Registry\\Machine\\System\\CurrentControlSet", NULL, KEY_QUERY_VALUE, &ControlSetKey, &Status); - if (!NT_SUCCESS(Status)) break; + if (!Result) break; /* Read the command line */ Status = PciGetRegistryValue(L"SystemStartOptions", @@ -852,7 +860,7 @@ if (PciRunningDatacenter) DPRINT1("PCI running on datacenter build\n"); /* Check if the system has an ACPI Hardware Watchdog Timer */ - WdTable = PciGetAcpiTable(WDRT_SIGNATURE); + //WdTable = PciGetAcpiTable(WDRT_SIGNATURE); Status = STATUS_SUCCESS; } while (FALSE); Modified: trunk/reactos/drivers/bus/pcix/intrface/routintf.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/pcix/intrface/…
============================================================================== --- trunk/reactos/drivers/bus/pcix/intrface/routintf.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/pcix/intrface/routintf.c [iso-8859-1] Thu Sep 23 13:24:41 2010 @@ -13,6 +13,8 @@ #include <debug.h> /* GLOBALS ********************************************************************/ + +PPCI_LEGACY_DEVICE PciLegacyDeviceHead; PCI_INTERFACE PciRoutingInterface = { @@ -55,4 +57,92 @@ while (TRUE); } +NTSTATUS +NTAPI +PciCacheLegacyDeviceRouting(IN PDEVICE_OBJECT DeviceObject, + IN ULONG BusNumber, + IN ULONG SlotNumber, + IN UCHAR InterruptLine, + IN UCHAR InterruptPin, + IN UCHAR BaseClass, + IN UCHAR SubClass, + IN PDEVICE_OBJECT PhysicalDeviceObject, + IN PPCI_PDO_EXTENSION PdoExtension, + OUT PDEVICE_OBJECT *pFoundDeviceObject) +{ + PPCI_LEGACY_DEVICE *Link; + PPCI_LEGACY_DEVICE LegacyDevice; + PDEVICE_OBJECT FoundDeviceObject; + PAGED_CODE(); + + /* Scan current registered devices */ + LegacyDevice = PciLegacyDeviceHead; + Link = &PciLegacyDeviceHead; + while (LegacyDevice) + { + /* Find a match */ + if ((BusNumber == LegacyDevice->BusNumber) && + (SlotNumber == LegacyDevice->SlotNumber)) + { + /* We already know about this routing */ + break; + } + + /* We know about device already, but for a different location */ + if (LegacyDevice->DeviceObject == DeviceObject) + { + /* Free the existing structure, move to the next one */ + *Link = LegacyDevice->Next; + ExFreePoolWithTag(LegacyDevice, 0); + LegacyDevice = *Link; + } + else + { + /* Keep going */ + Link = &LegacyDevice->Next; + LegacyDevice = LegacyDevice->Next; + } + } + + /* Did we find a match? */ + if (!LegacyDevice) + { + /* Allocate a new cache structure */ + LegacyDevice = ExAllocatePoolWithTag(PagedPool, + sizeof(PCI_LEGACY_DEVICE), + 'PciR'); + if (!LegacyDevice) return STATUS_INSUFFICIENT_RESOURCES; + + /* Save all the data in it */ + RtlZeroMemory(LegacyDevice, sizeof(PCI_LEGACY_DEVICE)); + LegacyDevice->BusNumber = BusNumber; + LegacyDevice->SlotNumber = SlotNumber; + LegacyDevice->InterruptLine = InterruptLine; + LegacyDevice->InterruptPin = InterruptPin; + LegacyDevice->BaseClass = BaseClass; + LegacyDevice->SubClass = SubClass; + LegacyDevice->PhysicalDeviceObject = PhysicalDeviceObject; + LegacyDevice->DeviceObject = DeviceObject; + LegacyDevice->PdoExtension = PdoExtension; + + /* Link it in the list */ + LegacyDevice->Next = PciLegacyDeviceHead; + PciLegacyDeviceHead = LegacyDevice; + } + + /* Check if we found, or created, a matching caching structure */ + FoundDeviceObject = LegacyDevice->DeviceObject; + if (FoundDeviceObject == DeviceObject) + { + /* Return the device object and success */ + if (pFoundDeviceObject) *pFoundDeviceObject = DeviceObject; + return STATUS_SUCCESS; + } + + /* Otherwise, this is a new device object for this location */ + LegacyDevice->DeviceObject = DeviceObject; + if (pFoundDeviceObject) *pFoundDeviceObject = FoundDeviceObject; + return STATUS_SUCCESS; +} + /* EOF */ Modified: trunk/reactos/drivers/bus/pcix/pci.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/pcix/pci.h?rev…
============================================================================== --- trunk/reactos/drivers/bus/pcix/pci.h [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/pcix/pci.h [iso-8859-1] Thu Sep 23 13:24:41 2010 @@ -515,6 +515,24 @@ } PCI_IPI_CONTEXT, *PPCI_IPI_CONTEXT; // +// PCI Legacy Device Location Cache +// +typedef struct _PCI_LEGACY_DEVICE +{ + struct _PCI_LEGACY_DEVICE *Next; + PDEVICE_OBJECT DeviceObject; + ULONG BusNumber; + ULONG SlotNumber; + UCHAR InterruptLine; + UCHAR InterruptPin; + UCHAR BaseClass; + UCHAR SubClass; + PDEVICE_OBJECT PhysicalDeviceObject; + ROUTING_TOKEN RoutingToken; + PPCI_PDO_EXTENSION PdoExtension; +} PCI_LEGACY_DEVICE, *PPCI_LEGACY_DEVICE; + +// // IRP Dispatch Routines // NTSTATUS @@ -1560,6 +1578,14 @@ IN BOOLEAN SomethingSomethingDarkSide ); +NTSTATUS +NTAPI +PciBuildRequirementsList( + IN PPCI_PDO_EXTENSION PdoExtension, + IN PPCI_COMMON_HEADER PciData, + OUT PIO_RESOURCE_REQUIREMENTS_LIST* Buffer +); + // // Identification Functions // @@ -1732,6 +1758,33 @@ PPBridge_ChangeResourceSettings( IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData +); + +// +// Bus Number Routines +// +BOOLEAN +NTAPI +PciAreBusNumbersConfigured( + IN PPCI_PDO_EXTENSION PdoExtension +); + +// +// Routine Interface +// +NTSTATUS +NTAPI +PciCacheLegacyDeviceRouting( + IN PDEVICE_OBJECT DeviceObject, + IN ULONG BusNumber, + IN ULONG SlotNumber, + IN UCHAR InterruptLine, + IN UCHAR InterruptPin, + IN UCHAR BaseClass, + IN UCHAR SubClass, + IN PDEVICE_OBJECT PhysicalDeviceObject, + IN PPCI_PDO_EXTENSION PdoExtension, + OUT PDEVICE_OBJECT *pFoundDeviceObject ); // Modified: trunk/reactos/drivers/bus/pcix/pci/busno.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/pcix/pci/busno…
============================================================================== --- trunk/reactos/drivers/bus/pcix/pci/busno.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/pcix/pci/busno.c [iso-8859-1] Thu Sep 23 13:24:41 2010 @@ -16,4 +16,24 @@ /* FUNCTIONS ******************************************************************/ +BOOLEAN +NTAPI +PciAreBusNumbersConfigured(IN PPCI_PDO_EXTENSION PdoExtension) +{ + PAGED_CODE(); + UCHAR PrimaryBus, BaseBus, SecondaryBus, SubordinateBus; + + /* Get all relevant bus number details */ + PrimaryBus = PdoExtension->Dependent.type1.PrimaryBus; + BaseBus = PdoExtension->ParentFdoExtension->BaseBus; + SecondaryBus = PdoExtension->Dependent.type1.SecondaryBus; + SubordinateBus = PdoExtension->Dependent.type1.SubordinateBus; + + /* The primary bus should be the base bus of the parent */ + if ((PrimaryBus != BaseBus) || (SecondaryBus <= PrimaryBus)) return FALSE; + + /* The subordinate should be a higher bus number than the secondary */ + return SubordinateBus >= SecondaryBus; +} + /* EOF */ Modified: trunk/reactos/drivers/bus/pcix/pci/ppbridge.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/pcix/pci/ppbri…
============================================================================== --- trunk/reactos/drivers/bus/pcix/pci/ppbridge.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/pcix/pci/ppbridge.c [iso-8859-1] Thu Sep 23 13:24:41 2010 @@ -680,8 +680,89 @@ PPBridge_ChangeResourceSettings(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData) { - UNIMPLEMENTED; - while (TRUE); + BOOLEAN IoActive; + PPCI_FDO_EXTENSION FdoExtension; + PPCI_FUNCTION_RESOURCES PciResources; + ULONG i; + + /* Check if I/O Decodes are enabled */ + IoActive = (PciData->u.type1.IOBase & 0xF) == 1; + + /* + * Check for Intel ICH PCI-to-PCI (i82801) bridges (used on the i810, + * i820, i840, i845 Chipsets) that don't have subtractive decode broken. + * If they do have broken subtractive support, or if they are not ICH bridges, + * then check if the bridge supports substractive decode at all. + */ + if ((((PdoExtension->VendorId == 0x8086) && + ((PdoExtension->DeviceId == 0x2418) || + (PdoExtension->DeviceId == 0x2428) || + (PdoExtension->DeviceId == 0x244E) || + (PdoExtension->DeviceId == 0x2448))) && + (!(PdoExtension->HackFlags & PCI_HACK_BROKEN_SUBTRACTIVE_DECODE) || + (PdoExtension->Dependent.type1.SubtractiveDecode == FALSE))) || + (PdoExtension->Dependent.type1.SubtractiveDecode == FALSE)) + { + /* No resources are needed on a subtractive decode bridge */ + PciData->u.type1.MemoryBase = 0xFFFF; + PciData->u.type1.PrefetchBase = 0xFFFF; + PciData->u.type1.IOBase = 0xFF; + PciData->u.type1.IOLimit = 0; + PciData->u.type1.MemoryLimit = 0; + PciData->u.type1.PrefetchLimit = 0; + PciData->u.type1.PrefetchBaseUpper32 = 0; + PciData->u.type1.PrefetchLimitUpper32 = 0; + PciData->u.type1.IOBaseUpper16 = 0; + PciData->u.type1.IOLimitUpper16 = 0; + } + else + { + /* + * Otherwise, get the FDO to read the old PCI configuration header that + * had been saved by the hack in PPBridge_SaveCurrentSettings. + */ + FdoExtension = PdoExtension->ParentFdoExtension; + ASSERT(PdoExtension->Resources == NULL); + + /* Read the PCI header data and use that here */ + PciData->u.type1.IOBase = FdoExtension->PreservedConfig->u.type1.IOBase; + PciData->u.type1.IOLimit = FdoExtension->PreservedConfig->u.type1.IOLimit; + PciData->u.type1.MemoryBase = FdoExtension->PreservedConfig->u.type1.MemoryBase; + PciData->u.type1.MemoryLimit = FdoExtension->PreservedConfig->u.type1.MemoryLimit; + PciData->u.type1.PrefetchBase = FdoExtension->PreservedConfig->u.type1.PrefetchBase; + PciData->u.type1.PrefetchLimit = FdoExtension->PreservedConfig->u.type1.PrefetchLimit; + PciData->u.type1.PrefetchBaseUpper32 = FdoExtension->PreservedConfig->u.type1.PrefetchBaseUpper32; + PciData->u.type1.PrefetchLimitUpper32 = FdoExtension->PreservedConfig->u.type1.PrefetchLimitUpper32; + PciData->u.type1.IOBaseUpper16 = FdoExtension->PreservedConfig->u.type1.IOBaseUpper16; + PciData->u.type1.IOLimitUpper16 = FdoExtension->PreservedConfig->u.type1.IOLimitUpper16; + } + + /* Loop bus resources */ + PciResources = PdoExtension->Resources; + if (PciResources) + { + /* Loop each resource type (the BARs, ROM BAR and Prefetch) */ + for (i = 0; i < 6; i++) + { + UNIMPLEMENTED; + } + } + + /* Copy the bus number data */ + PciData->u.type1.PrimaryBus = PdoExtension->Dependent.type1.PrimaryBus; + PciData->u.type1.SecondaryBus = PdoExtension->Dependent.type1.SecondaryBus; + PciData->u.type1.SubordinateBus = PdoExtension->Dependent.type1.SubordinateBus; + + /* Copy the decode flags */ + if (PdoExtension->Dependent.type1.IsaBitSet) + { + PciData->u.type1.BridgeControl |= PCI_ENABLE_BRIDGE_ISA; + } + + if (PdoExtension->Dependent.type1.VgaBitSet) + { + PciData->u.type1.BridgeControl |= PCI_ENABLE_BRIDGE_VGA; + } } /* EOF */ Modified: trunk/reactos/drivers/bus/pcix/utils.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/pcix/utils.c?r…
============================================================================== --- trunk/reactos/drivers/bus/pcix/utils.c [iso-8859-1] (original) +++ trunk/reactos/drivers/bus/pcix/utils.c [iso-8859-1] Thu Sep 23 13:24:41 2010 @@ -369,15 +369,15 @@ /* Scan all children PDO, stop when no more PDOs, or found it */ for (FoundExtension = DeviceExtension->ChildPdoList; - FoundExtension && (FoundExtension != SearchExtension); + ((FoundExtension) && (FoundExtension != SearchExtension)); FoundExtension = FoundExtension->Next); - - /* If we found it, break out */ - if (FoundExtension) break; /* Release this device's lock */ KeSetEvent(&DeviceExtension->ChildListLock, IO_NO_INCREMENT, FALSE); KeLeaveCriticalRegion(); + + /* If we found it, break out */ + if (FoundExtension) break; /* Move to the next device */ DeviceExtension = (PPCI_FDO_EXTENSION)DeviceExtension->List.Next; @@ -611,6 +611,9 @@ ULONGLONG HackFlags; ULONG LastWeight, MatchWeight; ULONG EntryFlags; + + /* ReactOS SetupLDR Hack */ + if (!PciHackTable) return 0; /* Initialize the variables before looping */ LastWeight = 0;
14 years, 3 months
1
0
0
0
← Newer
1
...
7
8
9
10
11
12
13
...
28
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Results per page:
10
25
50
100
200