linux_emul.h (e16fe1c7304dad853feab78221dfdadce3053e7e) | linux_emul.h (5dd1d097f8e4d1a4c6df13f9ccae296792eac064) |
---|---|
1/*- 2 * Copyright (c) 2006 Roman Divacky 3 * Copyright (c) 2013 Dmitry Chagin 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 47 unchanged lines hidden (view full) --- 56void linux_thread_dtor(void *arg __unused, struct thread *); 57void linux_thread_detach(struct thread *); 58int linux_common_execve(struct thread *, struct image_args *); 59 60/* process emuldata flags */ 61#define LINUX_XDEPR_REQUEUEOP 0x00000001 /* uses deprecated 62 futex REQUEUE op*/ 63#define LINUX_XUNSUP_EPOLL 0x00000002 /* unsupported epoll events */ | 1/*- 2 * Copyright (c) 2006 Roman Divacky 3 * Copyright (c) 2013 Dmitry Chagin 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 47 unchanged lines hidden (view full) --- 56void linux_thread_dtor(void *arg __unused, struct thread *); 57void linux_thread_detach(struct thread *); 58int linux_common_execve(struct thread *, struct image_args *); 59 60/* process emuldata flags */ 61#define LINUX_XDEPR_REQUEUEOP 0x00000001 /* uses deprecated 62 futex REQUEUE op*/ 63#define LINUX_XUNSUP_EPOLL 0x00000002 /* unsupported epoll events */ |
64#define LINUX_XUNSUP_FUTEXPIOP 0x00000004 /* uses unsupported pi futex */ |
|
64 65struct linux_pemuldata { 66 uint32_t flags; /* process emuldata flags */ 67 struct sx pem_sx; /* lock for this struct */ 68 void *epoll; /* epoll data */ 69}; 70 71#define LINUX_PEM_XLOCK(p) sx_xlock(&(p)->pem_sx) 72#define LINUX_PEM_XUNLOCK(p) sx_xunlock(&(p)->pem_sx) 73#define LINUX_PEM_SLOCK(p) sx_slock(&(p)->pem_sx) 74#define LINUX_PEM_SUNLOCK(p) sx_sunlock(&(p)->pem_sx) 75 76struct linux_pemuldata *pem_find(struct proc *); 77 78#endif /* !_LINUX_EMUL_H_ */ | 65 66struct linux_pemuldata { 67 uint32_t flags; /* process emuldata flags */ 68 struct sx pem_sx; /* lock for this struct */ 69 void *epoll; /* epoll data */ 70}; 71 72#define LINUX_PEM_XLOCK(p) sx_xlock(&(p)->pem_sx) 73#define LINUX_PEM_XUNLOCK(p) sx_xunlock(&(p)->pem_sx) 74#define LINUX_PEM_SLOCK(p) sx_slock(&(p)->pem_sx) 75#define LINUX_PEM_SUNLOCK(p) sx_sunlock(&(p)->pem_sx) 76 77struct linux_pemuldata *pem_find(struct proc *); 78 79#endif /* !_LINUX_EMUL_H_ */ |