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 --- |