4lDO2
32caee3095
Add arch functions for checking canonical addrs.
2021-07-08 13:27:08 +02:00
4lDO2
c66956ca2a
Remove unused #![feature(const_fn)].
2021-06-17 18:42:03 +02:00
Jeremy Soller
c81c4de223
Add method to get TableKind from VirtualAddress
2021-05-04 08:10:44 -06:00
Jeremy Soller
5e47692b8d
Support more operations on PageFlags
2021-05-04 08:10:44 -06:00
Jeremy Soller
2f74326384
Add riscv64 sv39 and sv48
2021-05-04 08:10:34 -06:00
Jeremy Soller
c46d148e26
Fix tests for aarch64
2021-05-02 21:25:27 -06:00
Jeremy Soller
7fd1218465
Merge remote-tracking branch 'origin/aarch64-rebase'
2021-04-13 19:12:48 -06:00
Jeremy Soller
132d91d3aa
Fixed page flags for aarch64
2021-01-14 15:54:51 -07:00
Jeremy Soller
cb6b44d69e
Use devmap offset for physmap on aarch64
2021-01-14 12:35:27 -07:00
Jeremy Soller
1214f3dcdc
Add PageFlags to abstract differences between architectures
2021-01-14 10:01:36 -07:00
Jeremy Soller
c5774c5529
Add TableKind for future use
2021-01-14 09:16:46 -07:00
Jeremy Soller
dafd9cb3c4
Add ENTRY_FLAG_DEFAULT_PAGE and ENTRY_FLAG_DEFAULT_TABLE
2021-01-14 09:16:37 -07:00
Jeremy Soller
fad48af985
WIP: aarch64 support
2021-01-13 10:47:35 -07:00
Jeremy Soller
b1c7b9638d
Merge branch 'fix-repr-packed' into 'master'
...
Fix possible UB by implementing Copy and Clone manually for BuddyEntry.
See merge request redox-os/rmm!1
2020-12-20 16:08:31 +00:00
4lDO2
9a716604fc
Implement Copy and Clone manually for BuddyEntry.
...
This fixes a warning that may in the future become an error, about the
possibility for unaligned references, since the derive macros apparently
rely on creating references to fields. Unaligned references are direct
UB.
2020-12-20 16:36:52 +01:00
Jeremy Soller
cdbeecfffe
Remove some warnings
2020-09-14 09:47:29 -06:00
Jeremy Soller
936352a049
FrameCount::new function
2020-09-14 09:47:23 -06:00
Jeremy Soller
8e0df608e2
Add allocator usage information
2020-09-14 09:41:56 -06:00
Jeremy Soller
e94d7e7772
Rewrite buddy allocator
2020-09-14 09:41:42 -06:00
Jeremy Soller
a775c9e987
Require Arch to implement Clone and Copy
2020-09-14 09:08:28 -06:00
Jeremy Soller
a12be1b172
Keep track of last free page
2020-09-09 20:19:28 -06:00
Jeremy Soller
f17a1b52bd
Test multi-page allocation
2020-09-09 16:02:59 -06:00
Jeremy Soller
0c44dde349
Implement multi-page allocations in buddy allocator (poorly)
2020-09-09 16:02:44 -06:00
Jeremy Soller
711414223b
Fix buddy map footer read address
2020-09-09 11:11:39 -06:00
Jeremy Soller
fed3110ae8
Better unimplemented messages
2020-09-09 10:55:29 -06:00
Jeremy Soller
811dd09de4
Remove unused function for empty buddy allocator
2020-09-08 20:20:56 -06:00
Jeremy Soller
fb88d1669f
Add unmap function
2020-09-08 19:59:13 -06:00
Jeremy Soller
e6d93d5743
Allow const creation of buddy allocator
2020-09-08 15:51:13 -06:00
Jeremy Soller
5990a04e13
Rename Mapper::active to Mapper:make_current
2020-09-08 15:13:01 -06:00
Jeremy Soller
f97a80fecb
Flush user table changes
2020-09-08 15:11:26 -06:00
Jeremy Soller
e8ea483832
Add page flushing, add support for mapping anonymous pages
2020-09-08 14:56:57 -06:00
Jeremy Soller
6375c175f7
Do not zero tables when not necessary in buddy allocator
2020-09-08 13:52:45 -06:00
Jeremy Soller
db7869d995
Add table function for mapper, to get inner page table
2020-09-08 13:52:22 -06:00
Jeremy Soller
b4c8ab797d
Zero all allocations
2020-09-08 12:41:46 -06:00
Jeremy Soller
8484d4447c
Fix compilation using no_std
2020-09-08 11:16:59 -06:00
Jeremy Soller
1b58d2a956
Add FrameCount struct, improve zeroing page performance
2020-09-08 11:13:49 -06:00
Jeremy Soller
a64e790471
Fix warnings
2020-09-08 10:54:59 -06:00
Jeremy Soller
fcb64422c4
Add FrameAllocator trait, move frame allocator and mapper to library
2020-09-08 10:52:52 -06:00
Jeremy Soller
29945b84b1
no_std building support
2020-09-08 10:24:53 -06:00
Jeremy Soller
d153af8b83
Fix calculation of free areas
2020-09-08 10:24:43 -06:00
Jeremy Soller
62da3afef5
Add clearing of freed pages in BuddyAllocator
2020-09-08 09:35:34 -06:00
Jeremy Soller
52a08e70fd
Add buddy allocation
2020-09-08 09:27:40 -06:00
Jeremy Soller
57d66236b7
WIP buddy allocator free pages using bitmap
2020-09-07 22:02:52 -06:00
Jeremy Soller
4eb4f579df
Set entry when performing allocation
2020-09-07 22:02:24 -06:00
Jeremy Soller
21d7f28fdc
Allocate and clear buddy maps
2020-09-07 21:44:23 -06:00
Jeremy Soller
d752c5c91e
WIP: buddy allocator
2020-09-07 21:05:04 -06:00
Jeremy Soller
011212905d
Add WIP slab allocator
2020-09-07 20:01:40 -06:00
Jeremy Soller
d450cafad6
Add mapping functionality
2020-09-06 21:07:14 -06:00
Jeremy Soller
03d3264085
Add index_of function to PageTable
2020-09-06 21:06:58 -06:00
Jeremy Soller
d9500dc24e
Fix excess size of emulated memory, do not print emulated mapping
2020-09-06 21:06:41 -06:00