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
November 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
16 participants
491 discussions
Start a n
N
ew thread
[janderwald] 49417: [PORTCLS] - Portcls does not need to set the size of the audio buffer for completed irps. This is done in a completion callback in wdmaud. Verified with WinXP portcls [WDMAUD_KE...
by janderwald@svn.reactos.org
Author: janderwald Date: Mon Nov 1 22:21:24 2010 New Revision: 49417 URL:
http://svn.reactos.org/svn/reactos?rev=49417&view=rev
Log: [PORTCLS] - Portcls does not need to set the size of the audio buffer for completed irps. This is done in a completion callback in wdmaud. Verified with WinXP portcls [WDMAUD_KERNEL] - Free allocated mdls in the io completion routine. Also free the associated stream header. [KS] - Replace all ms portcls hacks by one. - MS Portcls is now working in ReactOS (which is nice for testing audio related bugs) Modified: trunk/reactos/drivers/ksfilter/ks/irp.c trunk/reactos/drivers/wdm/audio/backpln/portcls/interrupt.cpp trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.cpp trunk/reactos/drivers/wdm/audio/legacy/wdmaud/control.c trunk/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.h Modified: trunk/reactos/drivers/ksfilter/ks/irp.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/ksfilter/ks/irp.c?…
============================================================================== --- trunk/reactos/drivers/ksfilter/ks/irp.c [iso-8859-1] (original) +++ trunk/reactos/drivers/ksfilter/ks/irp.c [iso-8859-1] Mon Nov 1 22:21:24 2010 @@ -898,10 +898,6 @@ goto ProbeMdl; } -#if 0 - // HACK for MS PORTCLS - HeaderSize = Length; -#endif /* probe user mode buffers */ if (Length && ( (!HeaderSize) || (Length % HeaderSize == 0) || ((ProbeFlags & KSPROBE_ALLOWFORMATCHANGE) && (Length == sizeof(KSSTREAM_HEADER))) ) ) { @@ -1370,7 +1366,7 @@ PLIST_ENTRY CurEntry; KIRQL OldIrql; - //DPRINT("KsRemoveIrpFromCancelableQueue ListHead %p SpinLock %p ListLocation %x RemovalOperation %x\n", QueueHead, SpinLock, ListLocation, RemovalOperation); + DPRINT("KsRemoveIrpFromCancelableQueue ListHead %p SpinLock %p ListLocation %x RemovalOperation %x\n", QueueHead, SpinLock, ListLocation, RemovalOperation); /* check parameters */ if (!QueueHead || !SpinLock) @@ -1629,19 +1625,32 @@ PIO_STACK_LOCATION IoStack; KIRQL OldLevel; - DPRINT("KsAddIrpToCancelableQueue QueueHead %p SpinLock %p Irp %p ListLocation %x DriverCancel %p\n", QueueHead, SpinLock, Irp, ListLocation, DriverCancel); /* check for required parameters */ if (!QueueHead || !SpinLock || !Irp) return; + /* get current irp stack */ + IoStack = IoGetCurrentIrpStackLocation(Irp); + + DPRINT("KsAddIrpToCancelableQueue QueueHead %p SpinLock %p Irp %p ListLocation %x DriverCancel %p\n", QueueHead, SpinLock, Irp, ListLocation, DriverCancel); + + // HACK for ms portcls + if (IoStack->MajorFunction == IRP_MJ_CREATE) + { + // complete the request + Irp->IoStatus.Status = STATUS_SUCCESS; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + return; + } + + if (!DriverCancel) { /* default to KsCancelRoutine */ DriverCancel = KsCancelRoutine; } - /* get current irp stack */ - IoStack = IoGetCurrentIrpStackLocation(Irp); /* acquire spinlock */ KeAcquireSpinLock(SpinLock, &OldLevel); @@ -1973,12 +1982,6 @@ IN ULONG MajorFunction) { DPRINT("KsSetMajorFunctionHandler Function %x\n", MajorFunction); -#if 1 - // HACK - // for MS PORTCLS - // - DriverObject->MajorFunction[IRP_MJ_CREATE] = KspCreate; -#endif switch ( MajorFunction ) { @@ -2016,7 +2019,7 @@ PKSIDEVICE_HEADER DeviceHeader; PDEVICE_EXTENSION DeviceExtension; - //DPRINT("KsDispatchIrp DeviceObject %p Irp %p\n", DeviceObject, Irp); + DPRINT("KsDispatchIrp DeviceObject %p Irp %p\n", DeviceObject, Irp); /* get device extension */ DeviceExtension = (PDEVICE_EXTENSION)DeviceObject->DeviceExtension; Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/interrupt.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/…
============================================================================== --- trunk/reactos/drivers/wdm/audio/backpln/portcls/interrupt.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/backpln/portcls/interrupt.cpp [iso-8859-1] Mon Nov 1 22:21:24 2010 @@ -232,21 +232,21 @@ if (IsListEmpty(&m_ServiceRoutines)) return STATUS_UNSUCCESSFUL; - DPRINT("Vector %u Level %u Flags %x Affinity %x\n", Descriptor->u.Interrupt.Vector, Descriptor->u.Interrupt.Level, Descriptor->Flags, Descriptor->u.Interrupt.Affinity); + DPRINT1("Vector %u Level %u Flags %x Affinity %x\n", Descriptor->u.Interrupt.Vector, Descriptor->u.Interrupt.Level, Descriptor->Flags, Descriptor->u.Interrupt.Affinity); Status = IoConnectInterrupt(&m_Interrupt, IInterruptServiceRoutine, (PVOID)this, - &m_Lock, + NULL, //&m_Lock, Descriptor->u.Interrupt.Vector, (KIRQL)Descriptor->u.Interrupt.Level, (KIRQL)Descriptor->u.Interrupt.Level, (KINTERRUPT_MODE)(Descriptor->Flags & CM_RESOURCE_INTERRUPT_LATCHED), - (Descriptor->Flags != CM_RESOURCE_INTERRUPT_LATCHED), + (Descriptor->ShareDisposition != CmResourceShareDeviceExclusive), Descriptor->u.Interrupt.Affinity, FALSE); - DPRINT("CInterruptSync::Connect result %x\n", Status); + DPRINT1("CInterruptSync::Connect result %x\n", Status); return Status; } Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/…
============================================================================== --- trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.cpp [iso-8859-1] Mon Nov 1 22:21:24 2010 @@ -293,7 +293,6 @@ { PKSSTREAM_HEADER StreamHeader; ULONG Size, NumData, Index; - //PMDL CurMdl, NextMdl; if (!m_Irp) { @@ -340,8 +339,7 @@ return; } - // irp has been processed completly - + // irp has been processed completly NumData = 0; if (m_Irp->RequestorMode == KernelMode) StreamHeader = (PKSSTREAM_HEADER)m_Irp->UserBuffer; @@ -385,44 +383,10 @@ // done return; } -#if 0 - // now free allocated mdls - CurMdl = m_Irp->MdlAddress; - for(Index = 0; Index < STREAMHEADER_COUNT(m_Irp); Index++) - { - // sanity check - ASSERT(CurMdl); - - // get next mdl - NextMdl = CurMdl->Next; - - // check if mdl is locked - if (CurMdl->MdlFlags & MDL_PAGES_LOCKED) - { - // unlock pages - MmUnlockPages(CurMdl); - } - - // free mdl - IoFreeMdl(CurMdl); - - // proceed to next mdl - CurMdl = NextMdl; - } - - // all mdls have been freed now - m_Irp->MdlAddress = NULL; - - // free allocated KSSTREAM_HEADER - ExFreePool(m_Irp->AssociatedIrp.SystemBuffer); - - // is this really needed? - m_Irp->AssociatedIrp.SystemBuffer = NULL; -#endif // store operation status m_Irp->IoStatus.Status = STATUS_SUCCESS; - m_Irp->IoStatus.Information = NumData; + m_Irp->IoStatus.Information = 0; // complete the request IoCompleteRequest(m_Irp, IO_SOUND_INCREMENT); Modified: trunk/reactos/drivers/wdm/audio/legacy/wdmaud/control.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/legacy/w…
============================================================================== --- trunk/reactos/drivers/wdm/audio/legacy/wdmaud/control.c [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/legacy/wdmaud/control.c [iso-8859-1] Mon Nov 1 22:21:24 2010 @@ -384,6 +384,91 @@ return SetIrpIoStatus(Irp, STATUS_NOT_IMPLEMENTED, 0); } +NTSTATUS +NTAPI +IoCompletion ( + PDEVICE_OBJECT DeviceObject, + PIRP Irp, + PVOID Ctx) +{ + PKSSTREAM_HEADER Header; + ULONG Length = 0; + PMDL Mdl, NextMdl; + PWDMAUD_COMPLETION_CONTEXT Context = (PWDMAUD_COMPLETION_CONTEXT)Ctx; + + /* get stream header */ + Header = (PKSSTREAM_HEADER)Irp->AssociatedIrp.SystemBuffer; + + /* sanity check */ + ASSERT(Header); + + /* iterate through all stream headers and collect size */ + do + { + if (Context->Function == IOCTL_KS_READ_STREAM) + { + /* length is stored in DataUsed */ + Length += Header->DataUsed; + } + else + { + /* length stored in frameextend */ + Length += Header->FrameExtent; + } + + /* subtract size */ + Context->Length -= Header->Size; + + /* move to next stream header */ + Header = (PKSSTREAM_HEADER)((ULONG_PTR)Header + Header->Size); + + }while(Context->Length); + + /* time to free all allocated mdls */ + Mdl = Irp->MdlAddress; + + while(Mdl) + { + /* get next mdl */ + NextMdl = Mdl->Next; + + /* unlock pages */ + MmUnlockPages(Mdl); + + /* grab next mdl */ + Mdl = NextMdl; + } + + /* clear mdl list */ + Irp->MdlAddress = NULL; + + /* check if mdl is locked */ + if (Context->Mdl->MdlFlags & MDL_PAGES_LOCKED) + { + /* unlock pages */ + MmUnlockPages(Context->Mdl); + } + + /* now free the mdl */ + IoFreeMdl(Context->Mdl); + + /* now free the stream header */ + ExFreePool(Irp->AssociatedIrp.SystemBuffer); + + DPRINT("IoCompletion Irp %p IoStatus %lx Information %lx Length %lu\n", Irp, Irp->IoStatus.Status, Irp->IoStatus.Information, Length); + + if (Irp->IoStatus.Status == STATUS_SUCCESS) + { + /* store the length */ + Irp->IoStatus.Information = Length; + } + + /* free context */ + FreeItem(Context); + + return STATUS_SUCCESS; +} + NTSTATUS NTAPI @@ -398,6 +483,20 @@ ULONG Length; PMDL Mdl; BOOLEAN Read = TRUE; + PWDMAUD_COMPLETION_CONTEXT Context; + + /* allocate completion context */ + Context = AllocateItem(NonPagedPool, sizeof(WDMAUD_COMPLETION_CONTEXT)); + + if (!Context) + { + /* not enough memory */ + Irp->IoStatus.Status = STATUS_INSUFFICIENT_RESOURCES; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + /* done */ + return STATUS_INSUFFICIENT_RESOURCES; + } /* get current irp stack location */ IoStack = IoGetCurrentIrpStackLocation(Irp); @@ -413,6 +512,11 @@ /* store outputbuffer length */ IoStack->Parameters.DeviceIoControl.OutputBufferLength = Length; + + /* setup context */ + Context->Length = Length; + Context->Function = (IoStack->MajorFunction == IRP_MJ_WRITE ? IOCTL_KS_WRITE_STREAM : IOCTL_KS_READ_STREAM); + Context->Mdl = Irp->MdlAddress; /* store mdl address */ Mdl = Irp->MdlAddress; @@ -440,16 +544,6 @@ Irp->MdlAddress = Mdl; return SetIrpIoStatus(Irp, Status, 0); } - - /* check if mdl is locked */ - if (Mdl->MdlFlags & MDL_PAGES_LOCKED) - { - /* unlock pages */ - MmUnlockPages(Mdl); - } - - /* now free the mdl */ - IoFreeMdl(Mdl); /* get device info */ DeviceInfo = (PWDMAUD_DEVICE_INFO)Irp->AssociatedIrp.SystemBuffer; @@ -483,6 +577,9 @@ IoStack->Parameters.Write.Length = Length; IoStack->MajorFunction = IRP_MJ_WRITE; + IoSetCompletionRoutine(Irp, IoCompletion, (PVOID)Context, TRUE, TRUE, TRUE); + + /* mark irp as pending */ // IoMarkIrpPending(Irp); /* call the driver */ Modified: trunk/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/legacy/w…
============================================================================== --- trunk/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.h [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.h [iso-8859-1] Mon Nov 1 22:21:24 2010 @@ -18,6 +18,14 @@ typedef struct { + PMDL Mdl; + ULONG Length; + ULONG Function; +}WDMAUD_COMPLETION_CONTEXT, *PWDMAUD_COMPLETION_CONTEXT; + + +typedef struct +{ HANDLE Handle; SOUND_DEVICE_TYPE Type; ULONG FilterId;
14 years, 1 month
1
0
0
0
[fireball] 49416: - Properly implement win32k timers in arwinss. Fixes a whole bunch of weird crashes, race conditions, unnecessary code complications, and things like that (e.g. #5222). - A couple...
by fireball@svn.reactos.org
Author: fireball Date: Mon Nov 1 21:31:07 2010 New Revision: 49416 URL:
http://svn.reactos.org/svn/reactos?rev=49416&view=rev
Log: - Properly implement win32k timers in arwinss. Fixes a whole bunch of weird crashes, race conditions, unnecessary code complications, and things like that (e.g. #5222). - A couple of timer managing functions are based on code (c) Alexandre Julliard, Wine project (server/fd.c). See issue #5222 for more details. Added: branches/arwinss/reactos/subsystems/win32/win32k/wine/timeout.c (with props) Modified: branches/arwinss/reactos/subsystems/win32/win32k/include/winesup.h branches/arwinss/reactos/subsystems/win32/win32k/main/init.c branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c branches/arwinss/reactos/subsystems/win32/win32k/wine/winesup.c branches/arwinss/reactos/subsystems/win32/win32k/wine/winstation.c Modified: branches/arwinss/reactos/subsystems/win32/win32k/include/winesup.h URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/include/winesup.h [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/include/winesup.h [iso-8859-1] Mon Nov 1 21:31:07 2010 @@ -123,14 +123,13 @@ static inline int check_object_access(struct object *obj, unsigned int *access) { return TRUE; }; // timeout stuff -struct timeout_user -{ - KTIMER Timer; - KDPC Dpc; -}; +VOID NTAPI InitTimeThread(); +struct timeout_user; -typedef PKDEFERRED_ROUTINE timeout_callback; #define TICKS_PER_SEC 10000000 + +typedef void (*timeout_callback)( void *private ); + void remove_timeout_user( struct timeout_user *user ); struct timeout_user *add_timeout_user( timeout_t when, timeout_callback func, void *private ); @@ -140,7 +139,7 @@ LARGE_INTEGER time; KeQuerySystemTime(&time); - *value = time.QuadPart / 10; + *value = time.QuadPart; } Modified: branches/arwinss/reactos/subsystems/win32/win32k/main/init.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/main/init.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/main/init.c [iso-8859-1] Mon Nov 1 21:31:07 2010 @@ -374,6 +374,9 @@ /* Create stock objects */ CreateStockObjects(); + /* Initialize timers */ + InitTimeThread(); + /* Init video driver implementation */ InitDcImpl(); Modified: branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] Mon Nov 1 21:31:07 2010 @@ -148,6 +148,7 @@ <file>queue.c</file> <file>region.c</file> <file>stubs.c</file> + <file>timeout.c</file> <file>user.c</file> <file>window.c</file> <file>winesup.c</file> Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c [iso-8859-1] Mon Nov 1 21:31:07 2010 @@ -139,7 +139,7 @@ static void msg_queue_poll_event( struct fd *fd, int event ); static void thread_input_dump( struct object *obj, int verbose ); static void thread_input_destroy( struct object *obj ); -static VOID NTAPI timer_callback( PKDPC Dpc, PVOID Context, PVOID SystemArgument1, PVOID SystemArgument2 ); +static void timer_callback( void *private ); static const struct object_ops msg_queue_ops = { @@ -527,21 +527,14 @@ free_message( msg ); } -VOID -NTAPI -result_timeout_worker( PVOID Context ) -{ - PQUEUE_WORKER_CONTEXT work_context = Context; - struct message_result *result = work_context->result; - - UserEnterExclusive(); +/* message timed out without getting a reply */ +static void result_timeout( void *private ) +{ + struct message_result *result = private; assert( !result->replied ); result->timeout = NULL; - - /* Free work item memory */ - ExFreePool(work_context); if (result->msg) /* not received yet */ { @@ -554,30 +547,11 @@ if (!result->sender) { free_result( result ); - UserLeave(); return; } } store_message_result( result, 0, STATUS_TIMEOUT ); - UserLeave(); -} - -/* message timed out without getting a reply */ -static VOID -NTAPI -result_timeout( PKDPC Dpc, PVOID Context, PVOID SystemArgument1, PVOID SystemArgument2) -{ - struct message_result *result = Context; - PQUEUE_WORKER_CONTEXT work_context; - - /* Allocate memory for the work iteam */ - work_context = ExAllocatePool(NonPagedPool, sizeof(QUEUE_WORKER_CONTEXT)); - work_context->result = result; - - /* Queue a work item */ - ExInitializeWorkItem(&work_context->item, result_timeout_worker, result); - ExQueueWorkItem(&work_context->item, DelayedWorkQueue); } /* allocate and fill a message result structure */ @@ -1063,21 +1037,10 @@ } /* callback for the next timer expiration */ -static -VOID -NTAPI -timer_callback_worker( PVOID Context ) -{ - PQUEUE_WORKER_CONTEXT work_context = Context; +static void timer_callback( void *private ) +{ struct list *ptr; - struct msg_queue *queue = work_context->queue; - - ASSERT(queue); - - UserEnterExclusive(); - - /* Free workitem */ - ExFreePool(work_context); + struct msg_queue *queue = private; queue->timeout = NULL; /* move on to the next timer */ @@ -1085,26 +1048,6 @@ list_remove( ptr ); list_add_tail( &queue->expired_timers, ptr ); set_next_timer( queue ); - - UserLeave(); -} - -static -VOID -NTAPI -timer_callback( PKDPC Dpc, PVOID Context, PVOID SystemArgument1, PVOID SystemArgument2 ) -{ - struct msg_queue *queue = Context; - PQUEUE_WORKER_CONTEXT work_context; - - /* Allocate memory for the work iteam */ - work_context = ExAllocatePool(NonPagedPool, sizeof(QUEUE_WORKER_CONTEXT)); - - work_context->queue = queue; - - /* Queue a work item */ - ExInitializeWorkItem(&work_context->item, timer_callback_worker, work_context); - ExQueueWorkItem(&work_context->item, DelayedWorkQueue); } /* link a timer at its rightful place in the queue list */ Added: branches/arwinss/reactos/subsystems/win32/win32k/wine/timeout.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/wine/timeout.c (added) +++ branches/arwinss/reactos/subsystems/win32/win32k/wine/timeout.c [iso-8859-1] Mon Nov 1 21:31:07 2010 @@ -1,0 +1,241 @@ +/* + * PROJECT: ReactOS Win32K + * LICENSE: LGPL v2.1 or any later - See COPYING in the top level directory + * FILE: subsystems/win32/win32k/wine/timer.c + * PURPOSE: Timer code for user server + * PROGRAMMERS: Aleksey Bragin (aleksey(a)reactos.org) + */ + +/* INCLUDES ******************************************************************/ + +#include <win32k.h> + +#include "object.h" + +#define NDEBUG +#include <debug.h> + +PKTIMER MasterTimer; +static HANDLE TimerThreadHandle; +static CLIENT_ID TimerThreadId; +static KEVENT TimerThreadsStart; +static PVOID TimerWaitObjects[2]; + +/* PRIVATE FUNCTIONS *********************************************************/ + +/****************************************************************/ +/* timeouts support */ + +struct timeout_user +{ + struct list entry; /* entry in sorted timeout list */ + timeout_t when; /* timeout expiry (absolute time) */ + timeout_callback callback; /* callback function */ + void *private; /* callback private data */ +}; + +static struct list timeout_list = LIST_INIT(timeout_list); /* sorted timeouts list */ + +/* add a timeout user */ +struct timeout_user *add_timeout_user( timeout_t when, timeout_callback func, void *private ) +{ + struct timeout_user *user; + struct list *ptr; + timeout_t current_time; + + DPRINT("add_timeout_user(when %I64d, func %p)\n", when, func); + + get_current_time(¤t_time); + + if (!(user = mem_alloc( sizeof(*user) ))) return NULL; + user->when = (when > 0) ? when : current_time - when; + user->callback = func; + user->private = private; + + /* Now insert it in the linked list */ + + LIST_FOR_EACH( ptr, &timeout_list ) + { + struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry ); + if (timeout->when >= user->when) break; + } + list_add_before( ptr, &user->entry ); + + /* Inform timeout thread that we have a new timer */ + KeSetEvent(&TimerThreadsStart, IO_NO_INCREMENT, FALSE); + + return user; +} + +/* remove a timeout user */ +void remove_timeout_user( struct timeout_user *user ) +{ + list_remove( &user->entry ); + ExFreePool( user ); +} + +/* return a text description of a timeout for debugging purposes */ +const char *get_timeout_str( timeout_t timeout ) +{ + static char buffer[64]; + long secs, nsecs; + timeout_t current_time; + + get_current_time(¤t_time); + + if (!timeout) return "0"; + if (timeout == TIMEOUT_INFINITE) return "infinite"; + + if (timeout < 0) /* relative */ + { + secs = -timeout / TICKS_PER_SEC; + nsecs = -timeout % TICKS_PER_SEC; + sprintf( buffer, "+%ld.%07ld", secs, nsecs ); + } + else /* absolute */ + { + secs = (timeout - current_time) / TICKS_PER_SEC; + nsecs = (timeout - current_time) % TICKS_PER_SEC; + if (nsecs < 0) + { + nsecs += TICKS_PER_SEC; + secs--; + } + if (secs >= 0) + sprintf( buffer, "%x%08x (+%ld.%07ld)", + (unsigned int)(timeout >> 32), (unsigned int)timeout, secs, nsecs ); + else + sprintf( buffer, "%x%08x (-%ld.%07ld)", + (unsigned int)(timeout >> 32), (unsigned int)timeout, + -(secs + 1), TICKS_PER_SEC - nsecs ); + } + return buffer; +} + +/* process pending timeouts and return the time until the next timeout, in milliseconds */ +static int get_next_timeout(void) +{ + timeout_t current_time; + get_current_time(¤t_time); + + if (!list_empty( &timeout_list )) + { + struct list expired_list, *ptr; + + /* first remove all expired timers from the list */ + + list_init( &expired_list ); + while ((ptr = list_head( &timeout_list )) != NULL) + { + struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry ); + + if (timeout->when <= current_time) + { + list_remove( &timeout->entry ); + list_add_tail( &expired_list, &timeout->entry ); + } + else break; + } + + /* now call the callback for all the removed timers */ + + while ((ptr = list_head( &expired_list )) != NULL) + { + struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry ); + list_remove( &timeout->entry ); + timeout->callback( timeout->private ); + ExFreePool( timeout ); + } + + if ((ptr = list_head( &timeout_list )) != NULL) + { + struct timeout_user *timeout = LIST_ENTRY( ptr, struct timeout_user, entry ); + //int diff = (timeout->when - current_time + 9999) / 10000; + int diff = timeout->when - current_time + 1; + if (diff < 0) diff = 0; + return diff; + } + } + return -1; /* no pending timeouts */ +} + +VOID +ProcessTimers() +{ + int timeout; + LARGE_INTEGER DueTime; + + timeout = get_next_timeout(); + + if (timeout != -1) + { + /* Wait for the next time out */ + DueTime.QuadPart = -timeout; + KeSetTimer(MasterTimer, DueTime, NULL); + } + else + { + /* Reset the timer making it signal in 60 seconds */ + DueTime.QuadPart = Int32x32To64(60, -TICKS_PER_SEC); + KeSetTimer(MasterTimer, DueTime, NULL); + } +} + +static VOID APIENTRY +TimerThreadMain(PVOID StartContext) +{ + NTSTATUS Status; + + TimerWaitObjects[0] = &TimerThreadsStart; + TimerWaitObjects[1] = MasterTimer; + + KeSetPriorityThread(&PsGetCurrentThread()->Tcb, LOW_REALTIME_PRIORITY + 3); + + for(;;) + { + Status = KeWaitForMultipleObjects(2, + TimerWaitObjects, + WaitAny, + WrUserRequest, + KernelMode, + TRUE, + NULL, + NULL); + + /* Process timers inside a user lock */ + UserEnterExclusive(); + ProcessTimers(); + UserLeave(); + } + DPRINT1("Timer thread exit!\n"); +} + +VOID +NTAPI +InitTimeThread() +{ + NTSTATUS Status; + + /* Event used to signal when a new timer is added */ + KeInitializeEvent(&TimerThreadsStart, SynchronizationEvent, FALSE); + + MasterTimer = ExAllocatePool(NonPagedPool, sizeof(KTIMER)); + if (!MasterTimer) + { + ASSERT(FALSE); + return; + } + + KeInitializeTimer(MasterTimer); + + Status = PsCreateSystemThread(&TimerThreadHandle, + THREAD_ALL_ACCESS, + NULL, + NULL, + &TimerThreadId, + TimerThreadMain, + NULL); + if (!NT_SUCCESS(Status)) DPRINT1("Win32K: Failed to create timer thread.\n"); +} + +/* EOF */ Propchange: branches/arwinss/reactos/subsystems/win32/win32k/wine/timeout.c ------------------------------------------------------------------------------ svn:eol-style = native Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/winesup.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/wine/winesup.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/wine/winesup.c [iso-8859-1] Mon Nov 1 21:31:07 2010 @@ -47,40 +47,6 @@ { UNIMPLEMENTED; return NULL; -} - -struct timeout_user *add_timeout_user( timeout_t when, timeout_callback func, void *private ) -{ - LARGE_INTEGER DueTime; - struct timeout_user *TimeoutUser; - - DueTime.QuadPart = (LONGLONG)when * 10; - - /* Allocate memory for timeout structure */ - TimeoutUser = ExAllocatePool(NonPagedPool, sizeof(struct timeout_user)); - - //DPRINT1("add_timeout_user(%p when %I64d, diff %I64d msecs, func %p)\n", TimeoutUser, when, secs, func); - - /* Initialize timer and DPC objects */ - KeInitializeTimer(&TimeoutUser->Timer); - KeInitializeDpc(&TimeoutUser->Dpc, func, private); - - /* Set the timer */ - KeSetTimer(&TimeoutUser->Timer, DueTime, &TimeoutUser->Dpc); - - return TimeoutUser; -} - -/* remove a timeout user */ -void remove_timeout_user( struct timeout_user *user ) -{ - //DPRINT1("remove_timeout_user %p, current time %I64d\n", user, current_time); - - /* Cancel the timer */ - KeCancelTimer(&user->Timer); - - /* Free memory */ - ExFreePool(user); } /* default map_access() routine for objects that behave like an fd */ Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/winstation.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/wine/winstation.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/wine/winstation.c [iso-8859-1] Mon Nov 1 21:31:07 2010 @@ -467,12 +467,9 @@ clear_error(); } -static -VOID -NTAPI -close_desktop_timeout( PKDPC Dpc, PVOID Context, PVOID SystemArgument1, PVOID SystemArgument2 ) -{ - struct desktop *desktop = Context; +static void close_desktop_timeout( void *private ) +{ + struct desktop *desktop = private; desktop->close_timeout = NULL; unlink_named_object( &desktop->obj ); /* make sure no other process can open it */
14 years, 1 month
1
0
0
0
[jgardou] 49415: [PSDK] - add TrustedDomainAuthInformationInternal and TrustedDomainFullInformationInternalFix to _TRUSTED_INFORMATION_CLASS. Fixes build
by jgardou@svn.reactos.org
Author: jgardou Date: Mon Nov 1 20:55:11 2010 New Revision: 49415 URL:
http://svn.reactos.org/svn/reactos?rev=49415&view=rev
Log: [PSDK] - add TrustedDomainAuthInformationInternal and TrustedDomainFullInformationInternalFix to _TRUSTED_INFORMATION_CLASS. Fixes build Modified: trunk/reactos/include/psdk/ntsecapi.h Modified: trunk/reactos/include/psdk/ntsecapi.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ntsecapi.h?re…
============================================================================== --- trunk/reactos/include/psdk/ntsecapi.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/ntsecapi.h [iso-8859-1] Mon Nov 1 20:55:11 2010 @@ -318,7 +318,9 @@ TrustedDomainInformationBasic, TrustedDomainInformationEx, TrustedDomainAuthInformation, - TrustedDomainFullInformation + TrustedDomainFullInformation, + TrustedDomainAuthInformationInternal, + TrustedDomainFullInformationInternal } TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS; typedef enum _LSA_FOREST_TRUST_RECORD_TYPE { ForestTrustTopLevelName,
14 years, 1 month
1
0
0
0
[tkreuzer] 49414: [HAL] Temporary build "fix"
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Mon Nov 1 19:11:27 2010 New Revision: 49414 URL:
http://svn.reactos.org/svn/reactos?rev=49414&view=rev
Log: [HAL] Temporary build "fix" Modified: branches/cmake-bringup/hal/halx86/generic/i386/systimer.S Modified: branches/cmake-bringup/hal/halx86/generic/i386/systimer.S URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/hal/halx86/generi…
============================================================================== --- branches/cmake-bringup/hal/halx86/generic/i386/systimer.S [iso-8859-1] (original) +++ branches/cmake-bringup/hal/halx86/generic/i386/systimer.S [iso-8859-1] Mon Nov 1 19:11:27 2010 @@ -39,7 +39,7 @@ /* GLOBALS *******************************************************************/ .data -ASSUME CS:NOTHING, DS:NOTHING, ES:NOTHING, FS:NOTHING, GS:NOTHING +//ASSUME CS:NOTHING, DS:NOTHING, ES:NOTHING, FS:NOTHING, GS:NOTHING PUBLIC _HalpPerfCounter _HalpLastPerfCounterLow: .long 0
14 years, 1 month
1
0
0
0
[tkreuzer] 49413: {ASM] - Remove superfluous .code64 - Add some macros for MSVC
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Mon Nov 1 18:48:40 2010 New Revision: 49413 URL:
http://svn.reactos.org/svn/reactos?rev=49413&view=rev
Log: {ASM] - Remove superfluous .code64 - Add some macros for MSVC Modified: trunk/reactos/include/reactos/asm.h Modified: trunk/reactos/include/reactos/asm.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/asm.h?rev=…
============================================================================== --- trunk/reactos/include/reactos/asm.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/asm.h [iso-8859-1] Mon Nov 1 18:48:40 2010 @@ -13,6 +13,7 @@ .586 .MODEL FLAT +ASSUME CS:NOTHING, DS:NOTHING, ES:NOTHING, FS:NOTHING, GS:NOTHING /* Hex numbers need to be in 01ABh format */ #define HEX(x) 0##x##h @@ -58,6 +59,22 @@ .code ENDM +.align MACRO alignment + ALIGN alignment +ENDM + +.byte MACRO args:VARARG + db args +ENDM + +.short MACRO args:VARARG + dw args +ENDM + +.long MACRO args:VARARG + dd args +ENDM + UNIMPLEMENTED MACRO name ENDM @@ -68,7 +85,6 @@ /* Force intel syntax */ .intel_syntax noprefix -.code64 .altmacro
14 years, 1 month
1
0
0
0
[jgardou] 49412: [ASM] - no ML doesn't mean 64 bits, right?
by jgardou@svn.reactos.org
Author: jgardou Date: Mon Nov 1 18:42:33 2010 New Revision: 49412 URL:
http://svn.reactos.org/svn/reactos?rev=49412&view=rev
Log: [ASM] - no ML doesn't mean 64 bits, right? Modified: branches/cmake-bringup/include/reactos/asm.h Modified: branches/cmake-bringup/include/reactos/asm.h URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/include/reactos/a…
============================================================================== --- branches/cmake-bringup/include/reactos/asm.h [iso-8859-1] (original) +++ branches/cmake-bringup/include/reactos/asm.h [iso-8859-1] Mon Nov 1 18:42:33 2010 @@ -68,7 +68,6 @@ /* Force intel syntax */ .intel_syntax noprefix -.code64 .altmacro
14 years, 1 month
1
0
0
0
[jgardou] 49411: [DXSDK] - an interface must have an uuid. If it "conflicts with uuids.h", then the problem il elsewhere.
by jgardou@svn.reactos.org
Author: jgardou Date: Mon Nov 1 18:24:17 2010 New Revision: 49411 URL:
http://svn.reactos.org/svn/reactos?rev=49411&view=rev
Log: [DXSDK] - an interface must have an uuid. If it "conflicts with uuids.h", then the problem il elsewhere. Modified: branches/cmake-bringup/include/dxsdk/amvideo.idl Modified: branches/cmake-bringup/include/dxsdk/amvideo.idl URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/include/dxsdk/amv…
============================================================================== --- branches/cmake-bringup/include/dxsdk/amvideo.idl [iso-8859-1] (original) +++ branches/cmake-bringup/include/dxsdk/amvideo.idl [iso-8859-1] Mon Nov 1 18:24:17 2010 @@ -61,7 +61,7 @@ [ object, - /* uuid(36d39eb0-dd75-11ce-bf0e-00aa0055595a) conflicts with uuids.h */ + uuid(36d39eb0-dd75-11ce-bf0e-00aa0055595a), pointer_default(unique), local ] @@ -87,7 +87,7 @@ [ object, - /* uuid(1bd0ecb0-f8e2-11ce-aac6-0020af0b99a3) conflicts with uuids.h */ + uuid(1bd0ecb0-f8e2-11ce-aac6-0020af0b99a3), pointer_default(unique), local ] @@ -103,7 +103,7 @@ [ object, - /* uuid(dd1d7110-7836-11cf-bf47-00aa0055595a) conflicts with uuids.h */ + uuid(dd1d7110-7836-11cf-bf47-00aa0055595a), pointer_default(unique) ] interface IFullScreenVideo : IUnknown @@ -129,7 +129,7 @@ [ object, - /* uuid(53479470-f1dd-11cf-bc42-00aa00ac74f6) conflicts with uuids.h */ + uuid(53479470-f1dd-11cf-bc42-00aa00ac74f6), pointer_default(unique), local ] @@ -144,7 +144,7 @@ [ object, - /* uuid(61ded640-e912-11ce-a099-00aa00479a58) conflicts with uuids.h */ + uuid(61ded640-e912-11ce-a099-00aa00479a58), pointer_default(unique), local ]
14 years, 1 month
1
0
0
0
[janderwald] 49410: [PORTCLS] - Dear lawyers / worried developers, this is the XP DDK Version.
by janderwald@svn.reactos.org
Author: janderwald Date: Mon Nov 1 17:33:06 2010 New Revision: 49410 URL:
http://svn.reactos.org/svn/reactos?rev=49410&view=rev
Log: [PORTCLS] - Dear lawyers / worried developers, this is the XP DDK Version. Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/miniport_dmus.cpp Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/miniport_dmus.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/…
============================================================================== --- trunk/reactos/drivers/wdm/audio/backpln/portcls/miniport_dmus.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/backpln/portcls/miniport_dmus.cpp [iso-8859-1] Mon Nov 1 17:33:06 2010 @@ -46,7 +46,6 @@ const BOOLEAN COMMAND = TRUE; const BOOLEAN DATA = FALSE; - const ULONG kMPUInputBufferSize = 128;
14 years, 1 month
1
0
0
0
[jgardou] 49409: [CMAKE] - build msvc importlibs explicitly from def file - circumvent lack of pseh lib in MSVC. - fix advapi32.def
by jgardou@svn.reactos.org
Author: jgardou Date: Mon Nov 1 17:24:32 2010 New Revision: 49409 URL:
http://svn.reactos.org/svn/reactos?rev=49409&view=rev
Log: [CMAKE] - build msvc importlibs explicitly from def file - circumvent lack of pseh lib in MSVC. - fix advapi32.def Modified: branches/cmake-bringup/base/services/eventlog/CMakeLists.txt branches/cmake-bringup/base/services/rpcss/CMakeLists.txt branches/cmake-bringup/base/services/umpnpmgr/CMakeLists.txt branches/cmake-bringup/base/services/wlansvc/CMakeLists.txt branches/cmake-bringup/base/setup/vmwinst/CMakeLists.txt branches/cmake-bringup/base/system/services/CMakeLists.txt branches/cmake-bringup/dll/directx/quartz/CMakeLists.txt branches/cmake-bringup/dll/ntdll/CMakeLists.txt branches/cmake-bringup/dll/win32/actxprxy/CMakeLists.txt branches/cmake-bringup/dll/win32/advapi32/advapi32.def branches/cmake-bringup/dll/win32/crypt32/CMakeLists.txt branches/cmake-bringup/dll/win32/dbghelp/CMakeLists.txt branches/cmake-bringup/dll/win32/gdi32/CMakeLists.txt branches/cmake-bringup/dll/win32/kernel32/CMakeLists.txt branches/cmake-bringup/dll/win32/lsasrv/CMakeLists.txt branches/cmake-bringup/dll/win32/msvcrt/CMakeLists.txt branches/cmake-bringup/dll/win32/ole32/CMakeLists.txt branches/cmake-bringup/dll/win32/oleaut32/CMakeLists.txt branches/cmake-bringup/dll/win32/psapi/CMakeLists.txt branches/cmake-bringup/dll/win32/rpcrt4/CMakeLists.txt branches/cmake-bringup/dll/win32/setupapi/CMakeLists.txt branches/cmake-bringup/dll/win32/sti/CMakeLists.txt branches/cmake-bringup/dll/win32/syssetup/CMakeLists.txt branches/cmake-bringup/dll/win32/urlmon/CMakeLists.txt branches/cmake-bringup/dll/win32/user32/CMakeLists.txt branches/cmake-bringup/dll/win32/wininet/CMakeLists.txt branches/cmake-bringup/dll/win32/winmm/CMakeLists.txt branches/cmake-bringup/dll/win32/wintrust/CMakeLists.txt branches/cmake-bringup/dll/win32/wlanapi/CMakeLists.txt branches/cmake-bringup/drivers/base/null/CMakeLists.txt branches/cmake-bringup/drivers/filesystems/fastfat_new/CMakeLists.txt branches/cmake-bringup/drivers/input/kbdclass/CMakeLists.txt branches/cmake-bringup/drivers/input/mouclass/CMakeLists.txt branches/cmake-bringup/drivers/ksfilter/ks/CMakeLists.txt branches/cmake-bringup/drivers/network/afd/CMakeLists.txt branches/cmake-bringup/drivers/network/tcpip/CMakeLists.txt branches/cmake-bringup/drivers/storage/classpnp/CMakeLists.txt branches/cmake-bringup/drivers/wdm/audio/backpln/portcls/CMakeLists.txt branches/cmake-bringup/drivers/wdm/audio/legacy/wdmaud/CMakeLists.txt branches/cmake-bringup/gcc.cmake branches/cmake-bringup/msc.cmake branches/cmake-bringup/ntoskrnl/CMakeLists.txt branches/cmake-bringup/subsystems/win32/csrss/csrsrv/CMakeLists.txt branches/cmake-bringup/subsystems/win32/csrss/win32csr/CMakeLists.txt branches/cmake-bringup/subsystems/win32/win32k/CMakeLists.txt Modified: branches/cmake-bringup/base/services/eventlog/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/base/services/eve…
============================================================================== --- branches/cmake-bringup/base/services/eventlog/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/base/services/eventlog/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -12,7 +12,7 @@ add_executable(eventlog ${CMAKE_CURRENT_BINARY_DIR}/eventlog_eventlog.h.gch ${SOURCE}) -target_link_libraries(eventlog eventlogrpc_server pseh) +target_link_libraries(eventlog eventlogrpc_server ${PSEH_LIB}) add_pch(eventlog ${CMAKE_CURRENT_SOURCE_DIR}/eventlog.h ${SOURCE}) Modified: branches/cmake-bringup/base/services/rpcss/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/base/services/rpc…
============================================================================== --- branches/cmake-bringup/base/services/rpcss/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/base/services/rpcss/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -14,7 +14,7 @@ add_executable(rpcss ${SOURCE}) -target_link_libraries(rpcss epm_server irot_server pseh wine) +target_link_libraries(rpcss epm_server irot_server ${PSEH_LIB} wine) set_module_type(rpcss win32cui) Modified: branches/cmake-bringup/base/services/umpnpmgr/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/base/services/ump…
============================================================================== --- branches/cmake-bringup/base/services/umpnpmgr/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/base/services/umpnpmgr/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -6,7 +6,7 @@ add_executable(umpnpmgr umpnpmgr.c umpnpmgr.rc) -target_link_libraries(umpnpmgr pnp_server wdmguid pseh) +target_link_libraries(umpnpmgr pnp_server wdmguid ${PSEH_LIB}) set_module_type(umpnpmgr win32cui) add_importlibs(umpnpmgr Modified: branches/cmake-bringup/base/services/wlansvc/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/base/services/wla…
============================================================================== --- branches/cmake-bringup/base/services/wlansvc/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/base/services/wlansvc/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -4,7 +4,7 @@ add_executable(wlansvc wlansvc.c rpcserver.c) -target_link_libraries(wlansvc wlansvc_server pseh) +target_link_libraries(wlansvc wlansvc_server ${PSEH_LIB}) set_module_type(wlansvc win32cui) add_importlibs(wlansvc Modified: branches/cmake-bringup/base/setup/vmwinst/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/base/setup/vmwins…
============================================================================== --- branches/cmake-bringup/base/setup/vmwinst/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/base/setup/vmwinst/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -3,7 +3,7 @@ add_executable(vmwinst vmwinst.c vmwinst.rc) -target_link_libraries(vmwinst pseh) +target_link_libraries(vmwinst ${PSEH_LIB}) set_module_type(vmwinst win32gui) add_importlibs(vmwinst Modified: branches/cmake-bringup/base/system/services/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/base/system/servi…
============================================================================== --- branches/cmake-bringup/base/system/services/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/base/system/services/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -16,7 +16,7 @@ target_link_libraries(services svcctl_server - pseh) + ${PSEH_LIB}) add_pch(services ${CMAKE_CURRENT_SOURCE_DIR}/services.h ${SOURCE}) Modified: branches/cmake-bringup/dll/directx/quartz/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/directx/quart…
============================================================================== --- branches/cmake-bringup/dll/directx/quartz/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/directx/quartz/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -50,7 +50,7 @@ strmiids uuid wine - pseh) + ${PSEH_LIB}) add_importlibs(quartz msvcrt Modified: branches/cmake-bringup/dll/ntdll/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/ntdll/CMakeLi…
============================================================================== --- branches/cmake-bringup/dll/ntdll/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/ntdll/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -48,11 +48,11 @@ target_link_libraries(ntdll ntdllsys libcntpr - pseh) + ${PSEH_LIB}) add_pch(ntdll ${CMAKE_CURRENT_SOURCE_DIR}/include/ntdll.h ${SOURCE}) add_dependencies(ntdll ntstatus) add_minicd_target(ntdll reactos/system32 ntdll.dll) add_cab_target(ntdll 1) -add_importlib_target(ntdll) +add_importlib_def(${CMAKE_CURRENT_BINARY_DIR}/ntdll.def) Modified: branches/cmake-bringup/dll/win32/actxprxy/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/actxprx…
============================================================================== --- branches/cmake-bringup/dll/win32/actxprxy/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/actxprxy/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -13,7 +13,7 @@ actxprxy_proxy uuid wine - pseh) + ${PSEH_LIB}) add_importlibs(actxprxy rpcrt4 Modified: branches/cmake-bringup/dll/win32/advapi32/advapi32.def URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/advapi3…
============================================================================== --- branches/cmake-bringup/dll/win32/advapi32/advapi32.def [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/advapi32/advapi32.def [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -241,7 +241,7 @@ GetEffectiveRightsFromAclA GetEffectiveRightsFromAclW GetEventLogInformation - GetExplicitEntriesFromAclAadvapi32.GetExplicitEntriesFromAclW + GetExplicitEntriesFromAclA=GetExplicitEntriesFromAclW GetExplicitEntriesFromAclW GetFileSecurityA GetFileSecurityW @@ -271,7 +271,7 @@ GetSecurityDescriptorControl GetSecurityDescriptorDacl GetSecurityDescriptorGroup - GetSecurityDescriptorLengthtdll.RtlLengthSecurityDescriptor + GetSecurityDescriptorLengtht=ntdll.RtlLengthSecurityDescriptor GetSecurityDescriptorOwner GetSecurityDescriptorRMControl GetSecurityDescriptorSacl @@ -321,7 +321,7 @@ InitiateSystemShutdownW InstallApplication=__wine_stub_advapi32_dll_318 IsProcessRestricted=__wine_stub_advapi32_dll_319 - IsTextUnicodentdll.RtlIsTextUnicode + IsTextUnicode=ntdll.RtlIsTextUnicode IsTokenRestricted IsTokenUntrusted=__wine_stub_advapi32_dll_322 IsValidAcl @@ -418,7 +418,7 @@ MakeAbsoluteSD MakeAbsoluteSD2 MakeSelfRelativeSD - MapGenericMasktdll.RtlMapGenericMask + MapGenericMask=ntdll.RtlMapGenericMask NotifyBootConfigStatus NotifyChangeEventLog ObjectCloseAuditAlarmA Modified: branches/cmake-bringup/dll/win32/crypt32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/crypt32…
============================================================================== --- branches/cmake-bringup/dll/win32/crypt32/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/crypt32/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -45,7 +45,7 @@ target_link_libraries(crypt32 wine - pseh + ${PSEH_LIB} oldnames) add_importlibs(crypt32 user32 advapi32 msvcrt kernel32 ntdll) Modified: branches/cmake-bringup/dll/win32/dbghelp/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/dbghelp…
============================================================================== --- branches/cmake-bringup/dll/win32/dbghelp/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/dbghelp/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -46,7 +46,7 @@ target_link_libraries(dbghelp wine - pseh + ${PSEH_LIB} oldnames) add_importlibs(dbghelp psapi version msvcrt kernel32 ntdll) Modified: branches/cmake-bringup/dll/win32/gdi32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/gdi32/C…
============================================================================== --- branches/cmake-bringup/dll/win32/gdi32/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/gdi32/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -50,7 +50,7 @@ target_link_libraries(gdi32 win32ksys dxguid - pseh) + ${PSEH_LIB}) add_importlibs(gdi32 user32 advapi32 kernel32 ntdll) add_pch(gdi32 ${CMAKE_CURRENT_SOURCE_DIR}/include/precomp.h ${SOURCE}) Modified: branches/cmake-bringup/dll/win32/kernel32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/kernel3…
============================================================================== --- branches/cmake-bringup/dll/win32/kernel32/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/kernel32/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -115,10 +115,10 @@ set_module_type(kernel32 win32dll) -target_link_libraries(kernel32 pseh) +target_link_libraries(kernel32 ${PSEH_LIB}) add_importlibs(kernel32 ntdll) add_pch(kernel32 ${CMAKE_CURRENT_SOURCE_DIR}/k32.h ${SOURCE}) add_dependencies(kernel32 errcodes) add_cab_target(kernel32 1) -add_importlib_target(kernel32) +add_importlib_def(${CMAKE_CURRENT_BINARY_DIR}/kernel32.def) Modified: branches/cmake-bringup/dll/win32/lsasrv/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/lsasrv/…
============================================================================== --- branches/cmake-bringup/dll/win32/lsasrv/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/lsasrv/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -20,7 +20,7 @@ target_link_libraries(lsasrv lsa_server wine - pseh) + ${PSEH_LIB}) add_importlibs(lsasrv rpcrt4 kernel32 ntdll) add_dependencies(lsasrv psdk buildno_header) Modified: branches/cmake-bringup/dll/win32/msvcrt/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/msvcrt/…
============================================================================== --- branches/cmake-bringup/dll/win32/msvcrt/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/msvcrt/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -24,7 +24,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/msvcrt.def crt wine - pseh) + ${PSEH_LIB}) add_pch(msvcrt ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE}) add_importlibs(msvcrt kernel32 ntdll) Modified: branches/cmake-bringup/dll/win32/ole32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/ole32/C…
============================================================================== --- branches/cmake-bringup/dll/win32/ole32/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/ole32/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -68,7 +68,7 @@ irot_client ole32_proxy uuid - pseh) + ${PSEH_LIB}) add_importlibs(ole32 advapi32 user32 gdi32 rpcrt4 msvcrt kernel32 ntdll) Modified: branches/cmake-bringup/dll/win32/oleaut32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/oleaut3…
============================================================================== --- branches/cmake-bringup/dll/win32/oleaut32/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/oleaut32/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -53,7 +53,7 @@ wine wineldr uuid - pseh) + ${PSEH_LIB}) add_importlibs(oleaut32 windowscodecs ole32 rpcrt4 user32 gdi32 advapi32 comctl32 urlmon msvcrt kernel32 ntdll) Modified: branches/cmake-bringup/dll/win32/psapi/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/psapi/C…
============================================================================== --- branches/cmake-bringup/dll/win32/psapi/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/psapi/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -15,7 +15,7 @@ target_link_libraries(psapi epsapi - pseh) + ${PSEH_LIB}) add_importlibs(psapi kernel32 ntdll) add_pch(psapi ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE}) Modified: branches/cmake-bringup/dll/win32/rpcrt4/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/rpcrt4/…
============================================================================== --- branches/cmake-bringup/dll/win32/rpcrt4/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/rpcrt4/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -40,7 +40,7 @@ wine uuid epm_client - pseh) + ${PSEH_LIB}) add_importlibs(rpcrt4 msvcrt user32 advapi32 secur32 iphlpapi ws2_32 kernel32 ntdll) add_dependencies(rpcrt4 winesdk) Modified: branches/cmake-bringup/dll/win32/setupapi/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/setupap…
============================================================================== --- branches/cmake-bringup/dll/win32/setupapi/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/setupapi/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -40,7 +40,7 @@ pnp_client uuid wine - pseh) + ${PSEH_LIB}) add_importlibs(setupapi msvcrt Modified: branches/cmake-bringup/dll/win32/sti/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/sti/CMa…
============================================================================== --- branches/cmake-bringup/dll/win32/sti/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/sti/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -25,7 +25,7 @@ sti_proxy wine uuid - pseh) + ${PSEH_LIB}) add_importlibs(sti ole32 Modified: branches/cmake-bringup/dll/win32/syssetup/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/syssetu…
============================================================================== --- branches/cmake-bringup/dll/win32/syssetup/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/syssetup/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -18,7 +18,7 @@ target_link_libraries(syssetup uuid - pseh) + ${PSEH_LIB}) add_importlibs(syssetup msvcrt Modified: branches/cmake-bringup/dll/win32/urlmon/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/urlmon/…
============================================================================== --- branches/cmake-bringup/dll/win32/urlmon/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/urlmon/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -40,7 +40,7 @@ urlmon_proxy uuid wine - pseh) + ${PSEH_LIB}) add_importlibs(urlmon rpcrt4 Modified: branches/cmake-bringup/dll/win32/user32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/user32/…
============================================================================== --- branches/cmake-bringup/dll/win32/user32/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/user32/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -77,7 +77,7 @@ target_link_libraries(user32 wine win32ksys - pseh) + ${PSEH_LIB}) add_pch(user32 ${CMAKE_CURRENT_SOURCE_DIR}/include/user32.h ${SOURCE}) add_importlibs(user32 gdi32 advapi32 imm32 kernel32 ntdll) Modified: branches/cmake-bringup/dll/win32/wininet/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/wininet…
============================================================================== --- branches/cmake-bringup/dll/win32/wininet/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/wininet/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -30,7 +30,7 @@ target_link_libraries(wininet wine zlib - pseh) + ${PSEH_LIB}) add_importlibs(wininet mpr shlwapi shell32 user32 advapi32 secur32 crypt32 ws2_32 msvcrt kernel32 ntdll) Modified: branches/cmake-bringup/dll/win32/winmm/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/winmm/C…
============================================================================== --- branches/cmake-bringup/dll/win32/winmm/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/winmm/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -23,7 +23,7 @@ target_link_libraries(winmm wine - pseh) + ${PSEH_LIB}) add_importlibs(winmm advapi32 user32 msvcrt kernel32 ntdll) Modified: branches/cmake-bringup/dll/win32/wintrust/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/wintrus…
============================================================================== --- branches/cmake-bringup/dll/win32/wintrust/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/wintrust/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -17,7 +17,7 @@ target_link_libraries(wintrust wine - pseh) + ${PSEH_LIB}) add_importlibs(wintrust crypt32 cryptui user32 advapi32 imagehlp msvcrt kernel32 ntdll) Modified: branches/cmake-bringup/dll/win32/wlanapi/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/wlanapi…
============================================================================== --- branches/cmake-bringup/dll/win32/wlanapi/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/wlanapi/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -11,7 +11,7 @@ target_link_libraries(wlanapi wlansvc_client wine - pseh) + ${PSEH_LIB}) add_importlibs(wlanapi rpcrt4 kernel32 ntdll) add_dependencies(wlanapi psdk buildno_header) Modified: branches/cmake-bringup/drivers/base/null/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/base/null…
============================================================================== --- branches/cmake-bringup/drivers/base/null/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/base/null/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -6,7 +6,7 @@ set_target_properties(null PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -Wl,--image-base,0x00010000 -Wl,--exclude-all-symbols" SUFFIX ".sys") target_link_libraries(null - pseh + ${PSEH_LIB} -lntoskrnl -lhal) Modified: 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 [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/filesystems/fastfat_new/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -28,7 +28,7 @@ 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 + ${PSEH_LIB} fullfat) add_importlibs(fastfat_new ntoskrnl hal) Modified: branches/cmake-bringup/drivers/input/kbdclass/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/input/kbd…
============================================================================== --- branches/cmake-bringup/drivers/input/kbdclass/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/input/kbdclass/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -9,7 +9,7 @@ set_module_type(kbdclass kernelmodedriver) -target_link_libraries(kbdclass pseh) +target_link_libraries(kbdclass ${PSEH_LIB}) add_importlibs(kbdclass ntoskrnl hal) Modified: branches/cmake-bringup/drivers/input/mouclass/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/input/mou…
============================================================================== --- branches/cmake-bringup/drivers/input/mouclass/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/input/mouclass/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -8,7 +8,7 @@ set_module_type(mouclass kernelmodedriver) -target_link_libraries(mouclass pseh) +target_link_libraries(mouclass ${PSEH_LIB}) add_importlibs(mouclass ntoskrnl hal) Modified: branches/cmake-bringup/drivers/ksfilter/ks/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/ksfilter/…
============================================================================== --- branches/cmake-bringup/drivers/ksfilter/ks/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/ksfilter/ks/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -33,7 +33,7 @@ target_link_libraries(ks ${CMAKE_CURRENT_SOURCE_DIR}/ks.def - pseh) + ${PSEH_LIB}) add_importlibs(ks ntoskrnl hal msvcrt) add_dependencies(ks psdk bugcodes) Modified: branches/cmake-bringup/drivers/network/afd/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/network/a…
============================================================================== --- branches/cmake-bringup/drivers/network/afd/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/network/afd/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -22,7 +22,7 @@ set_module_type(afd kernelmodedriver) target_link_libraries(afd - pseh + ${PSEH_LIB} -lntoskrnl -lhal) Modified: branches/cmake-bringup/drivers/network/tcpip/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/network/t…
============================================================================== --- branches/cmake-bringup/drivers/network/tcpip/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/network/tcpip/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -31,7 +31,7 @@ target_link_libraries(tcpip ip oskittcp - pseh + ${PSEH_LIB} chew -lndis -lntoskrnl Modified: branches/cmake-bringup/drivers/storage/classpnp/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/storage/c…
============================================================================== --- branches/cmake-bringup/drivers/storage/classpnp/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/storage/classpnp/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -36,7 +36,7 @@ spec2def(classpnp.sys class.spec) add_library(classpnp SHARED ${SOURCE}) -target_link_libraries(classpnp pseh libcntpr) +target_link_libraries(classpnp ${PSEH_LIB} libcntpr) set_module_type(classpnp kernelmodedriver) Modified: branches/cmake-bringup/drivers/wdm/audio/backpln/portcls/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/wdm/audio…
============================================================================== --- branches/cmake-bringup/drivers/wdm/audio/backpln/portcls/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/wdm/audio/backpln/portcls/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -51,7 +51,7 @@ target_link_libraries(portcls libcntpr - pseh) + ${PSEH_LIB}) if(MSVC) set_target_properties(portcls PROPERTIES COMPILE_FLAGS "/GR-") Modified: branches/cmake-bringup/drivers/wdm/audio/legacy/wdmaud/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/wdm/audio…
============================================================================== --- branches/cmake-bringup/drivers/wdm/audio/legacy/wdmaud/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/wdm/audio/legacy/wdmaud/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -17,7 +17,7 @@ target_link_libraries(wdmaud mmixer libcntpr - pseh) + ${PSEH_LIB}) add_importlibs(wdmaud ntoskrnl ks hal) add_dependencies(wdmaud psdk bugcodes) Modified: branches/cmake-bringup/gcc.cmake URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/gcc.cmake?rev=494…
============================================================================== --- branches/cmake-bringup/gcc.cmake [iso-8859-1] (original) +++ branches/cmake-bringup/gcc.cmake [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -157,8 +157,11 @@ set(IDL_SERVER_ARG -s -S) #.c for server library set(IDL_CLIENT_ARG -c -C) #.c for stub client library -macro(add_importlib_target _name) +macro(add_importlib_def _def_file) # empty for now, while import libs are shipped endmacro() +#pseh lib, needed with mingw +set(PSEH_LIB "pseh") + endif() Modified: branches/cmake-bringup/msc.cmake URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/msc.cmake?rev=494…
============================================================================== --- branches/cmake-bringup/msc.cmake [iso-8859-1] (original) +++ branches/cmake-bringup/msc.cmake [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -82,25 +82,26 @@ set(IDL_CLIENT_ARG /cstub) #.c for stub client library -macro(add_importlib_target _name) - add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/importlibs/lib${_name}.lib - COMMAND LINK /LIB /MACHINE:X86 /DEF:${CMAKE_CURRENT_BINARY_DIR}/${_name}.def /OUT:${CMAKE_BINARY_DIR}/importlibs/lib${_name}.lib - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_name}.def - ) - add_custom_target(lib${_name} - DEPENDS ${CMAKE_BINARY_DIR}/importlibs/lib${_name}.lib +macro(add_importlib_def _def_file) + get_filename_component(_name ${_def_file} NAME_WE) + add_custom_target( + lib${_name} + COMMAND LINK /LIB /MACHINE:X86 /DEF:${CMAKE_CURRENT_BINARY_DIR}/${_file}.def /OUT:${CMAKE_BINARY_DIR}/importlibs/lib${_name}.lib + DEPENDS ${_def_file} ) endmacro() macro(add_importlibs MODULE) foreach(LIB ${ARGN}) target_link_libraries(${MODULE} ${CMAKE_BINARY_DIR}/importlibs/lib${LIB}.lib) - add_dependencies(${MODULE} lib${LIB}) + #add_dependencies(${MODULE} lib${LIB}) endforeach() endmacro() file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/importlibs) +#pseh workaround +set(PSEH_LIB "") + endif() Modified: branches/cmake-bringup/ntoskrnl/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/ntoskrnl/CMakeLis…
============================================================================== --- branches/cmake-bringup/ntoskrnl/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/ntoskrnl/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -409,7 +409,7 @@ target_link_libraries(ntoskrnl cportlib csq - pseh + ${PSEH_LIB} cmlib rtl rossym Modified: branches/cmake-bringup/subsystems/win32/csrss/csrsrv/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/csrss/csrsrv/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/csrss/csrsrv/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -15,7 +15,7 @@ add_library(csrsrv SHARED ${CMAKE_CURRENT_BINARY_DIR}/csrsrv_srv.h.gch ${SOURCE}) -target_link_libraries(csrsrv pseh) +target_link_libraries(csrsrv ${PSEH_LIB}) set_module_type(csrsrv nativedll) Modified: branches/cmake-bringup/subsystems/win32/csrss/win32csr/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/csrss/win32csr/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/csrss/win32csr/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -31,7 +31,7 @@ target_link_libraries(win32csr win32ksys - pseh) + ${PSEH_LIB}) set_module_type(win32csr win32dll) Modified: branches/cmake-bringup/subsystems/win32/win32k/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/win32k/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/win32k/CMakeLists.txt [iso-8859-1] Mon Nov 1 17:24:32 2010 @@ -181,7 +181,7 @@ target_link_libraries(win32k ${CMAKE_CURRENT_SOURCE_DIR}/win32k_i386.def - pseh + ${PSEH_LIB} dxguid libcntpr)
14 years, 1 month
1
0
0
0
[tkreuzer] 49408: [HAL] Make systimer.S ML compatible. Replace most hardcoded numerical values with proper symbolic constants.
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Mon Nov 1 16:42:53 2010 New Revision: 49408 URL:
http://svn.reactos.org/svn/reactos?rev=49408&view=rev
Log: [HAL] Make systimer.S ML compatible. Replace most hardcoded numerical values with proper symbolic constants. Modified: branches/cmake-bringup/hal/halx86/generic/i386/systimer.S Modified: branches/cmake-bringup/hal/halx86/generic/i386/systimer.S URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/hal/halx86/generi…
============================================================================== --- branches/cmake-bringup/hal/halx86/generic/i386/systimer.S [iso-8859-1] (original) +++ branches/cmake-bringup/hal/halx86/generic/i386/systimer.S [iso-8859-1] Mon Nov 1 16:42:53 2010 @@ -7,12 +7,41 @@ /* INCLUDES ******************************************************************/ -#include <asm.h> -.intel_syntax noprefix +#include <reactos/asm.h> +#include <ndk/asm.h> + +EXTERN _HalpAcquireSystemHardwareSpinLock@0:PROC +EXTERN _HalpReleaseCmosSpinLock@0:PROC +EXTERN _DbgBreakPoint@0:PROC +EXTERN _HalpCurrentRollOver:DWORD +EXTERN _HalpPerfCounterCutoff:DWORD + +#define PIC1_BASE HEX(20) /* IO base address for master PIC */ +#define PIC2_BASE HEX(A0) /* IO base address for slave PIC */ +#define PIC1_COMMAND PIC1_BASE +#define PIC1_DATA (PIC1_BASE+1) +#define PIC2_COMMAND PIC2_BASE +#define PIC2_DATA (PIC2_BASE+1) +#define PIC_EOI HEX(20) +#define PIC_SPECIFIC_EOI2 HEX(62) + +#define CMOS_ADDR HEX(70) +#define CMOS_DATA HEX(71) +#define CMOS_REGISTER_A HEX(0A) +#define CMOS_REGISTER_B HEX(0B) +#define CMOS_REGISTER_C HEX(0C) +#define CMOS_REGISTER_D HEX(0D) + +#define PIT_CH0 HEX(40) +#define PIT_MODE HEX(43) +#define SYSTEM_CTRL_PORT_A HEX(92) /* GLOBALS *******************************************************************/ -.globl _HalpPerfCounter +.data +ASSUME CS:NOTHING, DS:NOTHING, ES:NOTHING, FS:NOTHING, GS:NOTHING + +PUBLIC _HalpPerfCounter _HalpLastPerfCounterLow: .long 0 _HalpLastPerfCounterHigh: .long 0 _HalpPerfCounter: @@ -22,8 +51,8 @@ /* FUNCTIONS *****************************************************************/ -.global _HalpCalibrateStallExecution@0 -.func HalpCalibrateStallExecution@0 +.code +PUBLIC _HalpCalibrateStallExecution@0 _HalpCalibrateStallExecution@0: /* Setup the stack frame */ @@ -37,27 +66,27 @@ /* Get the current interrupt mask on the PICs */ xor eax, eax - in al, 0xA1 + in al, PIC2_DATA shl eax, 8 - in al, 0x21 + in al, PIC1_DATA /* Save it */ push eax /* Now mask everything except the RTC and PIC 2 chain-interrupt */ - mov eax, ~((1 << 2) | (1 << 8)) + mov eax, NOT (HEX(04) OR HEX(100)) /* Program the PICs */ - out 0x21, al + out PIC1_DATA, al shr eax, 8 - out 0xA1, al + out PIC2_DATA, al /* Now get the IDT */ sidt [ebp-8] mov ecx, [ebp-6] /* Get the IDT entry for the RTC */ - mov eax, 0x38 + mov eax, HEX(38) shl eax, 3 add ecx, eax @@ -70,7 +99,7 @@ mov eax, offset OnlyOnePersonCanWriteHalCode mov [ecx], ax mov word ptr [ecx+2], KGDT_R0_CODE - mov word ptr [ecx+4], 0x8E00 + mov word ptr [ecx+4], HEX(08E00) shr eax, 16 mov [ecx+6], ax @@ -81,18 +110,18 @@ call _HalpAcquireSystemHardwareSpinLock@0 /* Now initialize register A on the CMOS */ - mov ax, (0x2D << 8) | 0xA - out 0x70, al + mov ax, HEX(2D00) OR CMOS_REGISTER_A + out CMOS_ADDR, al jmp $+2 mov al, ah - out 0x71, al + out CMOS_DATA, al jmp $+2 /* Read register B */ - mov ax, 0xB - out 0x70, al - jmp $+2 - in al, 0x71 + mov ax, CMOS_REGISTER_B + out CMOS_ADDR, al + jmp $+2 + in al, CMOS_DATA jmp $+2 /* Don't touch the LastKnownGoodConfig hack */ @@ -100,28 +129,28 @@ mov ah, al /* Enable the interrupt */ - or ah, 0x42 + or ah, HEX(42) /* Now write the register B */ - mov al, 0xB - out 0x70, al + mov al, CMOS_REGISTER_B + out CMOS_ADDR, al jmp $+2 mov al, ah - out 0x71, al + out CMOS_DATA, al jmp $+2 /* Read register C */ - mov al, 0xC - out 0x70, al - jmp $+2 - in al, 0x71 + mov al, CMOS_REGISTER_C + out CMOS_ADDR, al + jmp $+2 + in al, CMOS_DATA jmp $+2 /* Read register D */ - mov al, 0xD - out 0x70, al - jmp $+2 - in al, 0x71 + mov al, CMOS_REGISTER_D + out CMOS_ADDR, al + jmp $+2 + in al, CMOS_DATA jmp $+2 /* Release CMOS lock */ @@ -169,18 +198,18 @@ call _HalpAcquireSystemHardwareSpinLock@0 /* Now initialize register A on the CMOS */ - mov ax, (0x2D << 8) | 0xA - out 0x70, al + mov ax, HEX(2D00) OR CMOS_REGISTER_A + out CMOS_ADDR, al jmp $+2 mov al, ah - out 0x71, al + out CMOS_DATA, al jmp $+2 /* Read register B */ - mov ax, 0xB - out 0x70, al - jmp $+2 - in al, 0x71 + mov ax, CMOS_REGISTER_B + out CMOS_ADDR, al + jmp $+2 + in al, CMOS_DATA jmp $+2 /* Don't touch the LastKnownGoodConfig hack */ @@ -188,38 +217,38 @@ mov ah, al /* Enable the interrupt */ - or ah, 0x42 + or ah, HEX(42) /* Now write the register B */ - mov al, 0xB - out 0x70, al + mov al, CMOS_REGISTER_B + out CMOS_ADDR, al jmp $+2 mov al, ah - out 0x71, al + out CMOS_DATA, al jmp $+2 /* Read register C */ - mov al, 0xC - out 0x70, al - jmp $+2 - in al, 0x71 + mov al, CMOS_REGISTER_C + out CMOS_ADDR, al + jmp $+2 + in al, CMOS_DATA jmp $+2 /* Read register D */ - mov al, 0xD - out 0x70, al - jmp $+2 - in al, 0x71 + mov al, CMOS_REGISTER_D + out CMOS_ADDR, al + jmp $+2 + in al, CMOS_DATA jmp $+2 /* Release CMOS lock */ call _HalpReleaseCmosSpinLock@0 /* Dismiss the interrupt */ - mov al, 0x20 - out 0xA0, al - mov al, 0x62 - out 0x20, al + mov al, PIC_EOI + out PIC2_COMMAND, al + mov al, PIC_SPECIFIC_EOI2 + out PIC1_COMMAND, al /* Reset the counter and return back to the looper */ xor eax, eax @@ -248,24 +277,24 @@ /* Prepare for interrupt return */ pop eax push offset AndItsNotYou - mov eax, 0x13 + mov eax, HEX(13) /* Acquire CMOS lock */ call _HalpAcquireSystemHardwareSpinLock@0 /* Now initialize register A on the CMOS */ - mov ax, (0x2D << 8) | 0xA - out 0x70, al + mov ax, HEX(2D00) OR CMOS_REGISTER_A + out CMOS_ADDR, al jmp $+2 mov al, ah - out 0x71, al + out CMOS_DATA, al jmp $+2 /* Read register B */ - mov ax, 0xB - out 0x70, al - jmp $+2 - in al, 0x71 + mov ax, CMOS_REGISTER_B + out CMOS_ADDR, al + jmp $+2 + in al, CMOS_DATA jmp $+2 /* Don't touch the LastKnownGoodConfig hack */ @@ -273,34 +302,34 @@ mov ah, al /* Disable the interrupt */ - or ah, 0x2 + or ah, 2 /* Now write the register B */ - mov al, 0xB - out 0x70, al + mov al, CMOS_REGISTER_B + out CMOS_ADDR, al jmp $+2 mov al, ah - out 0x71, al + out CMOS_DATA, al jmp $+2 /* Read register C */ - mov al, 0xC - out 0x70, al - jmp $+2 - in al, 0x71 + mov al, CMOS_REGISTER_C + out CMOS_ADDR, al + jmp $+2 + in al, CMOS_DATA jmp $+2 /* Release CMOS lock */ call _HalpReleaseCmosSpinLock@0 /* Dismiss the interrupt */ - mov al, 0x20 - out 0xA0, al - mov al, 0x62 - out 0x20, al + mov al, PIC_EOI + out PIC2_COMMAND, al + mov al, PIC_SPECIFIC_EOI2 + out PIC1_COMMAND, al /* Disable interrupts on return */ - and word ptr [esp+8], ~EFLAGS_INTERRUPT_MASK + and word ptr [esp+8], NOT EFLAGS_INTERRUPT_MASK iretd /************************* WE ARE BACK FROM RTC ***************************/ @@ -313,9 +342,9 @@ /* Restore the mask */ pop eax - out 0x21, al + out PIC1_DATA, al shr eax, 8 - out 0xA1, al + out PIC2_DATA, al /* Restore EFLAGS */ popf @@ -324,11 +353,10 @@ mov esp, ebp pop ebp ret -.endfunc + #ifndef _MINIHAL_ -.globl _KeStallExecutionProcessor@4 -.func KeStallExecutionProcessor@4 +PUBLIC _KeStallExecutionProcessor@4 _KeStallExecutionProcessor@4: /* Get the number of microseconds required */ @@ -356,11 +384,9 @@ Done: /* Return */ ret 4 -.endfunc #endif -.global _KeQueryPerformanceCounter@4 -.func KeQueryPerformanceCounter@4 +PUBLIC _KeQueryPerformanceCounter@4 _KeQueryPerformanceCounter@4: /* Check if we were called too early */ @@ -380,20 +406,20 @@ LoopPostInt: /* Get the current value */ - mov ebx, _HalpPerfCounterLow - mov esi, _HalpPerfCounterHigh + mov ebx, dword ptr _HalpPerfCounterLow + mov esi, dword ptr _HalpPerfCounterHigh /* Read 8254 timer */ - mov al, 0 - out 0x43, al - in al, 0x92 - or al, _HalpPerfCounterCutoff - out 0x92, al - jmp $+2 - in al, 0x40 + mov al, 0 /* Interrupt on terminal count */ + out PIT_MODE, al + in al, SYSTEM_CTRL_PORT_A + or al, byte ptr _HalpPerfCounterCutoff + out SYSTEM_CTRL_PORT_A, al + jmp $+2 + in al, PIT_CH0 jmp $+2 movzx ecx, al - in al, 0x40 + in al, PIT_CH0 mov ch, al /* Enable interrupts and do a short wait */ @@ -406,8 +432,8 @@ cli /* Get the counter value again */ - mov eax, _HalpPerfCounterLow - mov edx, _HalpPerfCounterHigh + mov eax, dword ptr _HalpPerfCounterLow + mov edx, dword ptr _HalpPerfCounterHigh /* Check if someone updated the counter */ cmp eax, ebx @@ -417,7 +443,7 @@ /* Check if the current 8254 value causes rollover */ neg ecx - add ecx, _HalpCurrentRollOver + add ecx, dword ptr _HalpCurrentRollOver jnb DoRollOver SetSum: @@ -427,19 +453,19 @@ adc edx, 0 /* Check if we're above or below the last high value */ - cmp edx, _HalpLastPerfCounterHigh + cmp edx, dword ptr _HalpLastPerfCounterHigh jb short BelowHigh jnz short BelowLow /* Check if we're above or below the last low value */ - cmp eax, _HalpLastPerfCounterLow + cmp eax, dword ptr _HalpLastPerfCounterLow jb BelowHigh BelowLow: /* Update the last value and bring back interrupts */ - mov _HalpLastPerfCounterLow, eax - mov _HalpLastPerfCounterHigh, edx + mov dword ptr _HalpLastPerfCounterLow, eax + mov dword ptr _HalpLastPerfCounterHigh, edx popf /* Check if caller wants frequency */ @@ -469,7 +495,7 @@ /* We might have an incoming interrupt, save EFLAGS and reset rollover */ mov esi, [esp] - mov ecx, _HalpCurrentRollOver + mov ecx, dword ptr _HalpCurrentRollOver popf /* Check if interrupts were enabled and try again */ @@ -483,8 +509,8 @@ BelowHigh: /* Get the last counter values */ - mov ebx, _HalpLastPerfCounterLow - mov esi, _HalpLastPerfCounterHigh + mov ebx, dword ptr _HalpLastPerfCounterLow + mov esi, dword ptr _HalpLastPerfCounterHigh /* Check if the previous value was 0 and go back if yes */ mov ecx, ebx @@ -495,7 +521,7 @@ sub ebx, eax sbb esi, edx jnz InvalidCount - cmp ebx, _HalpCurrentRollOver + cmp ebx, dword ptr _HalpCurrentRollOver jg InvalidCount /* Fixup the count with the last known value */ @@ -517,7 +543,8 @@ InvalidCount: popf xor eax, eax - mov _HalpLastPerfCounterLow, eax - mov _HalpLastPerfCounterHigh, eax + mov dword ptr _HalpLastPerfCounterLow, eax + mov dword ptr _HalpLastPerfCounterHigh, eax jmp LoopPreInt -.endfunc + +END
14 years, 1 month
1
0
0
0
← Newer
1
...
44
45
46
47
48
49
50
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Results per page:
10
25
50
100
200