kernel: Rename basic "int" functions to "interrupt" (or at least "intr").
"int" of course is also an abbrevation for "integer", so having
two abbreviations is sometimes confusing. The BeOS functions
just use "interrupt" (e.g. "install_io_interrupt_handler"); it
seems we inherited the "int" abbreviation from NewOS.
The basic kernel methods and files related to interrupts are
here adjusted to drop the abbreviation and just use "interrupt(s)".
The architecture-specific functions ("arch_int_*") are mostly
moment left alone for now, though of course architecture-specific
usages of the generic kernel methods are adjusted.
Change-Id: Ic113ea1280a3c78e25f8ca3cc55b24ed5f594eae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9119
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
ed5c4d8a2d
commit
a97c4affc9
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
#include <timer.h>
|
#include <timer.h>
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
||||||
* Distributed under the terms of the NewOS License.
|
* Distributed under the terms of the NewOS License.
|
||||||
*/
|
*/
|
||||||
#ifndef _KERNEL_INT_H
|
#ifndef _KERNEL_INTERRUPTS_H
|
||||||
#define _KERNEL_INT_H
|
#define _KERNEL_INTERRUPTS_H
|
||||||
|
|
||||||
|
|
||||||
#include <KernelExport.h>
|
#include <KernelExport.h>
|
||||||
@@ -47,11 +47,11 @@ struct irq_assignment {
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
status_t int_init(struct kernel_args* args);
|
status_t interrupts_init(struct kernel_args* args);
|
||||||
status_t int_init_post_vm(struct kernel_args* args);
|
status_t interrupts_init_post_vm(struct kernel_args* args);
|
||||||
status_t int_init_io(struct kernel_args* args);
|
status_t interrupts_init_io(struct kernel_args* args);
|
||||||
status_t int_init_post_device_manager(struct kernel_args* args);
|
status_t interrupts_init_post_device_manager(struct kernel_args* args);
|
||||||
int int_io_interrupt_handler(int vector, bool levelTriggered);
|
int io_interrupt_handler(int vector, bool levelTriggered);
|
||||||
|
|
||||||
bool interrupts_enabled(void);
|
bool interrupts_enabled(void);
|
||||||
|
|
||||||
@@ -85,4 +85,5 @@ void free_io_interrupt_vectors(int32 count, int32 startVector);
|
|||||||
|
|
||||||
void assign_io_interrupt_to_cpu(int32 vector, int32 cpu);
|
void assign_io_interrupt_to_cpu(int32 vector, int32 cpu);
|
||||||
|
|
||||||
#endif /* _KERNEL_INT_H */
|
|
||||||
|
#endif /* _KERNEL_INTERRUPTS_H */
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
#include <thread_types.h>
|
#include <thread_types.h>
|
||||||
|
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ int32 smp_get_num_cpus(void);
|
|||||||
void smp_set_num_cpus(int32 numCPUs);
|
void smp_set_num_cpus(int32 numCPUs);
|
||||||
int32 smp_get_current_cpu(void);
|
int32 smp_get_current_cpu(void);
|
||||||
|
|
||||||
int smp_intercpu_int_handler(int32 cpu);
|
int smp_intercpu_interrupt_handler(int32 cpu);
|
||||||
|
|
||||||
void call_single_cpu(uint32 targetCPU, void (*func)(void*, int), void* cookie);
|
void call_single_cpu(uint32 targetCPU, void (*func)(void*, int), void* cookie);
|
||||||
void call_single_cpu_sync(uint32 targetCPU, void (*func)(void*, int),
|
void call_single_cpu_sync(uint32 targetCPU, void (*func)(void*, int),
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#include <shared/AutoLocker.h>
|
#include <shared/AutoLocker.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <lock.h>
|
#include <lock.h>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include "DWPCIController.h"
|
#include "DWPCIController.h"
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
@@ -104,7 +104,7 @@ MsiInterruptCtrlDW::InterruptReceivedInt()
|
|||||||
for (int i = 0; i < 32; i++) {
|
for (int i = 0; i < 32; i++) {
|
||||||
if (((1 << i) & status) != 0) {
|
if (((1 << i) & status) != 0) {
|
||||||
// dprintf("MSI IRQ: %d (%ld)\n", i, fStartMsiIrq + i);
|
// dprintf("MSI IRQ: %d (%ld)\n", i, fStartMsiIrq + i);
|
||||||
int_io_interrupt_handler(fMsiStartIrq + i, false);
|
io_interrupt_handler(fMsiStartIrq + i, false);
|
||||||
fDbiRegs->msiIntr[0].status = (1 << i);
|
fDbiRegs->msiIntr[0].status = (1 << i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <fs/devfs.h>
|
#include <fs/devfs.h>
|
||||||
#include <int.h>
|
|
||||||
|
|
||||||
#include <virtio_input_driver.h>
|
#include <virtio_input_driver.h>
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ extern "C" {
|
|||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include <compat/dev/pci/pcireg.h>
|
#include <compat/dev/pci/pcireg.h>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
#include_next <sys/systm.h>
|
#include_next <sys/systm.h>
|
||||||
#include <sys/kernel.h>
|
#include <sys/kernel.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
|
|
||||||
#define INFSLP UINT64_MAX
|
#define INFSLP UINT64_MAX
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ KernelMergeObject kernel_core.o :
|
|||||||
guarded_heap.cpp
|
guarded_heap.cpp
|
||||||
heap.cpp
|
heap.cpp
|
||||||
image.cpp
|
image.cpp
|
||||||
int.cpp
|
interrupts.cpp
|
||||||
kernel_daemon.cpp
|
kernel_daemon.cpp
|
||||||
linkhack.c
|
linkhack.c
|
||||||
listeners.cpp
|
listeners.cpp
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include <arch_cpu_defs.h>
|
#include <arch_cpu_defs.h>
|
||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
* Copyright 2021-2022 Haiku, Inc. All rights reserved.
|
* Copyright 2021-2022 Haiku, Inc. All rights reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
#include <int.h>
|
|
||||||
|
#include <interrupts.h>
|
||||||
#include <interrupt_controller.h>
|
#include <interrupt_controller.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
@@ -80,7 +81,7 @@ void GICv2InterruptController::HandleInterrupt()
|
|||||||
if ((irqnr == 1022) || (irqnr == 1023)) {
|
if ((irqnr == 1022) || (irqnr == 1023)) {
|
||||||
dprintf("spurious interrupt\n");
|
dprintf("spurious interrupt\n");
|
||||||
} else {
|
} else {
|
||||||
int_io_interrupt_handler(irqnr, true);
|
io_interrupt_handler(irqnr, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
fGiccRegs[GICC_REG_EOIR] = iar;
|
fGiccRegs[GICC_REG_EOIR] = iar;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
#include <boot/stage2.h>
|
#include <boot/stage2.h>
|
||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <debugger.h>
|
#include <debugger.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <arch/user_debugger.h>
|
#include <arch/user_debugger.h>
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
#include <arch_system_info.h>
|
#include <arch_system_info.h>
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
#include <vm/VMAddressSpace.h>
|
#include <vm/VMAddressSpace.h>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
#include <SupportDefs.h>
|
#include <SupportDefs.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
|
|
||||||
#include <arm_mmu.h>
|
#include <arm_mmu.h>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
class InterruptController;
|
class InterruptController;
|
||||||
|
|
||||||
#include <drivers/bus/FDT.h>
|
#include <drivers/bus/FDT.h>
|
||||||
#include <private/kernel/int.h>
|
#include <private/kernel/interrupts.h>
|
||||||
#include <private/kernel/timer.h>
|
#include <private/kernel/timer.h>
|
||||||
|
|
||||||
// ------------------------------------------------------ InterruptController
|
// ------------------------------------------------------ InterruptController
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ OMAP3InterruptController::HandleInterrupt()
|
|||||||
irqnr &= 0x7f; /* ACTIVEIRQ */
|
irqnr &= 0x7f; /* ACTIVEIRQ */
|
||||||
|
|
||||||
if (irqnr) {
|
if (irqnr) {
|
||||||
int_io_interrupt_handler(irqnr, true);
|
io_interrupt_handler(irqnr, true);
|
||||||
handledIRQ = true;
|
handledIRQ = true;
|
||||||
}
|
}
|
||||||
} while(irqnr);
|
} while(irqnr);
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ PXAInterruptController::HandleInterrupt()
|
|||||||
{
|
{
|
||||||
for (int i=0; i < 32; i++) {
|
for (int i=0; i < 32; i++) {
|
||||||
if (fRegBase[PXA_ICIP] & (1 << i))
|
if (fRegBase[PXA_ICIP] & (1 << i))
|
||||||
int_io_interrupt_handler(i, true);
|
io_interrupt_handler(i, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,17 +56,17 @@ Sun4iInterruptController::HandleInterrupt()
|
|||||||
// FIXME can we use the hardware managed interrupt vector instead?
|
// FIXME can we use the hardware managed interrupt vector instead?
|
||||||
for (int i=0; i < 32; i++) {
|
for (int i=0; i < 32; i++) {
|
||||||
if (fRegBase[SUN4I_INTC_PEND_REG0] & (1 << i))
|
if (fRegBase[SUN4I_INTC_PEND_REG0] & (1 << i))
|
||||||
int_io_interrupt_handler(i, true);
|
io_interrupt_handler(i, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i < 32; i++) {
|
for (int i=0; i < 32; i++) {
|
||||||
if (fRegBase[SUN4I_INTC_PEND_REG1] & (1 << i))
|
if (fRegBase[SUN4I_INTC_PEND_REG1] & (1 << i))
|
||||||
int_io_interrupt_handler(i + 32, true);
|
io_interrupt_handler(i + 32, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i < 32; i++) {
|
for (int i=0; i < 32; i++) {
|
||||||
if (fRegBase[SUN4I_INTC_PEND_REG2] & (1 << i))
|
if (fRegBase[SUN4I_INTC_PEND_REG2] & (1 << i))
|
||||||
int_io_interrupt_handler(i + 64, true);
|
io_interrupt_handler(i + 64, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* Copyright 2019-2022 Haiku, Inc. All Rights Reserved.
|
* Copyright 2019-2022 Haiku, Inc. All Rights Reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
#include <boot/stage2.h>
|
#include <boot/stage2.h>
|
||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include <boot/stage2.h>
|
#include <boot/stage2.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include <timer.h>
|
#include <timer.h>
|
||||||
#include <arch/timer.h>
|
#include <arch/timer.h>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
#include <debugger.h>
|
#include <debugger.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <arch/user_debugger.h>
|
#include <arch/user_debugger.h>
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include "acpi.h"
|
#include "acpi.h"
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include <PCI.h>
|
#include <PCI.h>
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include <arch_platform.h>
|
#include <arch_platform.h>
|
||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
@@ -278,11 +278,11 @@ m68k_exception_entry(struct iframe *iframe)
|
|||||||
M68KPlatform::Default()->AcknowledgeIOInterrupt(vector);
|
M68KPlatform::Default()->AcknowledgeIOInterrupt(vector);
|
||||||
|
|
||||||
dprintf("handling I/O interrupts...\n");
|
dprintf("handling I/O interrupts...\n");
|
||||||
int_io_interrupt_handler(vector, true);
|
io_interrupt_handler(vector, true);
|
||||||
#if 0
|
#if 0
|
||||||
while ((irq = sPIC->acknowledge_io_interrupt(sPICCookie)) >= 0) {
|
while ((irq = sPIC->acknowledge_io_interrupt(sPICCookie)) >= 0) {
|
||||||
// TODO: correctly pass level-triggered vs. edge-triggered to the handler!
|
// TODO: correctly pass level-triggered vs. edge-triggered to the handler!
|
||||||
int_io_interrupt_handler(irq, true);
|
io_interrupt_handler(irq, true);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
dprintf("handling I/O interrupts done\n");
|
dprintf("handling I/O interrupts done\n");
|
||||||
@@ -295,7 +295,7 @@ dprintf("handling I/O interrupts done\n");
|
|||||||
// vectors >= 64 are user defined vectors, used for IRQ
|
// vectors >= 64 are user defined vectors, used for IRQ
|
||||||
if (vector >= 64) {
|
if (vector >= 64) {
|
||||||
if (M68KPlatform::Default()->AcknowledgeIOInterrupt(vector)) {
|
if (M68KPlatform::Default()->AcknowledgeIOInterrupt(vector)) {
|
||||||
int_io_interrupt_handler(vector, true);
|
io_interrupt_handler(vector, true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
#include <boot/stage2.h>
|
#include <boot/stage2.h>
|
||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <debugger.h>
|
#include <debugger.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <arch/user_debugger.h>
|
#include <arch/user_debugger.h>
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
#include <vm/vm_priv.h>
|
#include <vm/vm_priv.h>
|
||||||
#include <vm/VMAddressSpace.h>
|
#include <vm/VMAddressSpace.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <arch/vm_translation_map.h>
|
#include <arch/vm_translation_map.h>
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
#include <vm/vm_page.h>
|
#include <vm/vm_page.h>
|
||||||
#include <vm/vm_priv.h>
|
#include <vm/vm_priv.h>
|
||||||
#include <vm/VMAddressSpace.h>
|
#include <vm/VMAddressSpace.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <arch/vm_translation_map.h>
|
#include <arch/vm_translation_map.h>
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#include <arch_system_info.h>
|
#include <arch_system_info.h>
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
#include <vm/VMAddressSpace.h>
|
#include <vm/VMAddressSpace.h>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#include <SupportDefs.h>
|
#include <SupportDefs.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
|
|
||||||
#include <arch_040_mmu.h>
|
#include <arch_040_mmu.h>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
@@ -189,7 +189,7 @@ dprintf("handling I/O interrupts...\n");
|
|||||||
int irq;
|
int irq;
|
||||||
while ((irq = sPIC->acknowledge_io_interrupt(sPICCookie)) >= 0) {
|
while ((irq = sPIC->acknowledge_io_interrupt(sPICCookie)) >= 0) {
|
||||||
// TODO: correctly pass level-triggered vs. edge-triggered to the handler!
|
// TODO: correctly pass level-triggered vs. edge-triggered to the handler!
|
||||||
int_io_interrupt_handler(irq, true);
|
io_interrupt_handler(irq, true);
|
||||||
}
|
}
|
||||||
dprintf("handling I/O interrupts done\n");
|
dprintf("handling I/O interrupts done\n");
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include <KernelExport.h>
|
#include <KernelExport.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include <boot/stage2.h>
|
#include <boot/stage2.h>
|
||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <debugger.h>
|
#include <debugger.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <arch/user_debugger.h>
|
#include <arch/user_debugger.h>
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,7 @@
|
|||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
//#include <arch_mmu.h>
|
//#include <arch_mmu.h>
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
#include <arch_mmu.h>
|
#include <arch_mmu.h>
|
||||||
#include <arch_system_info.h>
|
#include <arch_system_info.h>
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
#include <vm/VMAddressSpace.h>
|
#include <vm/VMAddressSpace.h>
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
|
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
#include <arch_mmu.h>
|
#include <arch_mmu.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
#include <arch_mmu.h>
|
#include <arch_mmu.h>
|
||||||
#include <arch_system_info.h>
|
#include <arch_system_info.h>
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
#include <vm/VMAddressSpace.h>
|
#include <vm/VMAddressSpace.h>
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
|
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
#include <arch_mmu.h>
|
#include <arch_mmu.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <vm/vm_priv.h>
|
#include <vm/vm_priv.h>
|
||||||
@@ -258,7 +258,7 @@ STrap(iframe* frame)
|
|||||||
case causeInterrupt + sSoftInt: {
|
case causeInterrupt + sSoftInt: {
|
||||||
ClearBitsSip(1 << sSoftInt);
|
ClearBitsSip(1 << sSoftInt);
|
||||||
// dprintf("sSoftInt(%" B_PRId32 ")\n", smp_get_current_cpu());
|
// dprintf("sSoftInt(%" B_PRId32 ")\n", smp_get_current_cpu());
|
||||||
smp_intercpu_int_handler(smp_get_current_cpu());
|
smp_intercpu_interrupt_handler(smp_get_current_cpu());
|
||||||
AfterInterrupt();
|
AfterInterrupt();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -271,7 +271,7 @@ STrap(iframe* frame)
|
|||||||
}
|
}
|
||||||
case causeInterrupt + sExternInt: {
|
case causeInterrupt + sExternInt: {
|
||||||
uint64 irq = gPlicRegs->contexts[sPlicContexts[smp_get_current_cpu()]].claimAndComplete;
|
uint64 irq = gPlicRegs->contexts[sPlicContexts[smp_get_current_cpu()]].claimAndComplete;
|
||||||
int_io_interrupt_handler(irq, true);
|
io_interrupt_handler(irq, true);
|
||||||
gPlicRegs->contexts[sPlicContexts[smp_get_current_cpu()]].claimAndComplete = irq;
|
gPlicRegs->contexts[sPlicContexts[smp_get_current_cpu()]].claimAndComplete = irq;
|
||||||
AfterInterrupt();
|
AfterInterrupt();
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
#include <boot/stage2.h>
|
#include <boot/stage2.h>
|
||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <platform/sbi/sbi_syscalls.h>
|
#include <platform/sbi/sbi_syscalls.h>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <debugger.h>
|
#include <debugger.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <arch/user_debugger.h>
|
#include <arch/user_debugger.h>
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
#include <boot/stage2.h>
|
#include <boot/stage2.h>
|
||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <debugger.h>
|
#include <debugger.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <arch/user_debugger.h>
|
#include <arch/user_debugger.h>
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <tls.h>
|
#include <tls.h>
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
#include <vm/vm_priv.h>
|
#include <vm/vm_priv.h>
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ FUNCTION(name): \
|
|||||||
pushl $vector; \
|
pushl $vector; \
|
||||||
pushl %edx; \
|
pushl %edx; \
|
||||||
pushl %eax; \
|
pushl %eax; \
|
||||||
jmp int_bottom; \
|
jmp intr_bottom; \
|
||||||
FUNCTION_END(name)
|
FUNCTION_END(name)
|
||||||
|
|
||||||
#define TRAP(name, vector) \
|
#define TRAP(name, vector) \
|
||||||
@@ -190,7 +190,7 @@ FUNCTION(name): \
|
|||||||
pushl $vector; \
|
pushl $vector; \
|
||||||
pushl %edx; \
|
pushl %edx; \
|
||||||
pushl %eax; \
|
pushl %eax; \
|
||||||
jmp int_bottom; \
|
jmp intr_bottom; \
|
||||||
FUNCTION_END(name)
|
FUNCTION_END(name)
|
||||||
|
|
||||||
TRAP(trap0, 0)
|
TRAP(trap0, 0)
|
||||||
@@ -490,7 +490,7 @@ FUNCTION_END(trap14_double_fault)
|
|||||||
|
|
||||||
|
|
||||||
.align 16
|
.align 16
|
||||||
STATIC_FUNCTION(int_bottom):
|
STATIC_FUNCTION(intr_bottom):
|
||||||
PUSH_IFRAME_BOTTOM(IFRAME_TYPE_OTHER)
|
PUSH_IFRAME_BOTTOM(IFRAME_TYPE_OTHER)
|
||||||
|
|
||||||
movl $KERNEL_TLS_SELECTOR, %edx
|
movl $KERNEL_TLS_SELECTOR, %edx
|
||||||
@@ -504,7 +504,7 @@ STATIC_FUNCTION(int_bottom):
|
|||||||
orl $0x10000, IFRAME_flags(%ebp);
|
orl $0x10000, IFRAME_flags(%ebp);
|
||||||
|
|
||||||
cmpw $USER_CODE_SELECTOR, IFRAME_cs(%ebp) // user mode
|
cmpw $USER_CODE_SELECTOR, IFRAME_cs(%ebp) // user mode
|
||||||
je int_bottom_user
|
je intr_bottom_user
|
||||||
|
|
||||||
// We need to recheck user mode using the thread's in_kernel flag, since
|
// We need to recheck user mode using the thread's in_kernel flag, since
|
||||||
// sysexit introduces a raced condition: It doesn't reenable interrupts,
|
// sysexit introduces a raced condition: It doesn't reenable interrupts,
|
||||||
@@ -513,7 +513,7 @@ STATIC_FUNCTION(int_bottom):
|
|||||||
// up everything for userland already.
|
// up everything for userland already.
|
||||||
movl %gs:0, %edi // thread pointer
|
movl %gs:0, %edi // thread pointer
|
||||||
cmpb $0, THREAD_in_kernel(%edi)
|
cmpb $0, THREAD_in_kernel(%edi)
|
||||||
je int_bottom_user
|
je intr_bottom_user
|
||||||
|
|
||||||
// disable interrupts -- the handler will enable them, if necessary
|
// disable interrupts -- the handler will enable them, if necessary
|
||||||
cli
|
cli
|
||||||
@@ -523,10 +523,10 @@ STATIC_FUNCTION(int_bottom):
|
|||||||
call *gInterruptHandlerTable(, %eax, 4)
|
call *gInterruptHandlerTable(, %eax, 4)
|
||||||
|
|
||||||
POP_IFRAME_AND_RETURN()
|
POP_IFRAME_AND_RETURN()
|
||||||
FUNCTION_END(int_bottom)
|
FUNCTION_END(intr_bottom)
|
||||||
|
|
||||||
|
|
||||||
STATIC_FUNCTION(int_bottom_user):
|
STATIC_FUNCTION(intr_bottom_user):
|
||||||
movl $KERNEL_DATA_SELECTOR, %eax
|
movl $KERNEL_DATA_SELECTOR, %eax
|
||||||
cld
|
cld
|
||||||
movl %eax,%ds
|
movl %eax,%ds
|
||||||
@@ -566,7 +566,7 @@ STATIC_FUNCTION(int_bottom_user):
|
|||||||
// update the thread's kernel time and return
|
// update the thread's kernel time and return
|
||||||
UPDATE_THREAD_KERNEL_TIME()
|
UPDATE_THREAD_KERNEL_TIME()
|
||||||
POP_IFRAME_AND_RETURN()
|
POP_IFRAME_AND_RETURN()
|
||||||
FUNCTION_END(int_bottom_user)
|
FUNCTION_END(intr_bottom_user)
|
||||||
|
|
||||||
|
|
||||||
// test interrupt handler for performance measurements
|
// test interrupt handler for performance measurements
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <ksignal.h>
|
#include <ksignal.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <team.h>
|
#include <team.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <tls.h>
|
#include <tls.h>
|
||||||
|
|||||||
@@ -145,14 +145,14 @@
|
|||||||
ASM_CLAC \
|
ASM_CLAC \
|
||||||
push $0; \
|
push $0; \
|
||||||
push $nr; \
|
push $nr; \
|
||||||
jmp int_bottom;
|
jmp intr_bottom;
|
||||||
|
|
||||||
// Interrupt with an error code.
|
// Interrupt with an error code.
|
||||||
#define DEFINE_ISR_E(nr) \
|
#define DEFINE_ISR_E(nr) \
|
||||||
.align 16; \
|
.align 16; \
|
||||||
ASM_CLAC \
|
ASM_CLAC \
|
||||||
push $nr; \
|
push $nr; \
|
||||||
jmp int_bottom;
|
jmp intr_bottom;
|
||||||
|
|
||||||
// Array of interrupt service routines.
|
// Array of interrupt service routines.
|
||||||
.align 16
|
.align 16
|
||||||
@@ -200,10 +200,10 @@ SYMBOL(isr_array):
|
|||||||
|
|
||||||
|
|
||||||
// Common interrupt handling code.
|
// Common interrupt handling code.
|
||||||
STATIC_FUNCTION(int_bottom):
|
STATIC_FUNCTION(intr_bottom):
|
||||||
// Coming from user-mode requires special handling.
|
// Coming from user-mode requires special handling.
|
||||||
testl $3, 24(%rsp)
|
testl $3, 24(%rsp)
|
||||||
jnz int_bottom_user
|
jnz intr_bottom_user
|
||||||
|
|
||||||
// Push the rest of the interrupt frame to the stack.
|
// Push the rest of the interrupt frame to the stack.
|
||||||
PUSH_IFRAME_BOTTOM(IFRAME_TYPE_OTHER)
|
PUSH_IFRAME_BOTTOM(IFRAME_TYPE_OTHER)
|
||||||
@@ -249,11 +249,11 @@ STATIC_FUNCTION(int_bottom):
|
|||||||
RESTORE_IFRAME()
|
RESTORE_IFRAME()
|
||||||
|
|
||||||
iretq
|
iretq
|
||||||
FUNCTION_END(int_bottom)
|
FUNCTION_END(intr_bottom)
|
||||||
|
|
||||||
|
|
||||||
// Handler for an interrupt that occurred in user-mode.
|
// Handler for an interrupt that occurred in user-mode.
|
||||||
STATIC_FUNCTION(int_bottom_user):
|
STATIC_FUNCTION(intr_bottom_user):
|
||||||
// Load the kernel GS segment base.
|
// Load the kernel GS segment base.
|
||||||
swapgs
|
swapgs
|
||||||
lfence
|
lfence
|
||||||
@@ -356,7 +356,7 @@ STATIC_FUNCTION(int_bottom_user):
|
|||||||
sti
|
sti
|
||||||
call thread_at_kernel_exit
|
call thread_at_kernel_exit
|
||||||
jmp .Lkernel_exit_work_done
|
jmp .Lkernel_exit_work_done
|
||||||
FUNCTION_END(int_bottom_user)
|
FUNCTION_END(intr_bottom_user)
|
||||||
|
|
||||||
|
|
||||||
// SYSCALL entry point.
|
// SYSCALL entry point.
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
#include <generic_syscall.h>
|
#include <generic_syscall.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <ksignal.h>
|
#include <ksignal.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <team.h>
|
#include <team.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <tls.h>
|
#include <tls.h>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#include <KernelExport.h>
|
#include <KernelExport.h>
|
||||||
#include <driver_settings.h>
|
#include <driver_settings.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
#include <arch/debug_console.h>
|
#include <arch/debug_console.h>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kscheduler.h>
|
#include <kscheduler.h>
|
||||||
#include <team.h>
|
#include <team.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
@@ -254,7 +254,7 @@ x86_hardware_interrupt(struct iframe* frame)
|
|||||||
apic_end_of_interrupt();
|
apic_end_of_interrupt();
|
||||||
}
|
}
|
||||||
|
|
||||||
int_io_interrupt_handler(vector, levelTriggered);
|
io_interrupt_handler(vector, levelTriggered);
|
||||||
|
|
||||||
if (levelTriggered) {
|
if (levelTriggered) {
|
||||||
if (!sCurrentPIC->end_of_interrupt(vector))
|
if (!sCurrentPIC->end_of_interrupt(vector))
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
#include <smp_priv.h>
|
#include <smp_priv.h>
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ x86_ici_interrupt(void *data)
|
|||||||
// genuine inter-cpu interrupt
|
// genuine inter-cpu interrupt
|
||||||
int cpu = smp_get_current_cpu();
|
int cpu = smp_get_current_cpu();
|
||||||
TRACE(("inter-cpu interrupt on cpu %d\n", cpu));
|
TRACE(("inter-cpu interrupt on cpu %d\n", cpu));
|
||||||
return smp_intercpu_int_handler(cpu);
|
return smp_intercpu_interrupt_handler(cpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <ksignal.h>
|
#include <ksignal.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <team.h>
|
#include <team.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <vm/vm_types.h>
|
#include <vm/vm_types.h>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
#include <console.h>
|
#include <console.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <timer.h>
|
#include <timer.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <safemode.h>
|
#include <safemode.h>
|
||||||
|
|
||||||
#include <arch/timer.h>
|
#include <arch/timer.h>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
#include <debugger.h>
|
#include <debugger.h>
|
||||||
#include <driver_settings.h>
|
#include <driver_settings.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <team.h>
|
#include <team.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <util/AutoLock.h>
|
#include <util/AutoLock.h>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#include <arch/x86/ioapic.h>
|
#include <arch/x86/ioapic.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
|
|
||||||
#include "acpi_irq_routing_table.h"
|
#include "acpi_irq_routing_table.h"
|
||||||
@@ -417,7 +417,7 @@ ioapic_source_override_handler(void* data)
|
|||||||
{
|
{
|
||||||
int32 vector = (addr_t)data;
|
int32 vector = (addr_t)data;
|
||||||
bool levelTriggered = ioapic_is_level_triggered_interrupt(vector);
|
bool levelTriggered = ioapic_is_level_triggered_interrupt(vector);
|
||||||
return int_io_interrupt_handler(vector, levelTriggered);
|
return io_interrupt_handler(vector, levelTriggered);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
#include <arch/x86/arch_smp.h>
|
#include <arch/x86/arch_smp.h>
|
||||||
|
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <lock.h>
|
#include <lock.h>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
#include <arch/smp.h>
|
#include <arch/smp.h>
|
||||||
#include <arch_system_info.h>
|
#include <arch_system_info.h>
|
||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
#include <vm/VMAddressSpace.h>
|
#include <vm/VMAddressSpace.h>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#include <SupportDefs.h>
|
#include <SupportDefs.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <KernelExport.h>
|
#include <KernelExport.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include "paging/64bit/X86PagingMethod64Bit.h"
|
#include "paging/64bit/X86PagingMethod64Bit.h"
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include "paging/64bit/X86VMTranslationMap64Bit.h"
|
#include "paging/64bit/X86VMTranslationMap64Bit.h"
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <util/AutoLock.h>
|
#include <util/AutoLock.h>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <KernelExport.h>
|
#include <KernelExport.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include "paging/pae/X86PagingMethodPAE.h"
|
#include "paging/pae/X86PagingMethodPAE.h"
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
#include "paging/pae/X86VMTranslationMapPAE.h"
|
#include "paging/pae/X86VMTranslationMapPAE.h"
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <tracing.h>
|
#include <tracing.h>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
#include <arch/x86/arch_int.h>
|
#include <arch/x86/arch_int.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
|
|
||||||
//#define TRACE_PIC
|
//#define TRACE_PIC
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
#include <fs/fd.h>
|
#include <fs/fd.h>
|
||||||
#include <fs/node_monitor.h>
|
#include <fs/node_monitor.h>
|
||||||
#include <generic_syscall.h>
|
#include <generic_syscall.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <kimage.h>
|
#include <kimage.h>
|
||||||
#include <ksignal.h>
|
#include <ksignal.h>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
#include <timer.h>
|
#include <timer.h>
|
||||||
#include <arch/x86/timer.h>
|
#include <arch/x86/timer.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <arch/x86/apic.h>
|
#include <arch/x86/apic.h>
|
||||||
#include <arch/x86/arch_system_info.h>
|
#include <arch/x86/arch_system_info.h>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
#include <timer.h>
|
#include <timer.h>
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <kscheduler.h>
|
#include <kscheduler.h>
|
||||||
#include <ksignal.h>
|
#include <ksignal.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <listeners.h>
|
#include <listeners.h>
|
||||||
#include <scheduling_analysis.h>
|
#include <scheduling_analysis.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
#include <debug_paranoia.h>
|
#include <debug_paranoia.h>
|
||||||
#include <driver_settings.h>
|
#include <driver_settings.h>
|
||||||
#include <frame_buffer_console.h>
|
#include <frame_buffer_console.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <ksystem_info.h>
|
#include <ksystem_info.h>
|
||||||
#include <safemode.h>
|
#include <safemode.h>
|
||||||
@@ -964,7 +964,7 @@ enter_kernel_debugger(int32 cpu, int32& previousCPU)
|
|||||||
// us. Process ICIs to ensure we get the halt request. Then we are
|
// us. Process ICIs to ensure we get the halt request. Then we are
|
||||||
// blocking there until everyone leaves the debugger and we can
|
// blocking there until everyone leaves the debugger and we can
|
||||||
// try to enter it again.
|
// try to enter it again.
|
||||||
smp_intercpu_int_handler(cpu);
|
smp_intercpu_interrupt_handler(cpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
arch_debug_save_registers(&sDebugRegisters[cpu]);
|
arch_debug_save_registers(&sDebugRegisters[cpu]);
|
||||||
@@ -1814,7 +1814,7 @@ debug_trap_cpu_in_kdl(int32 cpu, bool returnIfHandedOver)
|
|||||||
InterruptsLocker locker;
|
InterruptsLocker locker;
|
||||||
|
|
||||||
// return, if we've been called recursively (we call
|
// return, if we've been called recursively (we call
|
||||||
// smp_intercpu_int_handler() below)
|
// smp_intercpu_interrupt_handler() below)
|
||||||
if (sCPUTrapped[cpu])
|
if (sCPUTrapped[cpu])
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -1832,7 +1832,7 @@ debug_trap_cpu_in_kdl(int32 cpu, bool returnIfHandedOver)
|
|||||||
kernel_debugger_internal(NULL, NULL,
|
kernel_debugger_internal(NULL, NULL,
|
||||||
sCurrentKernelDebuggerMessageArgs, cpu);
|
sCurrentKernelDebuggerMessageArgs, cpu);
|
||||||
} else
|
} else
|
||||||
smp_intercpu_int_handler(cpu);
|
smp_intercpu_interrupt_handler(cpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
sCPUTrapped[cpu] = false;
|
sCPUTrapped[cpu] = false;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <debug_heap.h>
|
#include <debug_heap.h>
|
||||||
#include <elf.h>
|
#include <elf.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <team.h>
|
#include <team.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <elf.h>
|
#include <elf.h>
|
||||||
#include <heap.h>
|
#include <heap.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <lock.h>
|
#include <lock.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2013, Paweł Dziepak, pdziepak@quarnos.org.
|
* Copyright 2013, Paweł Dziepak, pdziepak@quarnos.org.
|
||||||
* Distributed under the terms of the MIT License.
|
|
||||||
|
|
||||||
* Copyright 2011, Michael Lotz, mmlr@mlotz.ch.
|
* Copyright 2011, Michael Lotz, mmlr@mlotz.ch.
|
||||||
* Distributed under the terms of the MIT License.
|
|
||||||
*
|
|
||||||
* Copyright 2002-2010, Axel Dörfler, axeld@pinc-software.de.
|
* Copyright 2002-2010, Axel Dörfler, axeld@pinc-software.de.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*
|
*
|
||||||
@@ -13,7 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -179,16 +175,16 @@ interrupts_enabled(void)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
int_init(kernel_args* args)
|
interrupts_init(kernel_args* args)
|
||||||
{
|
{
|
||||||
TRACE(("init_int_handlers: entry\n"));
|
TRACE(("interrupts_init: entry\n"));
|
||||||
|
|
||||||
return arch_int_init(args);
|
return arch_int_init(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
int_init_post_vm(kernel_args* args)
|
interrupts_init_post_vm(kernel_args* args)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -232,14 +228,14 @@ int_init_post_vm(kernel_args* args)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
int_init_io(kernel_args* args)
|
interrupts_init_io(kernel_args* args)
|
||||||
{
|
{
|
||||||
return arch_int_init_io(args);
|
return arch_int_init_io(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
int_init_post_device_manager(kernel_args* args)
|
interrupts_init_post_device_manager(kernel_args* args)
|
||||||
{
|
{
|
||||||
arch_debug_install_interrupt_handlers();
|
arch_debug_install_interrupt_handlers();
|
||||||
|
|
||||||
@@ -268,7 +264,7 @@ update_int_load(int i)
|
|||||||
vector (IRQ).
|
vector (IRQ).
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
int_io_interrupt_handler(int vector, bool levelTriggered)
|
io_interrupt_handler(int vector, bool levelTriggered)
|
||||||
{
|
{
|
||||||
int status = B_UNHANDLED_INTERRUPT;
|
int status = B_UNHANDLED_INTERRUPT;
|
||||||
struct io_handler* io;
|
struct io_handler* io;
|
||||||
@@ -725,7 +721,8 @@ free_io_interrupt_vectors(int32 count, int32 startVector)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void assign_io_interrupt_to_cpu(int32 vector, int32 newCPU)
|
void
|
||||||
|
assign_io_interrupt_to_cpu(int32 vector, int32 newCPU)
|
||||||
{
|
{
|
||||||
ASSERT(sVectors[vector].type == INTERRUPT_TYPE_IRQ);
|
ASSERT(sVectors[vector].type == INTERRUPT_TYPE_IRQ);
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@ static void _mutex_unlock(struct mutex* lock);
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <listeners.h>
|
#include <listeners.h>
|
||||||
#include <scheduling_analysis.h>
|
#include <scheduling_analysis.h>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
#include <find_directory_private.h>
|
#include <find_directory_private.h>
|
||||||
#include <fs/devfs.h>
|
#include <fs/devfs.h>
|
||||||
#include <fs/KPath.h>
|
#include <fs/KPath.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kdevice_manager.h>
|
#include <kdevice_manager.h>
|
||||||
#include <kdriver_settings.h>
|
#include <kdriver_settings.h>
|
||||||
#include <kernel_daemon.h>
|
#include <kernel_daemon.h>
|
||||||
@@ -143,7 +143,7 @@ _start(kernel_args *bootKernelArgs, int currentCPU)
|
|||||||
cpu_init(&sKernelArgs);
|
cpu_init(&sKernelArgs);
|
||||||
cpu_init_percpu(&sKernelArgs, currentCPU);
|
cpu_init_percpu(&sKernelArgs, currentCPU);
|
||||||
TRACE("init interrupts\n");
|
TRACE("init interrupts\n");
|
||||||
int_init(&sKernelArgs);
|
interrupts_init(&sKernelArgs);
|
||||||
|
|
||||||
TRACE("init VM\n");
|
TRACE("init VM\n");
|
||||||
vm_init(&sKernelArgs);
|
vm_init(&sKernelArgs);
|
||||||
@@ -170,7 +170,7 @@ _start(kernel_args *bootKernelArgs, int currentCPU)
|
|||||||
TRACE("init semaphores\n");
|
TRACE("init semaphores\n");
|
||||||
haiku_sem_init(&sKernelArgs);
|
haiku_sem_init(&sKernelArgs);
|
||||||
TRACE("init interrupts post vm\n");
|
TRACE("init interrupts post vm\n");
|
||||||
int_init_post_vm(&sKernelArgs);
|
interrupts_init_post_vm(&sKernelArgs);
|
||||||
cpu_init_post_vm(&sKernelArgs);
|
cpu_init_post_vm(&sKernelArgs);
|
||||||
commpage_init();
|
commpage_init();
|
||||||
#ifdef _COMPAT_MODE
|
#ifdef _COMPAT_MODE
|
||||||
@@ -210,7 +210,7 @@ _start(kernel_args *bootKernelArgs, int currentCPU)
|
|||||||
arch_platform_init_post_thread(&sKernelArgs);
|
arch_platform_init_post_thread(&sKernelArgs);
|
||||||
|
|
||||||
TRACE("init I/O interrupts\n");
|
TRACE("init I/O interrupts\n");
|
||||||
int_init_io(&sKernelArgs);
|
interrupts_init_io(&sKernelArgs);
|
||||||
TRACE("init VM threads\n");
|
TRACE("init VM threads\n");
|
||||||
vm_init_post_thread(&sKernelArgs);
|
vm_init_post_thread(&sKernelArgs);
|
||||||
low_resource_manager_init_post_thread();
|
low_resource_manager_init_post_thread();
|
||||||
@@ -337,7 +337,7 @@ main2(void* /*unused*/)
|
|||||||
TRACE("Add preloaded old-style drivers\n");
|
TRACE("Add preloaded old-style drivers\n");
|
||||||
legacy_driver_add_preloaded(&sKernelArgs);
|
legacy_driver_add_preloaded(&sKernelArgs);
|
||||||
|
|
||||||
int_init_post_device_manager(&sKernelArgs);
|
interrupts_init_post_device_manager(&sKernelArgs);
|
||||||
|
|
||||||
TRACE("Mount boot file system\n");
|
TRACE("Mount boot file system\n");
|
||||||
boot_splash_set_stage(BOOT_SPLASH_STAGE_4_MOUNT_BOOT_FS);
|
boot_splash_set_stage(BOOT_SPLASH_STAGE_4_MOUNT_BOOT_FS);
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
#include <AutoDeleter.h>
|
#include <AutoDeleter.h>
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <kscheduler.h>
|
#include <kscheduler.h>
|
||||||
#include <listeners.h>
|
#include <listeners.h>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <ksignal.h>
|
#include <ksignal.h>
|
||||||
#include <kscheduler.h>
|
#include <kscheduler.h>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
#include <util/AutoLock.h>
|
#include <util/AutoLock.h>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <generic_syscall.h>
|
#include <generic_syscall.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <spinlock_contention.h>
|
#include <spinlock_contention.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <util/atomic.h>
|
#include <util/atomic.h>
|
||||||
@@ -949,7 +949,7 @@ process_pending_ici(int32 currentCPU)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
dprintf("smp_intercpu_int_handler: got unknown message %" B_PRId32 "\n",
|
dprintf("smp_intercpu_interrupt_handler: got unknown message %" B_PRId32 "\n",
|
||||||
msg->message);
|
msg->message);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1028,13 +1028,13 @@ call_all_cpus_early(void (*function)(void*, int), void* cookie)
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
smp_intercpu_int_handler(int32 cpu)
|
smp_intercpu_interrupt_handler(int32 cpu)
|
||||||
{
|
{
|
||||||
TRACE("smp_intercpu_int_handler: entry on cpu %" B_PRId32 "\n", cpu);
|
TRACE("smp_intercpu_interrupt_handler: entry on cpu %" B_PRId32 "\n", cpu);
|
||||||
|
|
||||||
process_all_pending_ici(cpu);
|
process_all_pending_ici(cpu);
|
||||||
|
|
||||||
TRACE("smp_intercpu_int_handler: done on cpu %" B_PRId32 "\n", cpu);
|
TRACE("smp_intercpu_interrupt_handler: done on cpu %" B_PRId32 "\n", cpu);
|
||||||
|
|
||||||
return B_HANDLED_INTERRUPT;
|
return B_HANDLED_INTERRUPT;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
#include <fs/fd.h>
|
#include <fs/fd.h>
|
||||||
#include <fs/node_monitor.h>
|
#include <fs/node_monitor.h>
|
||||||
#include <generic_syscall.h>
|
#include <generic_syscall.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <kimage.h>
|
#include <kimage.h>
|
||||||
#include <ksignal.h>
|
#include <ksignal.h>
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
#include <find_directory_private.h>
|
#include <find_directory_private.h>
|
||||||
#include <fs/KPath.h>
|
#include <fs/KPath.h>
|
||||||
#include <heap.h>
|
#include <heap.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <kimage.h>
|
#include <kimage.h>
|
||||||
#include <kscheduler.h>
|
#include <kscheduler.h>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
#include <boot/kernel_args.h>
|
#include <boot/kernel_args.h>
|
||||||
#include <condition_variable.h>
|
#include <condition_variable.h>
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kimage.h>
|
#include <kimage.h>
|
||||||
#include <kscheduler.h>
|
#include <kscheduler.h>
|
||||||
#include <ksignal.h>
|
#include <ksignal.h>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include <util/KernelReferenceable.h>
|
#include <util/KernelReferenceable.h>
|
||||||
|
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
#include <condition_variable.h>
|
#include <condition_variable.h>
|
||||||
#include <heap.h>
|
#include <heap.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include <util/DoublyLinkedList.h>
|
#include <util/DoublyLinkedList.h>
|
||||||
|
|
||||||
#include <lock.h>
|
#include <lock.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <util/AutoLock.h>
|
#include <util/AutoLock.h>
|
||||||
#include <vm/vm_types.h>
|
#include <vm/vm_types.h>
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
#include <fs/fd.h>
|
#include <fs/fd.h>
|
||||||
#include <heap.h>
|
#include <heap.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <int.h>
|
#include <interrupts.h>
|
||||||
#include <lock.h>
|
#include <lock.h>
|
||||||
#include <low_resource_manager.h>
|
#include <low_resource_manager.h>
|
||||||
#include <slab/Slab.h>
|
#include <slab/Slab.h>
|
||||||
|
|||||||
Reference in New Issue
Block a user