NeKernel dev
Loading...
Searching...
No Matches
Kernel::Detail Namespace Reference

Implementation details namespace. More...

Classes

struct  FADT
struct  HPET_BLOCK
struct  MM_INFORMATION_BLOCK
 Kernel heap information block. Located before the address bytes. | HIB | CLASS/STRUCT/DATA TYPES... |. More...

Typedefs

typedef MM_INFORMATION_BLOCKMM_INFORMATION_BLOCK_PTR

Functions

UInt32 hefs_year_get (ATime raw_atime) noexcept
 HeFS get year from ATime.
UInt32 hefs_month_get (ATime raw_atime) noexcept
 HeFS get month from ATime.
UInt32 hefs_day_get (ATime raw_atime) noexcept
 HeFS get day from ATime.
UInt32 hefs_hour_get (ATime raw_atime) noexcept
 HeFS get hour from ATime.
UInt32 hefs_minute_get (ATime raw_atime) noexcept
 HeFS get minute from ATime.
const Charhefs_status_to_string (UInt16 status) noexcept
const Charhefs_drive_kind_to_string (UInt8 kind) noexcept
const Charhefs_encoding_to_string (UInt8 encoding) noexcept
const Charhefs_file_kind_to_string (UInt16 kind) noexcept
const Charhefs_file_flags_to_string (UInt32 flags) noexcept
constexpr ATTRIBUTE (unused) const UInt16 kPort=0x3F8 = kStateInvalid
template<UInt16 PORT>
bool hal_serial_init () noexcept
 Init COM1.
STATIC Void sk_io_read_ahci (DeviceInterface< MountpointInterface * > *self, MountpointInterface *mnt)
 Read AHCI device.
STATIC Void sk_io_write_ahci (DeviceInterface< MountpointInterface * > *self, MountpointInterface *mnt)
 Write AHCI device.
STATIC Void sk_io_read_pio (DeviceInterface< MountpointInterface * > *self, MountpointInterface *mnt)
 Read PIO device.
STATIC Void sk_io_write_pio (DeviceInterface< MountpointInterface * > *self, MountpointInterface *mnt)
 Write PIO device.
STATIC Void mp_setup_gic_el0 (Void)
 Enables the GIC with EL0 configuration.
EXTERN_C BOOL mp_handle_gic_interrupt_el0 (Void)
STATIC void mp_hang_fn (void)
TerminalDevice _write_number (const Long &x, TerminalDevice &term)
TerminalDevice _write_number_hex (const Long &x, TerminalDevice &term)
Void io_detect_drive (DriveTrait &trait)
_Output auto mm_check_ptr_address (VoidPtr heap_ptr) -> Bool
 Check for heap address validity.
UInt32 ldr_get_platform (void) noexcept
 Get the PEF platform signature according to the compiled architecture.
STATIC UInt64 user_fnv_generator (const Char *password, User *user)
 Constructs a password by hashing the password.

Variables

constexpr UInt32 kHeFSBaseYear = 1970
constexpr UInt32 kHeFSBaseMonth = 1
constexpr UInt32 kHeFSBaseDay = 1
constexpr UInt32 kHeFSBaseHour = 0
constexpr UInt32 kHeFSBaseMinute = 0
Kernel::Detail::HPET_BLOCK PACKED
STATIC BOOL kGICEnabled = NO
struct PACKED MM_INFORMATION_BLOCK

Detailed Description

Implementation details namespace.

Implementation details.

Typedef Documentation

◆ MM_INFORMATION_BLOCK_PTR

Function Documentation

◆ _write_number()

TerminalDevice Kernel::Detail::_write_number ( const Long & x,
TerminalDevice & term )
inline

◆ _write_number_hex()

TerminalDevice Kernel::Detail::_write_number_hex ( const Long & x,
TerminalDevice & term )
inline

◆ ATTRIBUTE()

STATIC Kernel::Detail::ATTRIBUTE ( unused ) const = kStateInvalid
constexprpure virtual

◆ hal_serial_init()

template<UInt16 PORT>
bool Kernel::Detail::hal_serial_init ( )
noexcept

Init COM1.

Returns

◆ hefs_day_get()

UInt32 Kernel::Detail::hefs_day_get ( ATime raw_atime)
inlinenoexcept

HeFS get day from ATime.

Parameters
raw_atimethe raw ATime value.
Returns
the day value.
Note
The day is stored in the upper 16 bits of the ATime value.

◆ hefs_drive_kind_to_string()

const Char * Kernel::Detail::hefs_drive_kind_to_string ( UInt8 kind)
inlinenoexcept

◆ hefs_encoding_to_string()

const Char * Kernel::Detail::hefs_encoding_to_string ( UInt8 encoding)
inlinenoexcept

◆ hefs_file_flags_to_string()

const Char * Kernel::Detail::hefs_file_flags_to_string ( UInt32 flags)
inlinenoexcept

