|
XenevaOS
|
#include <Hal/x86_64_exception.h>#include <Hal/x86_64_sched.h>#include <Hal/x86_64_cpu.h>#include <Hal/x86_64_gdt.h>#include <Hal/pcpu.h>#include <process.h>#include <Hal/x86_64_lowlevel.h>#include <aucon.h>#include <Mm/vmmngr.h>#include <Mm/vmarea.h>#include <Mm/pmmngr.h>#include <_null.h>#include <Hal/x86_64_idt.h>#include <loader.h>#include <Mm/kmalloc.h>#include <Hal/x86_64_signal.h>#include <Serv/sysserv.h>#include <Hal/serial.h>
Functions | |
| void | panic (const char *msg,...) |
| void | divide_by_zero_fault (size_t vector, void *param) |
| void | single_step_trap (size_t vector, void *param) |
| void | nmi_trap (size_t vector, void *param) |
| void | breakpoint_trap (size_t vector, void *param) |
| exception function breakpoint_trap | |
| void | overflow_trap (size_t v, void *p) |
| exception function – overflow_trap | |
| void | bounds_check_fault (size_t v, void *p) |
| exception function – bounds_check_fault | |
| void | invalid_opcode_fault (size_t v, void *p) |
| exception function – invalid_opcode_fault | |
| void | no_device_fault (size_t v, void *p) |
| exception function – no device fault | |
| void | double_fault_abort (size_t v, void *p) |
| exception function – double fault abort | |
| void | invalid_tss_fault (size_t v, void *p) |
| exception function – invalid tss fault | |
| void | no_segment_fault (size_t v, void *p) |
| exception function – no_segment_fault | |
| void | stack_fault (size_t v, void *p) |
| exception function – stack_fault | |
| void | general_protection_fault (size_t v, void *p) |
| exception function — general protection fault | |
| void | page_fault (size_t vector, void *param) |
| void | fpu_fault (size_t vector, void *p) |
| exception function – fpu_fault | |
| void | alignment_check_fault (size_t v, void *p) |
| exception function – alignment_check_fault | |
| void | machine_check_abort (size_t v, void *p) |
| exception function – machine_check_abort | |
| void | simd_fpu_fault (size_t v, void *p) |
| exception function – simd related fault handler | |
| void | x86_64_exception_init () |
Variables | |
| bool | _signal_debug |
| bool | syscall_debug |
| void alignment_check_fault | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – alignment_check_fault
| void bounds_check_fault | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – bounds_check_fault
| void breakpoint_trap | ( | size_t | vector, |
| void * | param | ||
| ) |
exception function breakpoint_trap
| void divide_by_zero_fault | ( | size_t | vector, |
| void * | param | ||
| ) |
| void double_fault_abort | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – double fault abort
| void fpu_fault | ( | size_t | vector, |
| void * | p | ||
| ) |
exception function – fpu_fault
| void general_protection_fault | ( | size_t | v, |
| void * | p | ||
| ) |
exception function — general protection fault
| void invalid_opcode_fault | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – invalid_opcode_fault
| void invalid_tss_fault | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – invalid tss fault
| void machine_check_abort | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – machine_check_abort
| void nmi_trap | ( | size_t | vector, |
| void * | param | ||
| ) |
| void no_device_fault | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – no device fault
| void no_segment_fault | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – no_segment_fault
| void overflow_trap | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – overflow_trap
| void page_fault | ( | size_t | vector, |
| void * | param | ||
| ) |
Most important for good performance is page fault! whenever any memory related errors occurs it get fired and new page swapping process should be allocated
| void panic | ( | const char * | msg, |
| ... | |||
| ) |
BSD 2-Clause License
Copyright (c) 2022, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| void simd_fpu_fault | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – simd related fault handler
| void single_step_trap | ( | size_t | vector, |
| void * | param | ||
| ) |
| void stack_fault | ( | size_t | v, |
| void * | p | ||
| ) |
exception function – stack_fault
| void x86_64_exception_init | ( | ) |
BSD 2-Clause License
Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| bool _signal_debug |
| bool syscall_debug |