Date: Thu, 6 Jul 2006 23:05:37 GMT From: Bruce M Simpson <bms@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 100815 for review Message-ID: <200607062305.k66N5bGp058559@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=100815 Change 100815 by bms@bms_montagne on 2006/07/06 23:04:42 Bring in stubs from old mips branch Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/machdep.c#2 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/machdep.c#2 (text+ko) ==== @@ -1,21 +1,21 @@ /*- - * Copyright (c) 2006 Fill this file and put your name here + * Copyright (c) 2002-2004 Juli Mallett <jmallett@FreeBSD.org> * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification, immediately at the beginning of the file. - * 2. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT @@ -23,7 +23,217 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * + * $FreeBSD$ + */ + +#include "opt_ddb.h" + +#include <sys/param.h> +#include <sys/conf.h> +#include <sys/kernel.h> +#include <sys/systm.h> +#include <sys/imgact.h> +#include <sys/bio.h> +#include <sys/buf.h> +#include <sys/bus.h> +#include <sys/cpu.h> +#include <sys/ucontext.h> +#include <sys/proc.h> +#include <sys/kdb.h> +#include <sys/ptrace.h> +#include <sys/reboot.h> +#include <sys/user.h> + +#include <vm/vm.h> +#include <vm/vm_object.h> +#include <vm/vm_page.h> +#include <vm/vm_pager.h> + +#include <machine/cache.h> +#include <machine/cpu.h> +#include <machine/cpufunc.h> +#include <machine/cpuinfo.h> +#include <machine/cpuregs.h> +#include <machine/hwfunc.h> +#include <machine/locore.h> +#include <machine/md_var.h> +#include <machine/pte.h> +#include <machine/tlb.h> + +#ifdef DDB +#include <ddb/ddb.h> +#endif + +int cold = 1; +int clocks_running; + +static struct pcpu pcpu0; +struct pcpu *pcpup = &pcpu0; + +struct cpu_info cpu_info_store; + +struct kva_md_info kmi; + +vm_offset_t kstack0; + +void cpu_startup(void *); +SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL); + +void +mips_init(void) +{ + init_param2(physmem); + mips_cpu_init(); + pmap_bootstrap(); + + proc_linkup(&proc0, &ksegrp0, &thread0); + thread0.td_kstack = kstack0; + pcpu_init(pcpup, 0, sizeof(struct pcpu)); + pcpup->pc_curthread = &thread0; + cpu_thread_setup(curthread); + pcpup->pc_curpcb = curthread->td_pcb; + mutex_init(); +#ifdef DDB + kdb_init(); +#endif +} + +void +cpu_startup(void *dummy) +{ + cpu_identify(); + platform_identify(); + vm_ksubmap_init(&kmi); + bufinit(); + vm_pager_bufferinit(); +} + +/* Get current clock frequency for the given cpu id. */ +int +cpu_est_clockrate(int cpu_id, uint64_t *rate) +{ + return (ENXIO); +} + +void +cpu_halt(void) +{ + printf("Halting...\n"); + platform_halt(); +} + +void +cpu_idle(void) +{ + /* Insert code to halt (until next interrupt) for the idle loop */ +} + +void +cpu_reset(void) +{ + printf("Resetting...\n"); + platform_reset(); +} + +void +dumpsys(struct dumperinfo *dip) +{ +} + +/* + * Construct a PCB from a trapframe. This is called from kdb_trap() where + * we want to start a backtrace from the function that caused us to enter + * the debugger. We have the context in the trapframe, but base the trace + * on the PCB. The PCB doesn't have to be perfect, as long as it contains + * enough for a backtrace. */ +void +makectx(struct trapframe *tf, struct pcb *pcb) +{ + pcb->pcb_regs[PCB_REG_SR] = tf->tf_regs[TF_SR]; + pcb->pcb_regs[PCB_REG_RA] = tf->tf_regs[TF_RA]; + pcb->pcb_regs[PCB_REG_SP] = tf->tf_regs[TF_SP]; +} + + +int +get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret) +{ + return (0); +} + +int +set_mcontext(struct thread *td, const mcontext_t *mcp) +{ + return (0); +} + +int +fill_regs(struct thread *td, struct reg *regs) +{ + return (0); +} + +int +fill_dbregs(struct thread *td, struct dbreg *dbregs) +{ + return (0); +} + +int +fill_fpregs(struct thread *td, struct fpreg *fpregs) +{ + return (0); +} -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); +int +set_regs(struct thread *td, struct reg *regs) +{ + return (0); +} + +int +set_dbregs(struct thread *td, struct dbreg *dbregs) +{ + return (0); +} + +int +set_fpregs(struct thread *td, struct fpreg *fpregs) +{ + return (0); +} + +int +ptrace_set_pc(struct thread *td, u_long addr) +{ + return (0); +} + +int +ptrace_clear_single_step(struct thread *td) +{ + return (0); +} + +int +ptrace_single_step(struct thread *td) +{ + return (0); +} + +void +cpu_pcpu_init(struct pcpu *pcpu, int cpuid, size_t sz) +{ +} + +void +exec_setregs(struct thread *td, u_long entry, u_long stack, u_long ps_strings) +{ +} + +intptr_t +casuptr(intptr_t *p, intptr_t old, intptr_t new) +{ + return (-1); +}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607062305.k66N5bGp058559>