summaryrefslogtreecommitdiffstats
path: root/EmulatorPkg/Unix/Host/Pthreads.c
diff options
context:
space:
mode:
Diffstat (limited to 'EmulatorPkg/Unix/Host/Pthreads.c')
-rw-r--r--EmulatorPkg/Unix/Host/Pthreads.c66
1 files changed, 26 insertions, 40 deletions
diff --git a/EmulatorPkg/Unix/Host/Pthreads.c b/EmulatorPkg/Unix/Host/Pthreads.c
index 025687c356..ec3a38e573 100644
--- a/EmulatorPkg/Unix/Host/Pthreads.c
+++ b/EmulatorPkg/Unix/Host/Pthreads.c
@@ -12,48 +12,43 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include "Host.h"
#include <pthread.h>
-
UINTN
EFIAPI
PthreadMutexLock (
- IN VOID *Mutex
+ IN VOID *Mutex
)
{
return (UINTN)pthread_mutex_lock ((pthread_mutex_t *)Mutex);
}
-
-
UINTN
EFIAPI
PthreadMutexUnLock (
- IN VOID *Mutex
+ IN VOID *Mutex
)
{
return (UINTN)pthread_mutex_unlock ((pthread_mutex_t *)Mutex);
}
-
UINTN
EFIAPI
PthreadMutexTryLock (
- IN VOID *Mutex
+ IN VOID *Mutex
)
{
return (UINTN)pthread_mutex_trylock ((pthread_mutex_t *)Mutex);
}
-
VOID *
PthreadMutexInit (
IN VOID
)
{
- pthread_mutex_t *Mutex;
- int err;
+ pthread_mutex_t *Mutex;
+ int err;
Mutex = malloc (sizeof (pthread_mutex_t));
- err = pthread_mutex_init (Mutex, NULL);
+ err = pthread_mutex_init (Mutex, NULL);
if (err == 0) {
return Mutex;
}
@@ -61,10 +56,9 @@ PthreadMutexInit (
return NULL;
}
-
UINTN
PthreadMutexDestroy (
- IN VOID *Mutex
+ IN VOID *Mutex
)
{
if (Mutex != NULL) {
@@ -76,11 +70,11 @@ PthreadMutexDestroy (
// Can't store this data on PthreadCreate stack so we need a global
typedef struct {
- pthread_mutex_t Mutex;
- THREAD_THUNK_THREAD_ENTRY Start;
+ pthread_mutex_t Mutex;
+ THREAD_THUNK_THREAD_ENTRY Start;
} THREAD_MANGLE;
-THREAD_MANGLE mThreadMangle = {
+THREAD_MANGLE mThreadMangle = {
PTHREAD_MUTEX_INITIALIZER,
NULL
};
@@ -90,11 +84,11 @@ SecFakePthreadStart (
VOID *Context
)
{
- THREAD_THUNK_THREAD_ENTRY Start;
- sigset_t SigMask;
+ THREAD_THUNK_THREAD_ENTRY Start;
+ sigset_t SigMask;
// Save global on the stack before we unlock
- Start = mThreadMangle.Start;
+ Start = mThreadMangle.Start;
pthread_mutex_unlock (&mThreadMangle.Mutex);
// Mask all signals to the APs
@@ -109,19 +103,19 @@ SecFakePthreadStart (
// This is a great example of how all problems in computer
// science can be solved by adding another level of indirection
//
- return (VOID *)ReverseGasketUint64 ((UINTN)Start, (UINTN)Context);
+ return (VOID *)ReverseGasketUint64 ((UINTN)Start, (UINTN)Context);
}
UINTN
PthreadCreate (
- IN VOID *Thread,
- IN VOID *Attribute,
- IN THREAD_THUNK_THREAD_ENTRY Start,
- IN VOID *Context
+ IN VOID *Thread,
+ IN VOID *Attribute,
+ IN THREAD_THUNK_THREAD_ENTRY Start,
+ IN VOID *Context
)
{
- int err;
- BOOLEAN EnabledOnEntry;
+ int err;
+ BOOLEAN EnabledOnEntry;
//
// Threads inherit interrupt state so disable interrupts before we start thread
@@ -135,7 +129,7 @@ PthreadCreate (
// Acquire lock for global, SecFakePthreadStart runs in a different thread.
pthread_mutex_lock (&mThreadMangle.Mutex);
- mThreadMangle.Start = Start;
+ mThreadMangle.Start = Start;
err = pthread_create (Thread, Attribute, SecFakePthreadStart, Context);
if (err != 0) {
@@ -151,17 +145,15 @@ PthreadCreate (
return err;
}
-
VOID
PthreadExit (
- IN VOID *ValuePtr
+ IN VOID *ValuePtr
)
{
pthread_exit (ValuePtr);
return;
}
-
UINTN
PthreadSelf (
VOID
@@ -173,8 +165,7 @@ PthreadSelf (
return (UINTN)pthread_self ();
}
-
-EMU_THREAD_THUNK_PROTOCOL gPthreadThunk = {
+EMU_THREAD_THUNK_PROTOCOL gPthreadThunk = {
GasketPthreadMutexLock,
GasketPthreadMutexUnLock,
GasketPthreadMutexTryLock,
@@ -185,10 +176,9 @@ EMU_THREAD_THUNK_PROTOCOL gPthreadThunk = {
GasketPthreadSelf
};
-
EFI_STATUS
PthreadOpen (
- IN EMU_IO_THUNK_PROTOCOL *This
+ IN EMU_IO_THUNK_PROTOCOL *This
)
{
if (This->Instance != 0) {
@@ -206,17 +196,15 @@ PthreadOpen (
return EFI_SUCCESS;
}
-
EFI_STATUS
PthreadClose (
- IN EMU_IO_THUNK_PROTOCOL *This
+ IN EMU_IO_THUNK_PROTOCOL *This
)
{
return EFI_SUCCESS;
}
-
-EMU_IO_THUNK_PROTOCOL gPthreadThunkIo = {
+EMU_IO_THUNK_PROTOCOL gPthreadThunkIo = {
&gEmuThreadThunkProtocolGuid,
NULL,
NULL,
@@ -225,5 +213,3 @@ EMU_IO_THUNK_PROTOCOL gPthreadThunkIo = {
GasketPthreadClose,
NULL
};
-
-