Iros
 
Loading...
Searching...
No Matches
iris::Processor Class Reference

#include <iris/core/processor.h>

Inheritance diagram for iris::Processor:
[legend]

Public Member Functions

 Processor ()=default
 
 Processor (u16 id)
 
auto id () const -> u16
 
auto scheduler () -> Scheduler &
 
void mark_as_initialized ()
 
auto is_initialized () const -> bool
 
void mark_as_booted ()
 
auto is_booted () const -> bool
 
void mark_as_online ()
 
auto is_online () const -> bool
 
auto arch_processor () -> arch::ArchProcessor &
 
void send_ipi (u32 target_processor_id, di::FunctionRef< void(IpiMessage &)> factory)
 
void broadcast_ipi (di::FunctionRef< void(IpiMessage &)> factory)
 
void handle_pending_ipi_messages ()
 
void flush_tlb_local (mm::VirtualAddress base, usize byte_length)
 
void flush_tlb_local ()
 
- Public Member Functions inherited from di::util::SelfPointer< T >
constexpr SelfPointer ()
 
constexpr SelfPointer (SelfPointer const &)
 
constexpr SelfPointer (SelfPointer &&)
 
constexpr auto operator= (SelfPointer const &) -> SelfPointer &
 
constexpr auto operator= (SelfPointer &&) -> SelfPointer &
 

Additional Inherited Members

- Public Attributes inherited from di::util::SelfPointer< T >
T * self { nullptr }
 

Constructor & Destructor Documentation

◆ Processor() [1/2]

iris::Processor::Processor ( )
default

◆ Processor() [2/2]

iris::Processor::Processor ( u16 id)
inlineexplicit

Member Function Documentation

◆ arch_processor()

auto iris::Processor::arch_processor ( ) -> arch::ArchProcessor&
inline

◆ broadcast_ipi()

void iris::Processor::broadcast_ipi ( di::FunctionRef< void(IpiMessage &)> factory)

◆ flush_tlb_local() [1/2]

void iris::Processor::flush_tlb_local ( )

◆ flush_tlb_local() [2/2]

void iris::Processor::flush_tlb_local ( mm::VirtualAddress base,
usize byte_length )

◆ handle_pending_ipi_messages()

void iris::Processor::handle_pending_ipi_messages ( )

◆ id()

auto iris::Processor::id ( ) const -> u16
inline

◆ is_booted()

auto iris::Processor::is_booted ( ) const -> bool
inline

◆ is_initialized()

auto iris::Processor::is_initialized ( ) const -> bool
inline

◆ is_online()

auto iris::Processor::is_online ( ) const -> bool
inline

◆ mark_as_booted()

void iris::Processor::mark_as_booted ( )
inline

◆ mark_as_initialized()

void iris::Processor::mark_as_initialized ( )
inline

◆ mark_as_online()

void iris::Processor::mark_as_online ( )
inline

◆ scheduler()

auto iris::Processor::scheduler ( ) -> Scheduler&
inline

◆ send_ipi()

void iris::Processor::send_ipi ( u32 target_processor_id,
di::FunctionRef< void(IpiMessage &)> factory )

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