Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
core.h File Reference
#include "autoconf.h"
#include "procc/scheduler.h"
#include "procc/thread.h"
#include "procc/workqueue.h"
#include <type.h>

Go to the source code of this file.

Functions

struct __attribute__ ((aligned(64)))
 
void update_core_gs (uint8_t id)
 
uint8_t get_current_core_cpuid ()
 
each_core_dataget_current_core_data ()
 
each_core_datavxGetCoreDataByCoreID (uint8_t core_id)
 
uint8_t vxGetActiveCoreCount ()
 

Variables

 each_core_data
 

Function Documentation

◆ __attribute__()

struct __attribute__ ( (aligned(64)) )

Definition at line 1 of file core.h.

References _pad, kernel_rsp, and scheduler.

◆ get_current_core_cpuid()

uint8_t get_current_core_cpuid ( )

References each_core_data.

◆ get_current_core_data()

◆ update_core_gs()

void update_core_gs ( uint8_t id)

Definition at line 39 of file core.c.

References ap_stack_top, core_data, id, msrSetGSBase(), msrSetKernelGSBase(), and vxGetSchedulerCore().

Referenced by __attribute__(), apicInitialize(), and INIT().

◆ vxGetActiveCoreCount()

uint8_t vxGetActiveCoreCount ( )

Definition at line 265 of file core.c.

References active_core_count.

◆ vxGetCoreDataByCoreID()

each_core_data * vxGetCoreDataByCoreID ( uint8_t core_id)

Definition at line 62 of file core.c.

References core, core_data, and each_core_data.

Referenced by vxAddWorkqueueTask().

Variable Documentation

◆ each_core_data