aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/pmap.h
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2002-10-02 07:44:29 +0000
committerScott Long <scottl@FreeBSD.org>2002-10-02 07:44:29 +0000
commit316ec49abd15743784b47592c00d6297dabce21b (patch)
tree0a9cc28f7570a42ae4e5df4cfc55dee42c36d9d8 /sys/vm/pmap.h
parenta70e34ac714c1609edfcc248799d078d66ee5f79 (diff)
downloadsrc-316ec49abd15743784b47592c00d6297dabce21b.tar.gz
src-316ec49abd15743784b47592c00d6297dabce21b.zip
Some kernel threads try to do significant work, and the default KSTACK_PAGES
doesn't give them enough stack to do much before blowing away the pcb. This adds MI and MD code to allow the allocation of an alternate kstack who's size can be speficied when calling kthread_create. Passing the value 0 prevents the alternate kstack from being created. Note that the ia64 MD code is missing for now, and PowerPC was only partially written due to the pmap.c being incomplete there. Though this patch does not modify anything to make use of the alternate kstack, acpi and usb are good candidates. Reviewed by: jake, peter, jhb
Notes
Notes: svn path=/head/; revision=104354
Diffstat (limited to 'sys/vm/pmap.h')
-rw-r--r--sys/vm/pmap.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h
index 2ea797ee5069..69e7122b8089 100644
--- a/sys/vm/pmap.h
+++ b/sys/vm/pmap.h
@@ -128,8 +128,10 @@ void pmap_zero_page_area(vm_page_t, int off, int size);
void pmap_zero_page_idle(vm_page_t);
void pmap_prefault(pmap_t, vm_offset_t, vm_map_entry_t);
int pmap_mincore(pmap_t pmap, vm_offset_t addr);
-void pmap_new_thread(struct thread *td);
+void pmap_new_thread(struct thread *td, int pages);
void pmap_dispose_thread(struct thread *td);
+void pmap_new_altkstack(struct thread *td, int pages);
+void pmap_dispose_altkstack(struct thread *td);
void pmap_swapout_thread(struct thread *td);
void pmap_swapin_thread(struct thread *td);
void pmap_activate(struct thread *td);