The Pedigree Project  0.1
Classes | Macros | Typedefs | Functions | Variables

x64 processor-specific kernel More...

+ Collaboration diagram for x64:

Classes

class  HostedStackFrame
 
class  X64StackFrame
 
class  X64InterruptState
 
class  X64SyscallState
 
class  X64ProcessorState
 
class  X64SchedulerState
 
struct  X64TaskStateSegment
 
class  X64GdtManager
 
class  X64InterruptManager
 
class  X64SyscallManager
 
class  X64VirtualAddressSpace
 

Macros

#define PAGE_SIZE   4096
 
#define PAGE_SIZE   4096
 

Typedefs

typedef signed char X64int8_t
 
typedef unsigned char X64uint8_t
 
typedef signed short X64int16_t
 
typedef unsigned short X64uint16_t
 
typedef signed int X64int32_t
 
typedef unsigned int X64uint32_t
 
typedef signed long X64int64_t
 
typedef unsigned long X64uint64_t
 
typedef X64int64_t X64intptr_t
 
typedef X64uint64_t X64uintptr_t
 
typedef X64uint64_t X64physical_uintptr_t
 
typedef X64uint64_t X64processor_register_t
 
typedef X64int64_t X64ssize_t
 
typedef X64uint64_t X64size_t
 
typedef X64uint16_t X64io_port_t
 
typedef signed char X64int8_t
 
typedef unsigned char X64uint8_t
 
typedef signed short X64int16_t
 
typedef unsigned short X64uint16_t
 
typedef signed int X64int32_t
 
typedef unsigned int X64uint32_t
 
typedef signed long X64int64_t
 
typedef unsigned long X64uint64_t
 
typedef X64int64_t X64intptr_t
 
typedef X64uint64_t X64uintptr_t
 
typedef X64uint64_t X64physical_uintptr_t
 
typedef X64uint64_t X64processor_register_t
 
typedef X64int64_t X64ssize_t
 
typedef X64uint64_t X64size_t
 
typedef X64uint16_t X64io_port_t
 

Functions

uintptr_t physicalAddress (physical_uintptr_t address) PURE
 
template<typename T >
T * physicalAddress (T *pAddress) PURE
 

Variables

class X64InterruptState PACKED
 
struct X64TaskStateSegment PACKED
 

Detailed Description

x64 processor-specific kernel

x64 processor-specific kernel

Macro Definition Documentation

#define PAGE_SIZE   4096

Define the size of one physical page

Definition at line 63 of file modules/subsys/native/include/pedigree/native/x64/types.h.

#define PAGE_SIZE   4096

Define the size of one physical page

Definition at line 63 of file system/include/pedigree/kernel/processor/x64/types.h.

Typedef Documentation

typedef signed short X64int16_t

Define an 16bit signed integer type

Definition at line 31 of file modules/subsys/native/include/pedigree/native/x64/types.h.

typedef signed short X64int16_t

Define an 16bit signed integer type

Definition at line 31 of file system/include/pedigree/kernel/processor/x64/types.h.

typedef signed int X64int32_t

Define a 32bit signed integer type

Definition at line 35 of file modules/subsys/native/include/pedigree/native/x64/types.h.

typedef signed int X64int32_t

Define a 32bit signed integer type

Definition at line 35 of file system/include/pedigree/kernel/processor/x64/types.h.

typedef signed long X64int64_t

Define a 64bit signed integer type

Definition at line 39 of file system/include/pedigree/kernel/processor/x64/types.h.

typedef signed long X64int64_t

Define a 64bit signed integer type

Definition at line 39 of file modules/subsys/native/include/pedigree/native/x64/types.h.

typedef signed char X64int8_t

Define an 8bit signed integer type

Definition at line 27 of file system/include/pedigree/kernel/processor/x64/types.h.

typedef signed char X64int8_t

Define an 8bit signed integer type

Definition at line 27 of file modules/subsys/native/include/pedigree/native/x64/types.h.

Define a signed integer type for pointer arithmetic

Definition at line 44 of file modules/subsys/native/include/pedigree/native/x64/types.h.

Define a signed integer type for pointer arithmetic

Definition at line 44 of file system/include/pedigree/kernel/processor/x64/types.h.

Define an I/O port type

Definition at line 60 of file system/include/pedigree/kernel/processor/x64/types.h.

Define an I/O port type

Definition at line 60 of file modules/subsys/native/include/pedigree/native/x64/types.h.

Define a unsigned integer type for physical pointer arithmetic

Definition at line 49 of file modules/subsys/native/include/pedigree/native/x64/types.h.

Define a unsigned integer type for physical pointer arithmetic

Definition at line 49 of file system/include/pedigree/kernel/processor/x64/types.h.

Define an unsigned integer type for the processor registers

Definition at line 52 of file system/include/pedigree/kernel/processor/x64/types.h.

Define an unsigned integer type for the processor registers

Definition at line 52 of file modules/subsys/native/include/pedigree/native/x64/types.h.

Define size_t

Definition at line 57 of file system/include/pedigree/kernel/processor/x64/types.h.

Define size_t

Definition at line 57 of file modules/subsys/native/include/pedigree/native/x64/types.h.

Define ssize_t

Definition at line 55 of file system/include/pedigree/kernel/processor/x64/types.h.

Define ssize_t

Definition at line 55 of file modules/subsys/native/include/pedigree/native/x64/types.h.

typedef unsigned short X64uint16_t

Define an 16bit unsigned integer type

Definition at line 33 of file system/include/pedigree/kernel/processor/x64/types.h.

typedef unsigned short X64uint16_t

Define an 16bit unsigned integer type

Definition at line 33 of file modules/subsys/native/include/pedigree/native/x64/types.h.

typedef unsigned int X64uint32_t

Define a 32bit unsigned integer type

Definition at line 37 of file system/include/pedigree/kernel/processor/x64/types.h.

typedef unsigned int X64uint32_t

Define a 32bit unsigned integer type

Definition at line 37 of file modules/subsys/native/include/pedigree/native/x64/types.h.

typedef unsigned long X64uint64_t

Define a 64bit unsigned integer type

Definition at line 41 of file modules/subsys/native/include/pedigree/native/x64/types.h.

typedef unsigned long X64uint64_t

Define a 64bit unsigned integer type

Definition at line 41 of file system/include/pedigree/kernel/processor/x64/types.h.

typedef unsigned char X64uint8_t

Define an 8bit unsigned integer type

Definition at line 29 of file modules/subsys/native/include/pedigree/native/x64/types.h.

typedef unsigned char X64uint8_t

Define an 8bit unsigned integer type

Definition at line 29 of file system/include/pedigree/kernel/processor/x64/types.h.

Define an unsigned integer type for pointer arithmetic

Definition at line 46 of file modules/subsys/native/include/pedigree/native/x64/types.h.

Define an unsigned integer type for pointer arithmetic

Definition at line 46 of file system/include/pedigree/kernel/processor/x64/types.h.

Function Documentation

uintptr_t physicalAddress ( physical_uintptr_t  address)
inline
template<typename T >
T * physicalAddress ( T *  pAddress)
inline

Get the virtual address from the physical address. This is possible on x64 because the whole physical memory is mapped into the virtual address space

Parameters
[in]pAddressthe physical address
Returns
the virtual address

Definition at line 49 of file utils.h.