LF OS
Hobby operating system for amd64 with high ambitions
Loading...
Searching...
No Matches
sc.h File Reference

(29312b1 fbconsole, panic: render panic after framebuffer was given to userspace - without clearing screen contents)

#include <stdint.h>
#include <vm.h>
+ Include dependency graph for sc.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void init_gdt (void)
 
void init_sc (void)
 
void interrupt_add_queue (uint8_t interrupt, uint64_t mq)
 
void interrupt_del_queue (uint8_t interrupt, uint64_t mq)
 
void set_iopb (struct vm_table *context, ptr_t task_iopb)
 

Function Documentation

◆ init_gdt()

void init_gdt ( void  )

Definition at line 154 of file sc.c.

References _cpu0, tss::_reserved1, tss::_reserved2, tss::_reserved3, ALLOCATOR_REGION_KERNEL_HEAP, base, gdt_entry::baseHigh, gdt_entry::baseLow, gdt_entry::baseMid, GDT_ACCESSED, GDT_EXECUTE, GDT_PRESENT, GDT_RING3, GDT_RW, GDT_SYSTEM, tss::iopb_offset, tss::ist1, cpu_local_data::kernel_stack, KiB, table_pointer::limit, gdt_entry::limitLow, memset(), reload_cs(), tss::rsp0, tss::rsp1, tss::rsp2, gdt_entry::size, cpu_local_data::tss, gdt_entry::type, vm_context_alloc_pages(), and VM_KERNEL_CONTEXT.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init_sc()

void init_sc ( void  )

Definition at line 309 of file sc.c.

References _cpu0, _setup_idt(), _syscall_handler(), and write_msr().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ interrupt_add_queue()

void interrupt_add_queue ( uint8_t  interrupt,
uint64_t  mq 
)

Definition at line 226 of file sc.c.

References EEXIST, error, flexarray_append(), interrupt_delall_queue(), interrupt_queues, kernel_alloc, logw, mq, mq_notify_teardown(), and new_flexarray().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ interrupt_del_queue()

void interrupt_del_queue ( uint8_t  interrupt,
uint64_t  mq 
)

Definition at line 211 of file sc.c.

References flexarray_find(), flexarray_remove(), interrupt_queues, and mq.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_iopb()

void set_iopb ( struct vm_table context,
ptr_t  task_iopb 
)

Definition at line 134 of file sc.c.

References _cpu0, ALLOCATOR_REGION_USER_IOPERM, tss::iopb_offset, KiB, cpu_local_data::tss, vm_context_get_physical_for_virtual(), vm_context_map(), and VM_KERNEL_CONTEXT.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: