Date: Fri, 4 Apr 2003 22:22:16 -0800 (PST) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 28181 for review Message-ID: <200304050622.h356MGNk020010@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=28181 Change 28181 by peter@peter_overcee on 2003/04/04 22:21:32 make this compile. Not finished by a long shot. Affected files ... .. //depot/projects/hammer/sys/x86_64/x86_64/vm_machdep.c#13 edit Differences ... ==== //depot/projects/hammer/sys/x86_64/x86_64/vm_machdep.c#13 (text+ko) ==== @@ -41,7 +41,6 @@ * $FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.204 2003/03/30 05:24:52 jake Exp $ */ -#include "opt_reset.h" #include "opt_isa.h" #include "opt_kstack_pages.h" @@ -127,9 +126,9 @@ td2->td_frame = (struct trapframe *)td2->td_pcb - 1; bcopy(td1->td_frame, td2->td_frame, sizeof(struct trapframe)); - td2->td_frame->tf_eax = 0; /* Child returns zero */ - td2->td_frame->tf_eflags &= ~PSL_C; /* success */ - td2->td_frame->tf_edx = 1; + td2->td_frame->tf_rax = 0; /* Child returns zero */ + td2->td_frame->tf_rflags &= ~PSL_C; /* success */ + td2->td_frame->tf_rdx = 1; /* * Set registers for trampoline to user mode. Leave space for the @@ -143,10 +142,10 @@ pcb2->pcb_edi = 0; pcb2->pcb_esi = (int)fork_return; /* fork_trampoline argument */ pcb2->pcb_ebp = 0; - pcb2->pcb_esp = (int)td2->td_frame - sizeof(void *); - pcb2->pcb_ebx = (int)td2; /* fork_trampoline argument */ - pcb2->pcb_eip = (int)fork_trampoline; - pcb2->pcb_psl = td2->td_frame->tf_eflags & ~PSL_I; /* ints disabled */ + pcb2->pcb_esp = (long)td2->td_frame - sizeof(void *); + pcb2->pcb_ebx = (long)td2; /* fork_trampoline argument */ + pcb2->pcb_eip = (long)fork_trampoline; + pcb2->pcb_psl = td2->td_frame->tf_rflags & ~PSL_I; /* ints disabled */ /*- * pcb2->pcb_savefpu: cloned above. * pcb2->pcb_flags: cloned above. @@ -181,8 +180,8 @@ * Note that the trap frame follows the args, so the function * is really called like this: func(arg, frame); */ - td->td_pcb->pcb_esi = (int) func; /* function */ - td->td_pcb->pcb_ebx = (int) arg; /* first arg */ + td->td_pcb->pcb_esi = (long) func; /* function */ + td->td_pcb->pcb_ebx = (long) arg; /* first arg */ } void @@ -196,7 +195,6 @@ void cpu_thread_exit(struct thread *td) { - struct pcb *pcb = td->td_pcb; npxexit(td); } @@ -269,14 +267,12 @@ * to do the reset here would then end up in no man's land. */ -#if !defined(BROKEN_KEYBOARD_RESET) outb(IO_KBD + 4, 0xFE); DELAY(500000); /* wait 0.5 sec to see if that did it */ printf("Keyboard reset did not work, attempting CPU shutdown\n"); DELAY(1000000); /* wait 1 sec for printf to complete */ -#endif /* force a shutdown by unmapping entire address space ! */ - bzero((caddr_t)PTD, NBPTD); + bzero((caddr_t)PML4, NBPML4T); /* "good night, sweet prince .... <THUNK!>" */ invltlb();home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304050622.h356MGNk020010>
