TrapFrame.cpp 576 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <Kernel/Arch/x86/TrapFrame.h>
  7. namespace Kernel {
  8. extern "C" void enter_trap_no_irq(TrapFrame* trap)
  9. {
  10. InterruptDisabler disable;
  11. Processor::current().enter_trap(*trap, false);
  12. }
  13. extern "C" void enter_trap(TrapFrame* trap)
  14. {
  15. InterruptDisabler disable;
  16. Processor::current().enter_trap(*trap, true);
  17. }
  18. extern "C" void exit_trap(TrapFrame* trap)
  19. {
  20. InterruptDisabler disable;
  21. return Processor::current().exit_trap(*trap);
  22. }
  23. }