LF OS
Hobby operating system for amd64 with high ambitions
|
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) |
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.
void init_sc | ( | void | ) |
Definition at line 309 of file sc.c.
References _cpu0, _setup_idt(), _syscall_handler(), and write_msr().
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().
Definition at line 211 of file sc.c.
References flexarray_find(), flexarray_remove(), interrupt_queues, and mq.
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.