linux_emul.h (0c21a60cf61c61c3a136a803b9c7645c128c6982) linux_emul.h (d14cc07d0777c5fa2579d588ec9a62e26330474d)
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

--- 41 unchanged lines hidden (view full) ---

50 pid_t pid;
51
52 int *child_set_tid; /* in clone(): Child's TID to set on clone */
53 int *child_clear_tid;/* in clone(): Child's TID to clear on exit */
54
55 struct linux_emuldata_shared *shared;
56
57 int pdeath_signal; /* parent death signal */
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

--- 41 unchanged lines hidden (view full) ---

50 pid_t pid;
51
52 int *child_set_tid; /* in clone(): Child's TID to set on clone */
53 int *child_clear_tid;/* in clone(): Child's TID to clear on exit */
54
55 struct linux_emuldata_shared *shared;
56
57 int pdeath_signal; /* parent death signal */
58 int used_requeue; /* uses deprecated futex op */
58 int flags; /* different emuldata flags */
59
60 struct linux_robust_list_head *robust_futexes;
61
62 LIST_ENTRY(linux_emuldata) threads; /* list of linux threads */
63};
64
65struct linux_emuldata *em_find(struct proc *, int locked);
66

--- 4 unchanged lines hidden (view full) ---

71#define EMUL_SHARED_RUNLOCK(l) sx_sunlock(l)
72#define EMUL_SHARED_WLOCK(l) sx_xlock(l)
73#define EMUL_SHARED_WUNLOCK(l) sx_xunlock(l)
74
75/* for em_find use */
76#define EMUL_DOLOCK 1
77#define EMUL_DONTLOCK 0
78
59
60 struct linux_robust_list_head *robust_futexes;
61
62 LIST_ENTRY(linux_emuldata) threads; /* list of linux threads */
63};
64
65struct linux_emuldata *em_find(struct proc *, int locked);
66

--- 4 unchanged lines hidden (view full) ---

71#define EMUL_SHARED_RUNLOCK(l) sx_sunlock(l)
72#define EMUL_SHARED_WLOCK(l) sx_xlock(l)
73#define EMUL_SHARED_WUNLOCK(l) sx_xunlock(l)
74
75/* for em_find use */
76#define EMUL_DOLOCK 1
77#define EMUL_DONTLOCK 0
78
79/* emuldata flags */
80#define LINUX_XDEPR_REQUEUEOP 0x00000001 /* uses deprecated
81 futex REQUEUE op*/
82
79int linux_proc_init(struct thread *, pid_t, int);
80void linux_proc_exit(void *, struct proc *);
81void linux_schedtail(void *, struct proc *);
82void linux_proc_exec(void *, struct proc *, struct image_params *);
83void linux_kill_threads(struct thread *, int);
84
85extern struct sx emul_shared_lock;
86extern struct mtx emul_lock;
87
88#endif /* !_LINUX_EMUL_H_ */
83int linux_proc_init(struct thread *, pid_t, int);
84void linux_proc_exit(void *, struct proc *);
85void linux_schedtail(void *, struct proc *);
86void linux_proc_exec(void *, struct proc *, struct image_params *);
87void linux_kill_threads(struct thread *, int);
88
89extern struct sx emul_shared_lock;
90extern struct mtx emul_lock;
91
92#endif /* !_LINUX_EMUL_H_ */