Iros
 
Loading...
Searching...
No Matches
iris::x86::amd64::IoApic Class Reference

#include <iris/arch/x86/amd64/hw/io_apic.h>

Public Member Functions

 IoApic (mm::PhysicalAddress access_base, u8 global_offset)
 
auto id () const -> u8
 
auto max_redirection_entry () const -> u8
 
auto direct_read (IoApicOffset) -> u32
 
auto direct_read64 (IoApicOffset offset) -> u64
 
void direct_write (IoApicOffset, u32)
 
void direct_write64 (IoApicOffset offset, u64 value)
 
auto read_redirection_entry (u8 offset) -> IoApicRedirectionTableEntry
 
void write_redirection_entry (u8 offset, IoApicRedirectionTableEntry entry)
 

Friends

void tag_invoke (di::Tag< send_eoi >, IoApic &, IrqLine irq_line)
 
void tag_invoke (di::Tag< disable_irq_line >, IoApic &self, IrqLine irq_line)
 
void tag_invoke (di::Tag< enable_irq_line >, IoApic &self, IrqLine irq_line)
 
auto tag_invoke (di::Tag< responsible_irq_line_range >, IoApic const &self) -> IrqLineRange
 

Constructor & Destructor Documentation

◆ IoApic()

iris::x86::amd64::IoApic::IoApic ( mm::PhysicalAddress access_base,
u8 global_offset )

Member Function Documentation

◆ direct_read()

auto iris::x86::amd64::IoApic::direct_read ( IoApicOffset offset) -> u32

◆ direct_read64()

auto iris::x86::amd64::IoApic::direct_read64 ( IoApicOffset offset) -> u64
inline

◆ direct_write()

void iris::x86::amd64::IoApic::direct_write ( IoApicOffset offset,
u32 value )

◆ direct_write64()

void iris::x86::amd64::IoApic::direct_write64 ( IoApicOffset offset,
u64 value )
inline

◆ id()

auto iris::x86::amd64::IoApic::id ( ) const -> u8
inline

◆ max_redirection_entry()

auto iris::x86::amd64::IoApic::max_redirection_entry ( ) const -> u8
inline

◆ read_redirection_entry()

auto iris::x86::amd64::IoApic::read_redirection_entry ( u8 offset) -> IoApicRedirectionTableEntry
inline

◆ write_redirection_entry()

void iris::x86::amd64::IoApic::write_redirection_entry ( u8 offset,
IoApicRedirectionTableEntry entry )
inline

Friends And Related Symbol Documentation

◆ tag_invoke [1/4]

void tag_invoke ( di::Tag< disable_irq_line > ,
IoApic & self,
IrqLine irq_line )
friend

◆ tag_invoke [2/4]

void tag_invoke ( di::Tag< enable_irq_line > ,
IoApic & self,
IrqLine irq_line )
friend

◆ tag_invoke [3/4]

auto tag_invoke ( di::Tag< responsible_irq_line_range > ,
IoApic const & self ) -> IrqLineRange
friend

◆ tag_invoke [4/4]

void tag_invoke ( di::Tag< send_eoi > ,
IoApic & ,
IrqLine irq_line )
friend

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