Rev 2927 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2927 | Rev 3448 | ||
|---|---|---|---|
| Line 44... | Line 44... | ||
| 44 | #include <arch/types.h> |
44 | #include <arch/types.h> |
| 45 | #include <proc/thread.h> |
45 | #include <proc/thread.h> |
| 46 | #include <userspace.h> |
46 | #include <userspace.h> |
| 47 | #include <mm/slab.h> |
47 | #include <mm/slab.h> |
| 48 | #include <arch.h> |
48 | #include <arch.h> |
| - | 49 | #include <udebug/udebug.h> |
|
| - | 50 | ||
| 49 | 51 | ||
| 50 | /** Thread used to bring up userspace thread. |
52 | /** Thread used to bring up userspace thread. |
| 51 | * |
53 | * |
| 52 | * @param arg Pointer to structure containing userspace entry and stack |
54 | * @param arg Pointer to structure containing userspace entry and stack |
| 53 | * addresses. |
55 | * addresses. |
| Line 63... | Line 65... | ||
| 63 | * have to be implemented. Moreover, garbage collecting of threads that |
65 | * have to be implemented. Moreover, garbage collecting of threads that |
| 64 | * didn't detach themselves and nobody else joined them will have to be |
66 | * didn't detach themselves and nobody else joined them will have to be |
| 65 | * deployed for the event of forceful task termination. |
67 | * deployed for the event of forceful task termination. |
| 66 | */ |
68 | */ |
| 67 | thread_detach(THREAD); |
69 | thread_detach(THREAD); |
| - | 70 | ||
| - | 71 | #ifdef CONFIG_UDEBUG |
|
| - | 72 | udebug_stoppable_end(); |
|
| - | 73 | #endif |
|
| 68 | 74 | ||
| 69 | uarg.uspace_entry = ((uspace_arg_t *) arg)->uspace_entry; |
75 | uarg.uspace_entry = ((uspace_arg_t *) arg)->uspace_entry; |
| 70 | uarg.uspace_stack = ((uspace_arg_t *) arg)->uspace_stack; |
76 | uarg.uspace_stack = ((uspace_arg_t *) arg)->uspace_stack; |
| 71 | uarg.uspace_uarg = ((uspace_arg_t *) arg)->uspace_uarg; |
77 | uarg.uspace_uarg = ((uspace_arg_t *) arg)->uspace_uarg; |
| 72 | uarg.uspace_thread_function = NULL; |
78 | uarg.uspace_thread_function = NULL; |