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 UInt64 dk_socket_type
typedef MM_INFORMATION_BLOCKMM_INFORMATION_BLOCK_PTR

Functions

UInt32 hefs_year_get (ATime raw_atime)
 OpenHeFS get year from ATime.
UInt32 hefs_month_get (ATime raw_atime)
 OpenHeFS get month from ATime.
UInt32 hefs_day_get (ATime raw_atime)
 OpenHeFS get day from ATime.
UInt32 hefs_hour_get (ATime raw_atime)
 OpenHeFS get hour from ATime.
UInt32 hefs_minute_get (ATime raw_atime)
 OpenHeFS get minute from ATime.
const Charhefs_status_to_string (UInt16 status)
const Charhefs_drive_kind_to_string (UInt8 kind)
const Charhefs_encoding_to_string (UInt8 encoding)
const Charhefs_file_kind_to_string (UInt16 kind)
const Charhefs_file_flags_to_string (UInt32 flags)
constexpr ATTRIBUTE (unused) const UInt16 kPort=0x3F8 = kStateInvalid
template<UInt16 PORT>
bool hal_serial_init ()
 Init COM1.
STATIC Void sk_io_read_ahci (DeviceInterface< IMountpoint * > *self, IMountpoint *mnt)
 Read AHCI device.
STATIC Void sk_io_write_ahci (DeviceInterface< IMountpoint * > *self, IMountpoint *mnt)
 Write AHCI device.
STATIC Void sk_io_read_pio (DeviceInterface< IMountpoint * > *self, IMountpoint *mnt)
 Read PIO device.
STATIC Void sk_io_write_pio (DeviceInterface< IMountpoint * > *self, IMountpoint *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)
_Output auto mm_check_ptr_address (VoidPtr heap_ptr) -> Bool
 Check for heap address validity.
UInt32 ldr_get_platform_pe (void)
 Get the PE32+ 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 kOpenHeFSBaseYear = 1970
constexpr UInt32 kOpenHeFSBaseMonth = 1
constexpr UInt32 kOpenHeFSBaseDay = 1
constexpr UInt32 kOpenHeFSBaseHour = 0
constexpr UInt32 kOpenHeFSBaseMinute = 0
Kernel::Detail::HPET_BLOCK PACKED
STATIC BOOL kGICEnabled = NO
constexpr auto kDebugCmdLen = 256U
constexpr auto kDebugPort = 51820
constexpr auto kDebugMagic = "NE1.0.0;"
constexpr auto kDebugVersion = 0x0100
constexpr auto kDebugDelim = ';'
constexpr auto kDebugEnd = '\r'
struct PACKED MM_INFORMATION_BLOCK

Detailed Description

Implementation details namespace.

Implementation details.

Note
This part of the HAL needs an owner.

Typedef Documentation

◆ dk_socket_type

◆ 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 ( )

Init COM1.

Returns

◆ hefs_day_get()

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

OpenHeFS 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)
inline

◆ hefs_encoding_to_string()

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

◆ hefs_file_flags_to_string()

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

◆ hefs_file_kind_to_string()

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

◆ hefs_hour_get()

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

OpenHeFS 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)
inline

OpenHeFS 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)
inline

OpenHeFS 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)
inline

◆ hefs_year_get()

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

OpenHeFS 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.

◆ ldr_get_platform_pe()

UInt32 Kernel::Detail::ldr_get_platform_pe ( void )

Get the PE32+ 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< IMountpoint * > * self,
IMountpoint * mnt )

Read AHCI device.

Parameters
selfdevice
mntmounted disk.

◆ sk_io_read_pio()

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

Read PIO device.

Parameters
selfdevice
mntmounted disk.

◆ sk_io_write_ahci()

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

Write AHCI device.

Parameters
selfdevice
mntmounted disk.

◆ sk_io_write_pio()

STATIC Void Kernel::Detail::sk_io_write_pio ( DeviceInterface< IMountpoint * > * self,
IMountpoint * 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

◆ kDebugCmdLen

auto Kernel::Detail::kDebugCmdLen = 256U
inlineconstexpr

◆ kDebugDelim

auto Kernel::Detail::kDebugDelim = ';'
inlineconstexpr

◆ kDebugEnd

auto Kernel::Detail::kDebugEnd = '\r'
inlineconstexpr

◆ kDebugMagic

auto Kernel::Detail::kDebugMagic = "NE1.0.0;"
inlineconstexpr

◆ kDebugPort

auto Kernel::Detail::kDebugPort = 51820
inlineconstexpr

◆ kDebugVersion

auto Kernel::Detail::kDebugVersion = 0x0100
inlineconstexpr

◆ kGICEnabled

STATIC BOOL Kernel::Detail::kGICEnabled = NO

◆ kOpenHeFSBaseDay

UInt32 Kernel::Detail::kOpenHeFSBaseDay = 1
inlineconstexpr

◆ kOpenHeFSBaseHour

UInt32 Kernel::Detail::kOpenHeFSBaseHour = 0
inlineconstexpr

◆ kOpenHeFSBaseMinute

UInt32 Kernel::Detail::kOpenHeFSBaseMinute = 0
inlineconstexpr

◆ kOpenHeFSBaseMonth

UInt32 Kernel::Detail::kOpenHeFSBaseMonth = 1
inlineconstexpr

◆ kOpenHeFSBaseYear

UInt32 Kernel::Detail::kOpenHeFSBaseYear = 1970
inlineconstexpr

◆ MM_INFORMATION_BLOCK

struct PACKED Kernel::Detail::MM_INFORMATION_BLOCK

◆ PACKED

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