Commit Graph

49 Commits

Author SHA1 Message Date
Ken Thomases 2e636d4fe8 kernel32: For Mac 64-bit, re-enable the inlining of various functions, leveraging the TEB self pointer at %gs:0x30.
On other platforms, gsbase is set to point to Wine's TEB.  So, these functions
can use %gs-relative addressing with the field offsets to access the fields of
the TEB.

On the Mac, gsbase points to internals of the pthread implementation and that
wouldn't work.  However, Wine hijacks %gs:0x30 and stores the TEB address there.
So, we access the TEB fields by first loading the TEB address and then
accessing its fields relative to that.

Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-28 21:38:02 +09:00
Hans Leidekker c90845cf93 kernel32: Improve the stub for GetThreadPreferredUILanguages.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-29 20:30:57 +09:00
Michael Müller 9d58aac467 kernel32: Implement Set/GetThreadGroupAffinity and add tests.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
2015-10-02 18:11:31 +09:00
Sebastian Lackner 6c586d5db8 kernel32: Forward threadpool wait functions to ntdll. 2015-07-06 14:49:39 +09:00
Sebastian Lackner eadd27a38a kernel32: Forward remaining threadpool functions to ntdll. 2015-07-03 13:08:20 +09:00
Sebastian Lackner 56b9af1150 kernel32: Forward threadpool instance functions to ntdll. 2015-07-03 13:08:05 +09:00
Sebastian Lackner 4b0ecd3e22 kernel32: Forward threadpool timer functions to ntdll. 2015-07-03 13:07:47 +09:00
Sebastian Lackner 1165cc0953 kernel32: Forward threadpool work functions to ntdll. 2015-07-03 13:07:37 +09:00
Sebastian Lackner a54d972868 kernel32: Forward threadpool cleanup group functions to ntdll. 2015-07-03 13:07:18 +09:00
Nikolay Sivov 85a3d09329 kernel32: Implement GetProcessIdOfThread(). 2015-03-20 21:31:57 +09:00
Charles Davis 193d15cc3c kernel32: Don't use %gs on 64-bit Mac OS. 2015-01-23 11:11:37 +01:00
Sebastian Lackner cfd09b0967 ntdll: Fix leaking activation context when terminating via exit_thread(). (Valgrind). 2014-06-23 10:17:26 +02:00
Alexandre Julliard 4af4df5af3 ntdll: Add stubs for the SRW lock functions. 2013-09-03 16:58:19 +02:00
Dan Kegel 073d7212a7 kernel32: Make SetThreadPriorityBoost return success. 2013-05-28 14:54:49 +02:00
Dan Kegel db48235880 kernel32: Quiet an extremely verbose stub fixme. 2012-06-11 11:27:24 +02:00
Daniel Jelinski 53b551440c kernel32: Make SetThreadStackGuarantee stub return TRUE. 2012-06-01 13:24:47 +02:00
André Hentschel 5e5b435e7d kernel32: Add stub for SetThreadStackGuarantee. 2012-05-29 10:44:28 +02:00
Louis Lenders 3f1b41ebb2 kernel32: Add stubs for several SRW lock functions. 2011-10-13 19:57:19 +02:00
Louis Lenders e24438c1d1 kernel32: Add stub for GetThreadPreferredUILanguages. 2011-10-12 17:07:32 +02:00
Bernhard Loos 4e4bdbe53e kernel32: Make CreateThread hotpatchable. 2011-08-22 19:49:39 +02:00
Austin English cad8afb8ee kernel32: Add a stub for SetThreadPreferredUILanguages. 2011-04-25 13:03:07 +02:00
Hans Leidekker 06562d16b3 kernel32: Add a stub implementation of GetThreadIOPendingFlag. 2011-01-10 10:42:23 +01:00
Austin English 4be494c081 kernel32: Add a stub for GetThreadUILanguage. 2010-09-08 13:23:05 +02:00
Alexandre Julliard 383879f686 kernel32: Add an x86_64 implementation for the TEB access functions. 2010-05-07 14:15:25 +02:00
Alexandre Julliard 18dbaadfc5 kernel32: Define GetProcessHeap as an assembler function on i386. 2010-05-07 14:07:45 +02:00
Peter Rosin 678cb27b3a kernel32: Document SetThreadErrorMode and GetThreadErrorMode. 2010-02-05 10:07:40 +01:00
Peter Rosin 805f7d79db kernel32: Add SetThreadErrorMode and GetThreadErrorMode. 2010-02-04 13:39:27 +01:00
Alexandre Julliard 8268ed9783 kernel32: Do not include 16-bit headers in 32-bit files. 2009-12-30 16:21:56 +01:00
Alexandre Julliard b6e0b3428d kernel32: Move the 16-bit thread and process functions to kernel16.c. 2009-10-08 11:11:45 +02:00
Alexandre Julliard fe2c157fe9 kernel32: Move the 16-bit error functions to error16.c. 2009-10-08 11:10:08 +02:00
Alexandre Julliard b088cc5781 kernel32: Moved GetThreadSelectorEntry to thread.c. 2009-09-28 19:58:45 +02:00
Alexandre Julliard cb0607ced2 kernel32: Fix the GetThreadPriorityBoost return value. 2009-08-29 16:48:54 +02:00
Andrew Nguyen 20276d0b38 kernel32: Revise SetThreadIdealProcessor to return success. 2009-08-07 14:57:31 +02:00
Alexandre Julliard d303d9dc29 kernel32: Add appropriate stdcall decorations to assembly functions. 2009-06-15 13:42:26 +02:00
Lionel Debroux e85a037516 kernel32: Fix doc header for SetThreadIdealProcessor. 2009-05-21 16:17:50 +02:00
Alexandre Julliard fea2aa55d0 include: Fix the 64-bit value of magic handle constants. 2008-12-08 15:51:22 +01:00
Alexandre Julliard 74cdb539a4 ntdll: Store the exit code in the server in RtlExitUserThread. 2008-10-29 20:37:43 +01:00
Alexandre Julliard 94e217891c exception.h: Make the RtlUnwind wrapper available separately.
Also avoid dependency on winternl.h.
2008-07-03 13:08:19 +02:00
Austin English d5de9977df kernel32: Spelling fixes. 2008-03-18 11:44:09 +01:00
Alexandre Julliard 5625c6079e Get rid of the global thread.h header. 2008-03-01 11:57:00 +01:00
Francois Gouget 5f7a9cea38 Assorted spelling fixes. 2007-12-07 16:35:32 +01:00
Rob Shearman 8296548bb5 kernel32: Implement GetThreadId. 2007-11-13 13:29:27 +01:00
Alexandre Julliard 797dd942ec ntdll: Implemented handling of the per-thread activation context stack. 2007-07-19 17:07:48 +02:00
Dmitry Timoshkov a67b689121 kernel32: Fix compilation warnings in 64-bit mode. 2007-05-23 13:13:54 +02:00
Dmitry Timoshkov 5f1a234731 kernel32: Fix the size of ThreadAffinityMask to match PSDK. 2007-05-21 19:11:01 +02:00
Andrew Talbot 7919badd70 kernel32: Exclude unused headers. 2007-05-07 20:35:07 +02:00
Alexandre Julliard 7a383cf83f ntdll: Abuse RtlCreateUserThread to call the thread function for CreateThread directly. 2007-01-18 15:02:11 +01:00
Michael Stefaniuc 8c38b88068 kernel32: Win64 printf format warning fixes. 2006-10-13 12:08:25 +02:00
Alexandre Julliard 489d87d1e5 kernel32: Renamed the kernel directory to kernel32.
Also get rid of the kernel/messages subdirectory.
2006-09-12 13:34:06 +02:00