122,17 → 122,21 |
* Create the first user task. |
*/ |
m = vm_create(NULL); |
if (!m) panic("vm_create"); |
if (!m) |
panic("vm_create"); |
u = task_create(m); |
if (!u) panic("task_create"); |
if (!u) |
panic("task_create"); |
t = thread_create(uinit, NULL, u, THREAD_USER_STACK); |
if (!t) panic("thread_create"); |
if (!t) |
panic("thread_create"); |
|
/* |
* Create the text vm_area and copy the userspace code there. |
*/ |
a = vm_area_create(m, VMA_TEXT, 1, UTEXT_ADDRESS); |
if (!a) panic("vm_area_create: vm_text"); |
if (!a) |
panic("vm_area_create: vm_text"); |
vm_area_map(a, m); |
memcpy((void *) PA2KA(a->mapping[0]), (void *) utext, utext_size < PAGE_SIZE ? utext_size : PAGE_SIZE); |
|
140,7 → 144,8 |
* Create the data vm_area. |
*/ |
a = vm_area_create(m, VMA_STACK, 1, USTACK_ADDRESS); |
if (!a) panic("vm_area_create: vm_stack"); |
if (!a) |
panic("vm_area_create: vm_stack"); |
vm_area_map(a, m); |
|
thread_ready(t); |