Rev 3386 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3386 | Rev 4153 | ||
---|---|---|---|
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; |