The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/arm/include/smp.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* $FreeBSD: releng/11.2/sys/arm/include/smp.h 298068 2016-04-15 16:05:41Z andrew $ */
    2 
    3 #ifndef _MACHINE_SMP_H_
    4 #define _MACHINE_SMP_H_
    5 
    6 #include <sys/_cpuset.h>
    7 #include <machine/pcb.h>
    8 
    9 #ifdef INTRNG
   10 enum {
   11         IPI_AST,
   12         IPI_PREEMPT,
   13         IPI_RENDEZVOUS,
   14         IPI_STOP,
   15         IPI_STOP_HARD = IPI_STOP, /* These are synonyms on arm. */
   16         IPI_HARDCLOCK,
   17         IPI_TLB,                /* Not used now, but keep it reserved. */
   18         IPI_CACHE,              /* Not used now, but keep it reserved. */
   19         INTR_IPI_COUNT
   20 };
   21 #else
   22 #define IPI_AST         0
   23 #define IPI_PREEMPT     2
   24 #define IPI_RENDEZVOUS  3
   25 #define IPI_STOP        4
   26 #define IPI_STOP_HARD   4
   27 #define IPI_HARDCLOCK   6
   28 #define IPI_TLB         7       /* Not used now, but keep it reserved. */
   29 #define IPI_CACHE       8       /* Not used now, but keep it reserved. */
   30 #endif /* INTRNG */
   31 
   32 void    init_secondary(int cpu);
   33 void    mpentry(void);
   34 
   35 void    ipi_all_but_self(u_int ipi);
   36 void    ipi_cpu(int cpu, u_int ipi);
   37 void    ipi_selected(cpuset_t cpus, u_int ipi);
   38 
   39 /* PIC interface */
   40 #ifndef INTRNG
   41 void    pic_ipi_send(cpuset_t cpus, u_int ipi);
   42 void    pic_ipi_clear(int ipi);
   43 int     pic_ipi_read(int arg);
   44 #endif
   45 
   46 /* Platform interface */
   47 void    platform_mp_setmaxid(void);
   48 void    platform_mp_start_ap(void);
   49 
   50 /* global data in mp_machdep.c */
   51 extern struct pcb               stoppcbs[];
   52 
   53 #endif /* !_MACHINE_SMP_H_ */

Cache object: 4ff9d6096ee79d4c8dcba6153e4b5073


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.