45d426a34e
mips32r2 and mips64r2 (and close relatives) processors. There presently is support for ADMtek ADM5120, A mips 4Kc in a malta board, the RB533 routerboard (based on IDT RC32434) and some preliminary support for sibtye/broadcom designs. Other hardware support will be forthcomcing. This port boots multiuser under gxemul emulating the malta board and also bootstraps on the hardware whose support is forthcoming... Oleksandr Tymoshenko, Wojciech Koszek, Warner Losh, Olivier Houchard, Randall Stewert and others that have contributed to the mips2 and/or mips2-jnpr perforce branches. Juniper contirbuted a generic mips port late in the life cycle of the misp2 branch. Warner Losh merged the mips2 and Juniper code bases, and others list above have worked for the past several months to get to multiuser. In addition, the mips2 work owe a debt to the trail blazing efforts of the original mips branch in perforce done by Juli Mallett.
44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
/*-
|
|
* ----------------------------------------------------------------------------
|
|
* "THE BEER-WARE LICENSE" (Revision 42):
|
|
* <phk@FreeBSD.org> wrote this file. As long as you retain this notice you
|
|
* can do whatever you want with this stuff. If we meet some day, and you think
|
|
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
|
|
* ----------------------------------------------------------------------------
|
|
*
|
|
* from: src/sys/alpha/include/smp.h,v 1.8 2005/01/05 20:05:50 imp
|
|
* JNPR: smp.h,v 1.3 2006/12/02 09:53:41 katta
|
|
* $FreeBSD$
|
|
*
|
|
*/
|
|
|
|
#ifndef _MACHINE_SMP_H_
|
|
#define _MACHINE_SMP_H_
|
|
|
|
#ifdef _KERNEL
|
|
|
|
/*
|
|
* Interprocessor interrupts for SMP.
|
|
*/
|
|
#define IPI_INVLTLB 0x0001
|
|
#define IPI_RENDEZVOUS 0x0002
|
|
#define IPI_AST 0x0004
|
|
#define IPI_STOP 0x0008
|
|
|
|
#ifndef LOCORE
|
|
|
|
extern u_int32_t boot_cpu_id;
|
|
|
|
void ipi_selected(u_int cpus, u_int32_t ipi);
|
|
void ipi_all(u_int32_t ipi);
|
|
void ipi_all_but_self(u_int32_t ipi);
|
|
void ipi_self(u_int32_t ipi);
|
|
intrmask_t smp_handle_ipi(struct trapframe *frame);
|
|
void smp_init_secondary(u_int32_t cpuid);
|
|
void mips_ipi_send(int thread_id);
|
|
|
|
#endif /* !LOCORE */
|
|
#endif /* _KERNEL */
|
|
|
|
#endif /* _MACHINE_SMP_H_ */
|