diff options
author | Jeff Roberson <jeff@FreeBSD.org> | 2003-02-17 05:14:26 +0000 |
---|---|---|
committer | Jeff Roberson <jeff@FreeBSD.org> | 2003-02-17 05:14:26 +0000 |
commit | 5215b1872feaad7ecf7cb1234749ecf04071deef (patch) | |
tree | cb2703bfafc305c3d31849f9db4c5de6aee18706 /sys/amd64/amd64/vm_machdep.c | |
parent | 50cc4892cb72626c307d6eaf88b52cfeeccfed7c (diff) | |
download | src-5215b1872feaad7ecf7cb1234749ecf04071deef.tar.gz src-5215b1872feaad7ecf7cb1234749ecf04071deef.zip |
- Split the struct kse into struct upcall and struct kse. struct kse will
soon be visible only to schedulers. This greatly simplifies much the
KSE code.
Submitted by: davidxu
Notes
Notes:
svn path=/head/; revision=111028
Diffstat (limited to 'sys/amd64/amd64/vm_machdep.c')
-rw-r--r-- | sys/amd64/amd64/vm_machdep.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c index 823cad9000a6..903a2b090743 100644 --- a/sys/amd64/amd64/vm_machdep.c +++ b/sys/amd64/amd64/vm_machdep.c @@ -312,8 +312,6 @@ cpu_set_upcall(struct thread *td, void *pcb) { struct pcb *pcb2; - td->td_flags |= TDF_UPCALLING; - /* Point the pcb to the top of the stack. */ pcb2 = td->td_pcb; @@ -370,7 +368,7 @@ cpu_set_upcall(struct thread *td, void *pcb) * in thread_userret() itself can be done as well. */ void -cpu_set_upcall_kse(struct thread *td, struct kse *ke) +cpu_set_upcall_kse(struct thread *td, struct kse_upcall *ku) { /* @@ -387,15 +385,15 @@ cpu_set_upcall_kse(struct thread *td, struct kse *ke) * function. */ td->td_frame->tf_esp = - (int)ke->ke_stack.ss_sp + ke->ke_stack.ss_size - 16; - td->td_frame->tf_eip = (int)ke->ke_upcall; + (int)ku->ku_stack.ss_sp + ku->ku_stack.ss_size - 16; + td->td_frame->tf_eip = (int)ku->ku_func; /* * Pass the address of the mailbox for this kse to the uts * function as a parameter on the stack. */ suword((void *)(td->td_frame->tf_esp + sizeof(void *)), - (int)ke->ke_mailbox); + (int)ku->ku_mailbox); } void |