Phoenix
Object-oriented orthogonally persistent operating system
Classes | Enumerations | Functions
cpu Namespace Reference

CPU-related definitions. More...

Classes

class  CpuCaps
 This class is used for CPU capabilities enquiring. More...

Enumerations

enum  CpuCapId {
  CPU_CAP_NONE, CPU_CAP_PG_PGE, CPU_CAP_PG_PAT, CPU_CAP_PG_PCID,
  CPU_CAP_PG_SMEP, CPU_CAP_PG_NX, CPU_CAP_PG_1GB, CPU_CAP_PG_WIDTH_PHYS,
  CPU_CAP_PG_WIDTH_LIN, CPU_CAP_MAX
}
 CPU capabilities which can be inquired. More...

Functions

void Pause ()
 Pseudo-instruction - pause CPU for short time to use in spin loops.
void Halt () __NORETURN
 Pseudo-instruction - stop CPU completely.
bool DisableInterrupts ()
 Pseudo-instruction - disable CPU interrupts.
void EnableInterrupts ()
 Pseudo-instruction - enable CPU interrupts.

Detailed Description

CPU-related definitions.


Enumeration Type Documentation

CPU capabilities which can be inquired.

Enumerator:
CPU_CAP_NONE 

Reserved.

CPU_CAP_PG_PGE 

Global-page support.

CPU_CAP_PG_PAT 

Page-attribute table.

CPU_CAP_PG_PCID 

Process-context identifiers.

CPU_CAP_PG_SMEP 

Supervisor-mode execution prevention.

CPU_CAP_PG_NX 

Execute disable.

CPU_CAP_PG_1GB 

1-GByte pages.

CPU_CAP_PG_WIDTH_PHYS 

Physical address width.

CPU_CAP_PG_WIDTH_LIN 

Linear address width.

CPU_CAP_MAX 

Number of capabilities available for inquiring.


Function Documentation

bool cpu::DisableInterrupts ( ) [inline]

Pseudo-instruction - disable CPU interrupts.

Should be defined in all architectures.

Returns:
Previous status of interrupts - true if the interrupts were enabled, false otherwise.
void cpu::EnableInterrupts ( ) [inline]

Pseudo-instruction - enable CPU interrupts.

Should be defined in all architectures.

void cpu::Halt ( ) [inline]

Pseudo-instruction - stop CPU completely.

Should be defined in all architectures.

void cpu::Pause ( ) [inline]

Pseudo-instruction - pause CPU for short time to use in spin loops.

Should be defined in all architectures.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines