#
dde876f9 |
|
14-Apr-2018 |
Jérôme Duval <jerome.duval@gmail.com> |
kernel: pae paging: align *TableEntry() with 64bit paging use SetTableEntry() in PutPageTableInPageDir() and PutPageTableEntryInTable().
|
#
2e3cbcfa |
|
01-Dec-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
x86: Allocate as much initial physical page pools as needed
|
#
077c84eb |
|
05-Nov-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel: atomic_*() functions rework * No need for the atomically changed variables to be declared as volatile. * Drop support for atomically getting and setting unaligned data. * Introduce atomic_get_and_set[64]() which works the same as atomic_set[64]() used to. atomic_set[64]() does not return the previous value anymore.
|
#
e276cc04 |
|
05-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Finished implementation of x86_64 paging. * vm_init now runs up until create_preloaded_image_areas(), which needs fixing to handle ELF64. * Not completely tested. I know Map(), Unmap() and Query() work fine, the other methods have not been tested as the kernel doesn't boot far enough for any of them to be called yet. As far as I know they're correct, though. * Not yet implemented the destructor for X86VMTranslationMap64Bit or Init() for a user address space.
|
#
9e93cc9a |
|
13-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
X86PagingMethodPAE::MemoryTypeToPageTableEntryFlags(): Return value must be uint64, since that's the width of the page table entry. Was harmless, though, since the flags are in the lower 32 bits anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37129 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d896949 |
|
10-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added methods {Allocate,Free}32BitPage(), which allocate+map/unmap+free a page with a 32 bit physical address (needed for the PDPTs). A small set of free pages is cached, so the rather expensive vm_page_allocate_page_run() can be avoided most of the time. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37088 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c4c918a |
|
10-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fleshed out most of the unimplemented methods. The kernel boots up to the creation of the initial shell, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37085 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d6d1935 |
|
09-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented X86PagingMethodPAE::Init() and all of its direct dependencies: * The 32 bit paging structures inherited from the boot loader are translated to PAE structures and PAE is enabled. * Implemented the initialization of the initial PhysicalPageSlotPool, so that the physical page mapper can be initialized. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5b4d62a2 |
|
08-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Skeleton classes for PAE support. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37066 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2e3cbcfa8a455f6d0ac65f51e795e42ccfbf9eb3 |
|
01-Dec-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
x86: Allocate as much initial physical page pools as needed
|
#
077c84eb27b25430428d356f3d13afabc0cc0d13 |
|
05-Nov-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
kernel: atomic_*() functions rework * No need for the atomically changed variables to be declared as volatile. * Drop support for atomically getting and setting unaligned data. * Introduce atomic_get_and_set[64]() which works the same as atomic_set[64]() used to. atomic_set[64]() does not return the previous value anymore.
|
#
e276cc0457a4ddb3f137504e220ee5e839f132d4 |
|
05-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Finished implementation of x86_64 paging. * vm_init now runs up until create_preloaded_image_areas(), which needs fixing to handle ELF64. * Not completely tested. I know Map(), Unmap() and Query() work fine, the other methods have not been tested as the kernel doesn't boot far enough for any of them to be called yet. As far as I know they're correct, though. * Not yet implemented the destructor for X86VMTranslationMap64Bit or Init() for a user address space.
|
#
9e93cc9ab7108bfb9339c07e4acb5382068c8651 |
|
13-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
X86PagingMethodPAE::MemoryTypeToPageTableEntryFlags(): Return value must be uint64, since that's the width of the page table entry. Was harmless, though, since the flags are in the lower 32 bits anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37129 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d89694992e4c05f2296ad711ebd35905efeb152 |
|
10-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added methods {Allocate,Free}32BitPage(), which allocate+map/unmap+free a page with a 32 bit physical address (needed for the PDPTs). A small set of free pages is cached, so the rather expensive vm_page_allocate_page_run() can be avoided most of the time. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37088 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c4c918a3da495a74d756206a8b7c3dbf1286109 |
|
10-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fleshed out most of the unimplemented methods. The kernel boots up to the creation of the initial shell, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37085 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d6d1935d6cf1b294dc40f43ba977e82ea38b704 |
|
09-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented X86PagingMethodPAE::Init() and all of its direct dependencies: * The 32 bit paging structures inherited from the boot loader are translated to PAE structures and PAE is enabled. * Implemented the initialization of the initial PhysicalPageSlotPool, so that the physical page mapper can be initialized. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5b4d62a2618dd2ae37b975e4ca283b410f39f9c7 |
|
08-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Skeleton classes for PAE support. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37066 a95241bf-73f2-0310-859d-f6bbb57e9c96
|