|
The Pedigree Project 0.1
|
x64 processor-specific kernel More...
Collaboration diagram for x64:Classes | |
| class | HostedStackFrame |
| class | X64StackFrame |
| struct | X64UserEntryMetadata |
| class | X64InterruptState |
| class | X64SyscallState |
| class | X64ProcessorState |
| class | X64SchedulerState |
| struct | X64TaskStateSegment |
| class | X64GdtManager |
| class | X64InterruptManager |
| class | X64SyscallManager |
| class | X64VirtualAddressSpace |
Macros | |
| #define | PAGE_SIZE 4096 |
Functions | |
| EXPORTED_PUBLIC void | pedigree_materialize_user_entry () |
| uintptr_t | physicalAddress (physical_uintptr_t address) PURE |
| template<typename T > | |
| T * | physicalAddress (T *pAddress) PURE |
Variables | |
| struct X64UserEntryMetadata | PACKED |
| struct X64TaskStateSegment | PACKED |
x64 processor-specific kernel
x64 processor-specific kernel
| #define PAGE_SIZE 4096 |
Define the size of one physical page
Definition at line 65 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef signed short X64int16_t |
Define an 16bit signed integer type
Definition at line 32 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 32 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef signed int X64int32_t |
Define a 32bit signed integer type
Definition at line 36 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 36 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef signed long X64int64_t |
Define a 64bit signed integer type
Definition at line 40 of file modules/subsys/native/include/pedigree/native/x64/types.h.
| typedef signed long X64int64_t |
Define a 64bit signed integer type
Definition at line 40 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef signed char X64int8_t |
Define an 8bit signed integer type
Definition at line 28 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 28 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef X64int64_t X64intptr_t |
Define a signed integer type for pointer arithmetic
Definition at line 45 of file modules/subsys/native/include/pedigree/native/x64/types.h.
| typedef X64int64_t X64intptr_t |
Define a signed integer type for pointer arithmetic
Definition at line 45 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef X64uint16_t X64io_port_t |
Define an I/O port type
Definition at line 61 of file modules/subsys/native/include/pedigree/native/x64/types.h.
| typedef X64uint16_t X64io_port_t |
Define an I/O port type
Definition at line 61 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef X64uint64_t X64physical_uintptr_t |
Define a unsigned integer type for physical pointer arithmetic
Definition at line 50 of file modules/subsys/native/include/pedigree/native/x64/types.h.
| typedef X64uint64_t X64physical_uintptr_t |
Define a unsigned integer type for physical pointer arithmetic
Definition at line 50 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef X64uint64_t X64processor_register_t |
Define an unsigned integer type for the processor registers
Definition at line 53 of file modules/subsys/native/include/pedigree/native/x64/types.h.
| typedef X64uint64_t X64processor_register_t |
Define an unsigned integer type for the processor registers
Definition at line 53 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef X64uint64_t X64size_t |
Define size_t
Definition at line 58 of file modules/subsys/native/include/pedigree/native/x64/types.h.
| typedef X64uint64_t X64size_t |
Define size_t
Definition at line 58 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef X64int64_t X64ssize_t |
Define ssize_t
Definition at line 56 of file modules/subsys/native/include/pedigree/native/x64/types.h.
| typedef X64int64_t X64ssize_t |
Define ssize_t
Definition at line 56 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef unsigned short X64uint16_t |
Define an 16bit unsigned integer type
Definition at line 34 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 34 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef unsigned int X64uint32_t |
Define a 32bit unsigned integer type
Definition at line 38 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 38 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef unsigned long X64uint64_t |
Define a 64bit unsigned integer type
Definition at line 42 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 42 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef unsigned char X64uint8_t |
Define an 8bit unsigned integer type
Definition at line 30 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 30 of file system/include/pedigree/kernel/processor/x64/types.h.
| typedef X64uint64_t X64uintptr_t |
Define an unsigned integer type for pointer arithmetic
Definition at line 47 of file modules/subsys/native/include/pedigree/native/x64/types.h.
| typedef X64uint64_t X64uintptr_t |
Define an unsigned integer type for pointer arithmetic
Definition at line 47 of file system/include/pedigree/kernel/processor/x64/types.h.
|
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
| [in] | address | the physical address |
Definition at line 39 of file utils.h.
Referenced by PhysicalMemoryManager::allocateMemoryRegionList(), X64VirtualAddressSpace::clone(), X64VirtualAddressSpace::conditionalTableEntryAllocation(), X64VirtualAddressSpace::conditionalTableEntryMapping(), X64VirtualAddressSpace::copyResidentUserPage(), X86CommonPhysicalMemoryManager::PageStack::free(), X64VirtualAddressSpace::handleCopyOnWriteFault(), X86CommonPhysicalMemoryManager::PageStack::maybeMap(), X64VirtualAddressSpace::revertToKernelAddressSpace(), X64VirtualAddressSpace::tryWriteUser32(), and X64VirtualAddressSpace::X64VirtualAddressSpace().
Here is the caller graph for this function:
|
inline |