Iros
 
Loading...
Searching...
No Matches
iris::arch::TaskState Struct Reference

#include <iris/arch/x86/amd64/core/task.h>

Public Member Functions

 TaskState (bool userspace)
 
auto syscall_number () const -> SystemCall
 
auto in_kernel () const -> bool
 
auto syscall_arg1 () const -> u64
 
auto syscall_arg2 () const -> u64
 
auto syscall_arg3 () const -> u64
 
auto syscall_arg4 () const -> u64
 
auto syscall_arg5 () const -> u64
 
auto syscall_arg6 () const -> u64
 
void set_syscall_return (Expected< uptr > value)
 
void set_instruction_pointer (uptr value)
 
void set_stack_pointer (uptr value)
 
void set_argument1 (uptr value)
 
void set_argument2 (uptr value)
 
void set_argument3 (uptr value)
 
void set_argument4 (uptr value)
 
void context_switch_to ()
 Function to perform a context switch.
 

Public Attributes

u64 r15 { 0 }
 
u64 r14 { 0 }
 
u64 r13 { 0 }
 
u64 r12 { 0 }
 
u64 r11 { 0 }
 
u64 r10 { 0 }
 
u64 r9 { 0 }
 
u64 r8 { 0 }
 
u64 rbp { 0 }
 
u64 rdi { 0 }
 
u64 rsi { 0 }
 
u64 rdx { 0 }
 
u64 rcx { 0 }
 
u64 rbx { 0 }
 
u64 rax { 0 }
 
u64 rip { 0 }
 
u64 cs { 0 }
 
u64 rflags { 0 }
 
u64 rsp { 0 }
 
u64 ss { 0 }
 

Constructor & Destructor Documentation

◆ TaskState()

iris::arch::TaskState::TaskState ( bool userspace)
explicit

Member Function Documentation

◆ context_switch_to()

void iris::arch::TaskState::context_switch_to ( )

Function to perform a context switch.

◆ in_kernel()

auto iris::arch::TaskState::in_kernel ( ) const -> bool
inline

◆ set_argument1()

void iris::arch::TaskState::set_argument1 ( uptr value)
inline

◆ set_argument2()

void iris::arch::TaskState::set_argument2 ( uptr value)
inline

◆ set_argument3()

void iris::arch::TaskState::set_argument3 ( uptr value)
inline

◆ set_argument4()

void iris::arch::TaskState::set_argument4 ( uptr value)
inline

◆ set_instruction_pointer()

void iris::arch::TaskState::set_instruction_pointer ( uptr value)
inline

◆ set_stack_pointer()

void iris::arch::TaskState::set_stack_pointer ( uptr value)
inline

◆ set_syscall_return()

void iris::arch::TaskState::set_syscall_return ( Expected< uptr > value)
inline

◆ syscall_arg1()

auto iris::arch::TaskState::syscall_arg1 ( ) const -> u64
inline

◆ syscall_arg2()

auto iris::arch::TaskState::syscall_arg2 ( ) const -> u64
inline

◆ syscall_arg3()

auto iris::arch::TaskState::syscall_arg3 ( ) const -> u64
inline

◆ syscall_arg4()

auto iris::arch::TaskState::syscall_arg4 ( ) const -> u64
inline

◆ syscall_arg5()

auto iris::arch::TaskState::syscall_arg5 ( ) const -> u64
inline

◆ syscall_arg6()

auto iris::arch::TaskState::syscall_arg6 ( ) const -> u64
inline

◆ syscall_number()

auto iris::arch::TaskState::syscall_number ( ) const -> SystemCall
inline

Member Data Documentation

◆ cs

u64 iris::arch::TaskState::cs { 0 }

◆ r10

u64 iris::arch::TaskState::r10 { 0 }

◆ r11

u64 iris::arch::TaskState::r11 { 0 }

◆ r12

u64 iris::arch::TaskState::r12 { 0 }

◆ r13

u64 iris::arch::TaskState::r13 { 0 }

◆ r14

u64 iris::arch::TaskState::r14 { 0 }

◆ r15

u64 iris::arch::TaskState::r15 { 0 }

◆ r8

u64 iris::arch::TaskState::r8 { 0 }

◆ r9

u64 iris::arch::TaskState::r9 { 0 }

◆ rax

u64 iris::arch::TaskState::rax { 0 }

◆ rbp

u64 iris::arch::TaskState::rbp { 0 }

◆ rbx

u64 iris::arch::TaskState::rbx { 0 }

◆ rcx

u64 iris::arch::TaskState::rcx { 0 }

◆ rdi

u64 iris::arch::TaskState::rdi { 0 }

◆ rdx

u64 iris::arch::TaskState::rdx { 0 }

◆ rflags

u64 iris::arch::TaskState::rflags { 0 }

◆ rip

u64 iris::arch::TaskState::rip { 0 }

◆ rsi

u64 iris::arch::TaskState::rsi { 0 }

◆ rsp

u64 iris::arch::TaskState::rsp { 0 }

◆ ss

u64 iris::arch::TaskState::ss { 0 }

The documentation for this struct was generated from the following files: