apicvar.h (2aaf9152a852aba9eb2036b95f4948ee77988826) apicvar.h (1c29da02798d968eb874b86221333a56393a94c3)
1/*-
2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 *
4 * Copyright (c) 2003 John Baldwin <jhb@FreeBSD.org>
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 109 unchanged lines hidden (view full) ---

118#define IPI_INVLCACHE (APIC_IPI_INTS + 4)
119/* Vector to handle bitmap based IPIs */
120#define IPI_BITMAP_VECTOR (APIC_IPI_INTS + 5)
121
122/* IPIs handled by IPI_BITMAP_VECTOR */
123#define IPI_AST 0 /* Generate software trap. */
124#define IPI_PREEMPT 1
125#define IPI_HARDCLOCK 2
1/*-
2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 *
4 * Copyright (c) 2003 John Baldwin <jhb@FreeBSD.org>
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 109 unchanged lines hidden (view full) ---

118#define IPI_INVLCACHE (APIC_IPI_INTS + 4)
119/* Vector to handle bitmap based IPIs */
120#define IPI_BITMAP_VECTOR (APIC_IPI_INTS + 5)
121
122/* IPIs handled by IPI_BITMAP_VECTOR */
123#define IPI_AST 0 /* Generate software trap. */
124#define IPI_PREEMPT 1
125#define IPI_HARDCLOCK 2
126#define IPI_BITMAP_LAST IPI_HARDCLOCK
126#define IPI_TRACE 3 /* Collect stack trace. */
127#define IPI_BITMAP_LAST IPI_TRACE
127#define IPI_IS_BITMAPED(x) ((x) <= IPI_BITMAP_LAST)
128
129#define IPI_STOP (APIC_IPI_INTS + 6) /* Stop CPU until restarted. */
130#define IPI_SUSPEND (APIC_IPI_INTS + 7) /* Suspend CPU until restarted. */
131#define IPI_DYN_FIRST (APIC_IPI_INTS + 8)
128#define IPI_IS_BITMAPED(x) ((x) <= IPI_BITMAP_LAST)
129
130#define IPI_STOP (APIC_IPI_INTS + 6) /* Stop CPU until restarted. */
131#define IPI_SUSPEND (APIC_IPI_INTS + 7) /* Suspend CPU until restarted. */
132#define IPI_DYN_FIRST (APIC_IPI_INTS + 8)
132#define IPI_DYN_LAST (253) /* IPIs allocated at runtime */
133#define IPI_DYN_LAST (254) /* IPIs allocated at runtime */
133
134/*
135 * IPI_STOP_HARD does not need to occupy a slot in the IPI vector space since
136 * it is delivered using an NMI anyways.
137 */
134
135/*
136 * IPI_STOP_HARD does not need to occupy a slot in the IPI vector space since
137 * it is delivered using an NMI anyways.
138 */
138#define IPI_NMI_FIRST 254
139#define IPI_TRACE 254 /* Interrupt for tracing. */
139#define IPI_NMI_FIRST 255
140#define IPI_STOP_HARD 255 /* Stop CPU with a NMI. */
141
142/*
143 * The spurious interrupt can share the priority class with the IPIs since
144 * it is not a normal interrupt. (Does not use the APIC's interrupt fifo)
145 */
146#define APIC_SPURIOUS_INT 255
147

--- 344 unchanged lines hidden ---
140#define IPI_STOP_HARD 255 /* Stop CPU with a NMI. */
141
142/*
143 * The spurious interrupt can share the priority class with the IPIs since
144 * it is not a normal interrupt. (Does not use the APIC's interrupt fifo)
145 */
146#define APIC_SPURIOUS_INT 255
147

--- 344 unchanged lines hidden ---