linux_emul.h (1c65504ca8bb2d3696e328120de762d764e10cdf) | linux_emul.h (357afa71139263ad214da3ceea164c974129735c) |
---|---|
1/*- 2 * Copyright (c) 2006 Roman Divacky 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * 28 * $FreeBSD$ 29 */ 30 31#ifndef _LINUX_EMUL_H_ | 1/*- 2 * Copyright (c) 2006 Roman Divacky 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * 28 * $FreeBSD$ 29 */ 30 31#ifndef _LINUX_EMUL_H_ |
32#define _LINUX_EMUL_H_ | 32#define _LINUX_EMUL_H_ |
33 34struct linux_emuldata_shared { 35 int refs; 36 pid_t group_pid; 37 38 LIST_HEAD(, linux_emuldata) threads; /* head of list of linux threads */ 39}; 40 --- 9 unchanged lines hidden (view full) --- 50 51 struct linux_emuldata_shared *shared; 52 53 int pdeath_signal; /* parent death signal */ 54 55 LIST_ENTRY(linux_emuldata) threads; /* list of linux threads */ 56}; 57 | 33 34struct linux_emuldata_shared { 35 int refs; 36 pid_t group_pid; 37 38 LIST_HEAD(, linux_emuldata) threads; /* head of list of linux threads */ 39}; 40 --- 9 unchanged lines hidden (view full) --- 50 51 struct linux_emuldata_shared *shared; 52 53 int pdeath_signal; /* parent death signal */ 54 55 LIST_ENTRY(linux_emuldata) threads; /* list of linux threads */ 56}; 57 |
58struct linux_emuldata *em_find(struct proc *, int locked); | 58struct linux_emuldata *em_find(struct proc *, int locked); |
59 | 59 |
60#define EMUL_LOCK(l) sx_xlock(l) 61#define EMUL_UNLOCK(l) sx_xunlock(l) | 60#define EMUL_LOCK(l) mtx_lock(l) 61#define EMUL_UNLOCK(l) mtx_unlock(l) |
62 | 62 |
63#define EMUL_SHARED_RLOCK(l) sx_slock(l) 64#define EMUL_SHARED_RUNLOCK(l) sx_sunlock(l) 65#define EMUL_SHARED_WLOCK(l) sx_xlock(l) 66#define EMUL_SHARED_WUNLOCK(l) sx_xunlock(l) | 63#define EMUL_SHARED_RLOCK(l) sx_slock(l) 64#define EMUL_SHARED_RUNLOCK(l) sx_sunlock(l) 65#define EMUL_SHARED_WLOCK(l) sx_xlock(l) 66#define EMUL_SHARED_WUNLOCK(l) sx_xunlock(l) |
67 68/* for em_find use */ | 67 68/* for em_find use */ |
69#define EMUL_DOLOCK 1 70#define EMUL_DONTLOCK 0 | 69#define EMUL_DOLOCK 1 70#define EMUL_DONTLOCK 0 |
71 72int linux_proc_init(struct thread *, pid_t, int); 73void linux_proc_exit(void *, struct proc *); 74void linux_schedtail(void *, struct proc *); 75void linux_proc_exec(void *, struct proc *, struct image_params *); 76 | 71 72int linux_proc_init(struct thread *, pid_t, int); 73void linux_proc_exit(void *, struct proc *); 74void linux_schedtail(void *, struct proc *); 75void linux_proc_exec(void *, struct proc *, struct image_params *); 76 |
77extern struct sx emul_shared_lock; 78extern struct sx emul_lock; | 77extern struct sx emul_shared_lock; 78extern struct mtx emul_lock; |
79 80#endif /* !_LINUX_EMUL_H_ */ | 79 80#endif /* !_LINUX_EMUL_H_ */ |