diff options
author | peter <peter@FreeBSD.org> | 2002-07-07 22:56:31 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2002-07-07 22:56:31 +0000 |
commit | 9ed546fad03342ad6c879e512a76b9830af82d26 (patch) | |
tree | ba936622df0cf39e02d094ebfeb091c9d8343733 /sys/powerpc/aim | |
parent | 2727877234c5ed40022f04e2f08480992cd0b632 (diff) | |
download | FreeBSD-src-9ed546fad03342ad6c879e512a76b9830af82d26.zip FreeBSD-src-9ed546fad03342ad6c879e512a76b9830af82d26.tar.gz |
Update for post-kse3 pmap kthread allocation changes
Diffstat (limited to 'sys/powerpc/aim')
-rw-r--r-- | sys/powerpc/aim/mmu_oea.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index afeb8ce..691c6f9 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -1543,25 +1543,19 @@ pmap_new_thread(struct thread *td) /* * Allocate object for the kstack. */ - ksobj = td->td_kstack_obj; - if (ksobj == NULL) { - ksobj = vm_object_allocate(OBJT_DEFAULT, KSTACK_PAGES); - td->td_kstack_obj = ksobj; - } + ksobj = vm_object_allocate(OBJT_DEFAULT, KSTACK_PAGES); + td->td_kstack_obj = ksobj; /* * Get a kernel virtual address for the kstack for this thread. */ - ks = td->td_kstack; - if (ks == 0) { - ks = kmem_alloc_nofault(kernel_map, - (KSTACK_PAGES + KSTACK_GUARD_PAGES) * PAGE_SIZE); - if (ks == 0) - panic("pmap_new_thread: kstack allocation failed"); - TLBIE(ks); - ks += KSTACK_GUARD_PAGES * PAGE_SIZE; - td->td_kstack = ks; - } + ks = kmem_alloc_nofault(kernel_map, + (KSTACK_PAGES + KSTACK_GUARD_PAGES) * PAGE_SIZE); + if (ks == 0) + panic("pmap_new_thread: kstack allocation failed"); + TLBIE(ks); + ks += KSTACK_GUARD_PAGES * PAGE_SIZE; + td->td_kstack = ks; for (i = 0; i < KSTACK_PAGES; i++) { /* |