NeKernel dev
Loading...
Searching...
No Matches
Processor.h File Reference
#include <NeKit/Config.h>
#include <NeKit/Utils.h>

Go to the source code of this file.

Classes

struct  Kernel::HAL::StackFrame
 Stack frame (as retrieved from assembly.). More...

Namespaces

namespace  Kernel
 UPS inline definitions.
namespace  Kernel::HAL
 Hardware Abstraction Layer.

Macros

#define rtl_nop_op()
#define kHalPPCAlignment   __attribute__((aligned(4)))

Typedefs

typedef UIntPtr Kernel::HAL::Reg
typedef StackFrameKernel::HAL::StackFramePtr

Functions

Void Kernel::HAL::rt_halt ()
Void Kernel::HAL::rt_cli ()
EXTERN_C Kernel::Void int_handle_math (Kernel::UIntPtr sp)
 Handle math fault.
EXTERN_C Kernel::Void int_handle_pf (Kernel::UIntPtr sp)
 Handle page fault.
Kernel::Bool hal_set_tlb (Kernel::UInt8 tlb, Kernel::UInt32 epn, Kernel::UInt64 rpn, Kernel::UInt8 perms, Kernel::UInt8 wimge, Kernel::UInt8 ts, Kernel::UInt8 esel, Kernel::UInt8 tsize, Kernel::UInt8 iprot)
 Set TLB.
Kernel::Void hal_write_tlb (Kernel::UInt32 mas0, Kernel::UInt32 mas1, Kernel::UInt32 mas2, Kernel::UInt32 mas3, Kernel::UInt32 mas7)
 Write TLB.
EXTERN_C Kernel::Void hal_flush_tlb ()
 Flush TLB.

Macro Definition Documentation

◆ kHalPPCAlignment

#define kHalPPCAlignment   __attribute__((aligned(4)))

◆ rtl_nop_op

#define rtl_nop_op ( )
Value:
asm volatile("mr 0, 0")

Function Documentation

◆ hal_flush_tlb()

EXTERN_C Kernel::Void hal_flush_tlb ( )

Flush TLB.

◆ hal_set_tlb()

Set TLB.

◆ hal_write_tlb()

Kernel::Void hal_write_tlb ( Kernel::UInt32 mas0,
Kernel::UInt32 mas1,
Kernel::UInt32 mas2,
Kernel::UInt32 mas3,
Kernel::UInt32 mas7 )

Write TLB.

◆ int_handle_math()

EXTERN_C Kernel::Void int_handle_math ( Kernel::UIntPtr rsp)

Handle math fault.

Parameters
rsp

◆ int_handle_pf()

EXTERN_C Kernel::Void int_handle_pf ( Kernel::UIntPtr rsp)

Handle page fault.

Parameters
rsp