|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include <type.h>Go to the source code of this file.
Data Structures | |
| struct | spinlock_t |
Macros | |
| #define | SPINLOCK_INIT { .now_serving = 0, .next_ticket = 0 } |
Functions | |
| void | spin_acquire (spinlock_t *lock) |
| void | spin_release (spinlock_t *lock) |
| bool | spin_is_locked (const spinlock_t *lock) |
| #define SPINLOCK_INIT { .now_serving = 0, .next_ticket = 0 } |
Definition at line 15 of file spinlock.h.
Referenced by notify_dev_create().
| void spin_acquire | ( | spinlock_t * | lock | ) |
Definition at line 8 of file spinlock.c.
References cpu_relax(), and lock.
Referenced by __attribute__(), char_read(), console_add_space(), console_newline(), console_printf(), console_vaprintf(), find_dev(), get_default_slab_addr(), lock_irqsave(), notify_call(), notify_dev_create(), notify_register(), paging_create_page_directory(), paging_unmap_page(), phys_base_alloc(), proccess_elf(), push_freed_vaddr(), sch_restore_to_next_thread(), slab_cache_destroy(), slab_free(), syscall_brk(), vma_find(), vma_lookup_free_vaddr(), vma_register(), vma_unregister(), vxAddWorkqueueTask(), vxAllocScheduler(), vxDeatachFromScheduler(), vxGetVoxmoModule(), vxMmap(), vxPhysBaseFree(), vxSchedulerTick(), vxSlabAlloc(), vxVoxmoInstall(), and vxVoxmoReload().
| bool spin_is_locked | ( | const spinlock_t * | lock | ) |
Definition at line 27 of file spinlock.c.
| void spin_release | ( | spinlock_t * | lock | ) |
Definition at line 19 of file spinlock.c.
Referenced by __attribute__(), char_read(), console_add_space(), console_newline(), console_printf(), console_vaprintf(), find_dev(), get_default_slab_addr(), notify_call(), notify_dev_create(), notify_register(), paging_create_page_directory(), paging_unmap_page(), phys_base_alloc(), proccess_elf(), push_freed_vaddr(), sch_restore_to_next_thread(), slab_cache_destroy(), slab_free(), syscall_brk(), unlock_irqrestore(), vma_find(), vma_lookup_free_vaddr(), vma_register(), vma_unregister(), vxAddWorkqueueTask(), vxAllocScheduler(), vxDeatachFromScheduler(), vxGetVoxmoModule(), vxMmap(), vxPhysBaseFree(), vxSchedulerTick(), vxSlabAlloc(), vxVoxmoInstall(), and vxVoxmoReload().