MOS Source Code
Loading...
Searching...
No Matches
ipi.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: GPL-3.0-or-later
2
3
#pragma once
4
5
#include <
mos/types.h
>
6
#include <
mos/types.hpp
>
7
12
typedef
enum
13
{
14
IPI_TYPE_HALT
= 0,
// halt the CPU
15
IPI_TYPE_INVALIDATE_TLB
,
// TLB shootdown
16
IPI_TYPE_RESCHEDULE
,
// Reschedule
17
IPI_TYPE_MAX
,
18
}
ipi_type_t
;
19
20
MOS_STATIC_ASSERT
(
IPI_TYPE_MAX
<= (
u8
) 0xFF,
"IPI_TYPE_MAX must fit in a u8"
);
21
22
#define TARGET_CPU_ALL 0xFF
23
24
void
ipi_send
(
u8
target,
ipi_type_t
type);
25
void
ipi_send_all
(
ipi_type_t
type);
26
void
ipi_do_handle
(
ipi_type_t
type);
ipi_type_t
ipi_type_t
The type of IPI to send.
Definition
ipi.hpp:13
IPI_TYPE_RESCHEDULE
@ IPI_TYPE_RESCHEDULE
Definition
ipi.hpp:16
IPI_TYPE_MAX
@ IPI_TYPE_MAX
Definition
ipi.hpp:17
IPI_TYPE_HALT
@ IPI_TYPE_HALT
Definition
ipi.hpp:14
IPI_TYPE_INVALIDATE_TLB
@ IPI_TYPE_INVALIDATE_TLB
Definition
ipi.hpp:15
ipi_send_all
void ipi_send_all(ipi_type_t type)
ipi_do_handle
void ipi_do_handle(ipi_type_t type)
ipi_send
void ipi_send(u8 target, ipi_type_t type)
MOS_STATIC_ASSERT
#define MOS_STATIC_ASSERT
Definition
mos_global.h:14
types.h
u8
unsigned char u8
Definition
types.h:15
types.hpp
kernel
include
private
mos
interrupt
ipi.hpp
Generated on Tue Feb 18 2025 16:41:40 for MOS Source Code by
1.13.2