mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-16 10:20:30 +00:00
Remove the old APIC I/O higher level IPI API in favor of the newer MI
API for IPI's that isn't tied to the Intel APIC. MD code can still use the apic_ipi() function or dink with the apic directly if needed to send MD IPI's.
This commit is contained in:
parent
3e6b5668b4
commit
8f3b4b873c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=75396
@ -242,7 +242,7 @@ i686_mrstore(struct mem_range_softc *sc)
|
||||
{
|
||||
#ifdef SMP
|
||||
/*
|
||||
* We should use all_but_self_ipi() to call other CPUs into a
|
||||
* We should use smp_ipi_all_but_self() to call other CPUs into a
|
||||
* locking gate, then call a target function to do this work.
|
||||
* The "proper" solution involves a generalised locking gate
|
||||
* implementation, not ready yet.
|
||||
|
@ -242,7 +242,7 @@ i686_mrstore(struct mem_range_softc *sc)
|
||||
{
|
||||
#ifdef SMP
|
||||
/*
|
||||
* We should use all_but_self_ipi() to call other CPUs into a
|
||||
* We should use smp_ipi_all_but_self() to call other CPUs into a
|
||||
* locking gate, then call a target function to do this work.
|
||||
* The "proper" solution involves a generalised locking gate
|
||||
* implementation, not ready yet.
|
||||
|
@ -28,10 +28,6 @@
|
||||
#ifndef _MACHINE_MPAPIC_H_
|
||||
#define _MACHINE_MPAPIC_H_
|
||||
|
||||
#include <machine/apic.h>
|
||||
|
||||
#include <i386/isa/icu.h>
|
||||
|
||||
/*
|
||||
* Size of APIC ID list.
|
||||
* Also used a MAX size of various other arrays.
|
||||
@ -60,46 +56,4 @@ enum busTypes {
|
||||
#define IO_TO_ID(IO) (io_num_to_apic_id[IO])
|
||||
#define ID_TO_IO(ID) (apic_id_to_logical[ID])
|
||||
|
||||
|
||||
/*
|
||||
* send an IPI INTerrupt containing 'vector' to CPUs in 'targetMap'
|
||||
* 'targetMap' is a bitfiled of length 14,
|
||||
* APIC #0 == bit 0, ..., APIC #14 == bit 14
|
||||
* NOTE: these are LOGICAL APIC IDs
|
||||
*/
|
||||
static __inline int
|
||||
selected_procs_ipi(int targetMap, int vector)
|
||||
{
|
||||
return selected_apic_ipi(targetMap, vector, APIC_DELMODE_FIXED);
|
||||
}
|
||||
|
||||
/*
|
||||
* send an IPI INTerrupt containing 'vector' to all CPUs, including myself
|
||||
*/
|
||||
static __inline int
|
||||
all_procs_ipi(int vector)
|
||||
{
|
||||
return apic_ipi(APIC_DEST_ALLISELF, vector, APIC_DELMODE_FIXED);
|
||||
}
|
||||
|
||||
/*
|
||||
* send an IPI INTerrupt containing 'vector' to all CPUs EXCEPT myself
|
||||
*/
|
||||
static __inline int
|
||||
all_but_self_ipi(int vector)
|
||||
{
|
||||
if (mp_ncpus <= 1)
|
||||
return 0;
|
||||
return apic_ipi(APIC_DEST_ALLESELF, vector, APIC_DELMODE_FIXED);
|
||||
}
|
||||
|
||||
/*
|
||||
* send an IPI INTerrupt containing 'vector' to myself
|
||||
*/
|
||||
static __inline int
|
||||
self_ipi(int vector)
|
||||
{
|
||||
return apic_ipi(APIC_DEST_SELF, vector, APIC_DELMODE_FIXED);
|
||||
}
|
||||
|
||||
#endif /* _MACHINE_MPAPIC_H */
|
||||
|
Loading…
Reference in New Issue
Block a user