◆ hefs_file_kind_to_string()

const Char * Kernel::Detail::hefs_file_kind_to_string ( UInt16 kind)
inlinenoexcept

◆ hefs_hour_get()

UInt32 Kernel::Detail::hefs_hour_get ( ATime raw_atime)
inlinenoexcept

HeFS get hour from ATime.

Parameters
raw_atimethe raw ATime value.
Returns
the hour value.
Note
The hour is stored in the upper 8 bits of the ATime value.

◆ hefs_minute_get()

UInt32 Kernel::Detail::hefs_minute_get ( ATime raw_atime)
inlinenoexcept

HeFS get minute from ATime.

Parameters
raw_atimethe raw ATime value.
Returns
the minute value.
Note
The minute is stored in the lower 8 bits of the ATime value.

◆ hefs_month_get()

UInt32 Kernel::Detail::hefs_month_get ( ATime raw_atime)
inlinenoexcept

HeFS get month from ATime.

Parameters
raw_atimethe raw ATime value.
Returns
the month value.
Note
The month is stored in the upper 24 bits of the ATime value.

◆ hefs_status_to_string()

const Char * Kernel::Detail::hefs_status_to_string ( UInt16 status)
inlinenoexcept

◆ hefs_year_get()

UInt32 Kernel::Detail::hefs_year_get ( ATime raw_atime)
inlinenoexcept

HeFS get year from ATime.

Parameters
raw_atimethe raw ATime value.
Returns
the year value.
Note
The year is stored in the upper 32 bits of the ATime value.

◆ io_detect_drive()

Void Kernel::Detail::io_detect_drive ( DriveTrait & trait)

◆ ldr_get_platform()

UInt32 Kernel::Detail::ldr_get_platform ( void )
noexcept

Get the PEF platform signature according to the compiled architecture.

◆ mm_check_ptr_address()

_Output auto Kernel::Detail::mm_check_ptr_address ( VoidPtr heap_ptr) -> Bool

Check for heap address validity.

Parameters
heap_ptrThe address_ptr to check.
Returns
Bool if the pointer is valid or not.

Add that check in case we're having an integer underflow. ///

◆ mp_handle_gic_interrupt_el0()

EXTERN_C BOOL Kernel::Detail::mp_handle_gic_interrupt_el0 ( Void )

◆ mp_hang_fn()

STATIC void Kernel::Detail::mp_hang_fn ( void )

◆ mp_setup_gic_el0()

STATIC Void Kernel::Detail::mp_setup_gic_el0 ( Void )

Enables the GIC with EL0 configuration.

◆ sk_io_read_ahci()

STATIC Void Kernel::Detail::sk_io_read_ahci ( DeviceInterface< MountpointInterface * > * self,
MountpointInterface * mnt )

Read AHCI device.

Parameters
selfdevice
mntmounted disk.

◆ sk_io_read_pio()

STATIC Void Kernel::Detail::sk_io_read_pio ( DeviceInterface< MountpointInterface * > * self,
MountpointInterface * mnt )

Read PIO device.

Parameters
selfdevice
mntmounted disk.

◆ sk_io_write_ahci()

STATIC Void Kernel::Detail::sk_io_write_ahci ( DeviceInterface< MountpointInterface * > * self,
MountpointInterface * mnt )

Write AHCI device.

Parameters
selfdevice
mntmounted disk.

◆ sk_io_write_pio()

STATIC Void Kernel::Detail::sk_io_write_pio ( DeviceInterface< MountpointInterface * > * self,
MountpointInterface * mnt )

Write PIO device.

Parameters
selfdevice
mntmounted disk.

◆ user_fnv_generator()

STATIC UInt64 Kernel::Detail::user_fnv_generator ( const Char * password,
User * user )

Constructs a password by hashing the password.

Parameters
passwordpassword to hash.
Returns
the hashed password

Variable Documentation

◆ kGICEnabled

STATIC BOOL Kernel::Detail::kGICEnabled = NO

◆ kHeFSBaseDay

UInt32 Kernel::Detail::kHeFSBaseDay = 1
inlineconstexpr

◆ kHeFSBaseHour

UInt32 Kernel::Detail::kHeFSBaseHour = 0
inlineconstexpr

◆ kHeFSBaseMinute

UInt32 Kernel::Detail::kHeFSBaseMinute = 0
inlineconstexpr

◆ kHeFSBaseMonth

UInt32 Kernel::Detail::kHeFSBaseMonth = 1
inlineconstexpr

◆ kHeFSBaseYear

UInt32 Kernel::Detail::kHeFSBaseYear = 1970
inlineconstexpr

◆ MM_INFORMATION_BLOCK

struct PACKED Kernel::Detail::MM_INFORMATION_BLOCK

◆ PACKED

Kernel::Detail::HPET_BLOCK Kernel::Detail::PACKED