Rev 1117 | Rev 1460 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1117 | Rev 1139 | ||
|---|---|---|---|
| Line 35... | Line 35... | ||
| 35 | #include <genarch/mm/page_ht.h> |
35 | #include <genarch/mm/page_ht.h> |
| 36 | #include <genarch/mm/page_pt.h> |
36 | #include <genarch/mm/page_pt.h> |
| 37 | 37 | ||
| 38 | /** Kernel-side futex structure. */ |
38 | /** Kernel-side futex structure. */ |
| 39 | struct futex { |
39 | struct futex { |
| 40 | __address paddr; /** Physical address of the status variable. */ |
40 | __address paddr; /**< Physical address of the status variable. */ |
| 41 | waitq_t wq; /** Wait queue for threads waiting for futex availability. */ |
41 | waitq_t wq; /**< Wait queue for threads waiting for futex availability. */ |
| 42 | link_t ht_link; /** Futex hash table link. */ |
42 | link_t ht_link; /**< Futex hash table link. */ |
| 43 | }; |
43 | }; |
| 44 | 44 | ||
| 45 | extern void futex_init(void); |
45 | extern void futex_init(void); |
| 46 | extern __native sys_futex_sleep_timeout(__address uaddr, __u32 usec, int trydown); |
46 | extern __native sys_futex_sleep_timeout(__address uaddr, __u32 usec, int trydown); |
| 47 | extern __native sys_futex_wakeup(__address uaddr); |
47 | extern __native sys_futex_wakeup(__address uaddr); |