|
PatchworkOS
|
CPU structure. More...
#include <cpu.h>
Public Member Functions | |
| uint8_t exceptionStackBuffer[CONFIG_INTERRUPT_STACK_PAGES *PAGE_SIZE] | ALIGNED (PAGE_SIZE) |
| uint8_t doubleFaultStackBuffer[CONFIG_INTERRUPT_STACK_PAGES *PAGE_SIZE] | ALIGNED (PAGE_SIZE) |
| uint8_t interruptStackBuffer[CONFIG_INTERRUPT_STACK_PAGES *PAGE_SIZE] | ALIGNED (PAGE_SIZE) |
CPU structure.
We allocate the stack buffers inside the cpu_t structure to avoid memory allocation during early boot.
Must be stored aligned to a page boundary.
| uint8_t exceptionStackBuffer[CONFIG_INTERRUPT_STACK_PAGES *PAGE_SIZE] cpu_t::ALIGNED | ( | PAGE_SIZE | ) |
| uint8_t doubleFaultStackBuffer[CONFIG_INTERRUPT_STACK_PAGES *PAGE_SIZE] cpu_t::ALIGNED | ( | PAGE_SIZE | ) |
| uint8_t interruptStackBuffer[CONFIG_INTERRUPT_STACK_PAGES *PAGE_SIZE] cpu_t::ALIGNED | ( | PAGE_SIZE | ) |
| stack_pointer_t cpu_t::doubleFaultStack |
Definition at line 54 of file cpu.h.
Referenced by cpu_init(), and cpu_stacks_overflow_check().
| stack_pointer_t cpu_t::exceptionStack |
Definition at line 53 of file cpu.h.
Referenced by cpu_init(), and cpu_stacks_overflow_check().
| cpuid_t cpu_t::id |
Definition at line 43 of file cpu.h.
Referenced by cpu_init(), cpu_stacks_overflow_check(), ioapic_set_redirect(), log_print_header(), panic(), sched_cpu_ctx_init(), sched_done_with_boot_thread(), sched_get_neighbor(), smp_halt_others(), space_tlb_shootdown(), statistics_cpu_read(), timer_ctx_init(), vmm_cpu_ctx_init(), and vmm_init().
| interrupt_ctx_t cpu_t::interrupt |
Definition at line 47 of file cpu.h.
Referenced by cpu_init(), interrupt_disable(), interrupt_enable(), and interrupt_handler().
| stack_pointer_t cpu_t::interruptStack |
Definition at line 55 of file cpu.h.
Referenced by cpu_init(), and cpu_stacks_overflow_check().
| lapic_id_t cpu_t::lapicId |
Definition at line 44 of file cpu.h.
Referenced by cpu_init(), ioapic_set_redirect(), space_tlb_shootdown(), and timer_notify().
| rand_cpu_ctx_t cpu_t::rand |
Definition at line 52 of file cpu.h.
Referenced by rand_gen().
| sched_cpu_ctx_t cpu_t::sched |
Definition at line 51 of file cpu.h.
Referenced by cpu_init(), init_early(), panic(), sched_done_with_boot_thread(), sched_find_least_loaded_cpu(), sched_invoke(), sched_is_idle(), sched_load_balance(), sched_push(), sched_push_new_thread(), sched_should_notify(), sched_thread(), sched_thread_unsafe(), sched_yield(), wait_block_cancel(), wait_block_commit(), and wait_block_setup().
| statistics_cpu_ctx_t cpu_t::stat |
Definition at line 48 of file cpu.h.
Referenced by cpu_init(), statistics_cpu_read(), statistics_interrupt_begin(), and statistics_interrupt_end().
| timer_ctx_t cpu_t::timer |
Definition at line 49 of file cpu.h.
Referenced by cpu_init(), sched_cpu_ctx_init(), timer_ctx_init(), timer_interrupt_handler(), timer_one_shot(), and wait_cpu_ctx_init().
| tss_t cpu_t::tss |
Definition at line 45 of file cpu.h.
Referenced by cpu_init().
| vmm_cpu_ctx_t cpu_t::vmm |
Definition at line 46 of file cpu.h.
Referenced by cpu_init(), space_load(), space_tlb_shootdown(), vmm_init(), and vmm_shootdown_handler().
| wait_cpu_ctx_t cpu_t::wait |
Definition at line 50 of file cpu.h.
Referenced by cpu_init(), wait_block_finalize(), and wait_timer_handler().