PERFORCE change 132433 for review
Warner Losh
imp at FreeBSD.org
Thu Jan 3 14:21:14 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=132433
Change 132433 by imp at imp_paco-paco on 2008/01/03 22:20:23
Make pm_machdep.c compile.
Affected files ...
.. //depot/projects/mips2-jnpr/src/sys/mips/include/cpu.h#5 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/include/pcb.h#4 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/include/pmap.h#6 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/mips/pm_machdep.c#3 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/mips/pmap.c#12 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#5 edit
Differences ...
==== //depot/projects/mips2-jnpr/src/sys/mips/include/cpu.h#5 (text+ko) ====
@@ -496,20 +496,20 @@
extern int intr_nesting_level;
#define func_0args_asmmacro(func, in) \
- asm volatile ( "jalr %0" \
+ __asm __volatile ( "jalr %0" \
: "=r" (in) /* outputs */ \
: "r" (func) /* inputs */ \
: "$31", "$4");
#define func_1args_asmmacro(func, arg0) \
- asm volatile ("move $4, %1;" \
+ __asm __volatile ("move $4, %1;" \
"jalr %0" \
: /* outputs */ \
: "r" (func), "r" (arg0) /* inputs */ \
: "$31", "$4");
#define func_2args_asmmacro(func, arg0, arg1) \
- asm volatile ("move $4, %1;" \
+ __asm __volatile ("move $4, %1;" \
"move $5, %2;" \
"jalr %0" \
: /* outputs */ \
@@ -517,7 +517,7 @@
: "$31", "$4", "$5");
#define func_3args_asmmacro(func, arg0, arg1, arg2) \
- asm volatile ( "move $4, %1;" \
+ __asm __volatile ( "move $4, %1;" \
"move $5, %2;" \
"move $6, %3;" \
"jalr %0" \
==== //depot/projects/mips2-jnpr/src/sys/mips/include/pcb.h#4 (text+ko) ====
@@ -58,7 +58,7 @@
extern struct pcb *curpcb; /* the current running pcb */
void makectx(struct trapframe *, struct pcb *);
-void savectx(struct pcb *);
+int savectx(struct pcb *);
#endif
#endif /* !_MACHINE_PCB_H_ */
==== //depot/projects/mips2-jnpr/src/sys/mips/include/pmap.h#6 (text+ko) ====
==== //depot/projects/mips2-jnpr/src/sys/mips/mips/pm_machdep.c#3 (text+ko) ====
@@ -46,6 +46,7 @@
#include <sys/proc.h>
#include <sys/signalvar.h>
#include <sys/exec.h>
+#include <sys/imgact.h>
#include <sys/ucontext.h>
#include <sys/lock.h>
#include <sys/sysproto.h>
@@ -78,18 +79,20 @@
* specified pc, psl.
*/
void
-sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
+sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
{
struct proc *p;
struct thread *td;
struct trapframe *regs;
struct sigacts *psp;
struct sigframe sf, *sfp;
+ int sig;
int oonstack;
td = curthread;
p = td->td_proc;
PROC_LOCK_ASSERT(p, MA_OWNED);
+ sig = ksi->ksi_signo;
psp = p->p_sigacts;
mtx_assert(&psp->ps_mtx, MA_OWNED);
@@ -143,11 +146,11 @@
/* fill siginfo structure */
sf.sf_si.si_signo = sig;
- sf.sf_si.si_code = code;
+ sf.sf_si.si_code = ksi->ksi_code;
sf.sf_si.si_addr = (void*)regs->badvaddr;
} else {
/* Old FreeBSD-style arguments. */
- regs->a1 = code;
+ regs->a1 = ksi->ksi_code;
regs->a3 = regs->badvaddr;
/* sf.sf_ahu.sf_handler = catcher; */
}
@@ -178,6 +181,7 @@
mtx_lock(&psp->ps_mtx);
}
+#ifdef GONE_IN_7
/*
* Build siginfo_t for SA thread
*/
@@ -196,6 +200,7 @@
si->si_code = code;
/* XXXKSE fill other fields */
}
+#endif
/*
* System call to cleanup state after a signal
@@ -224,7 +229,7 @@
/* #ifdef DEBUG */
if (ucp->uc_mcontext.mc_regs[ZERO] != UCONTEXT_MAGIC) {
- printf("sigreturn: pid %d, ucp %x\n", p->p_pid, ucp);
+ printf("sigreturn: pid %d, ucp %p\n", p->p_pid, ucp);
printf(" old sp %x ra %x pc %x\n",
regs->sp, regs->ra, regs->pc);
printf(" new sp %x ra %x pc %x z %x\n",
@@ -310,8 +315,6 @@
int i;
int bpinstr = BREAK_SSTEP;
int curinstr;
- struct uio uio;
- struct iovec iov;
struct proc *p;
p = td->td_proc;
@@ -506,8 +509,6 @@
ptrace_clear_single_step(struct thread *td)
{
int i;
- struct uio uio;
- struct iovec iov;
struct proc *p;
p = td->td_proc;
@@ -532,8 +533,8 @@
}
void
-cpu_switch(struct thread *old, struct thread *new)
+cpu_switch(struct thread *old, struct thread *new, struct mtx * new_lock)
{
-
+ /* XXX this is lame, maybe, but we ignore new_lock */
func_2args_asmmacro(&mips_cpu_switch, old, new);
}
==== //depot/projects/mips2-jnpr/src/sys/mips/mips/pmap.c#12 (text+ko) ====
==== //depot/projects/mips2-jnpr/src/sys/mips/mips/swtch.S#5 (text+ko) ====
@@ -230,6 +230,8 @@
/*
+ *XXX Fixme: should be written to new interface that requires lock
+ * storage. We fake it for now.
* mips_cpu_switch(struct thread *old, struct thread *new);
* Find the highest priority process and resume it.
*/
More information about the p4-projects
mailing list