|
2572695c8d
|
kernel: Support mapping shared memory using mmap()
|
2023-08-02 22:20:05 +02:00 |
|
|
af26dce038
|
kernel: Zero physical frames instead of virtual pages
continuous-integration/drone/push Build is passing
The memset() happens a bit earlier, and we don't have to remap the
mapped virtual memory.
|
2023-07-04 00:49:26 +02:00 |
|
|
9bab4c62a1
|
kernel: Compilation fixes
continuous-integration/drone/push Build is passing
|
2023-05-07 21:42:03 +02:00 |
|
|
72dadc6706
|
kernel: Define a constant to check for default memory access
continuous-integration/drone/push Build is failing
|
2023-05-07 21:38:38 +02:00 |
|
|
b25e212880
|
kernel: Make a generic function for checking memory flags
continuous-integration/drone/push Build is failing
|
2023-05-07 21:37:01 +02:00 |
|
|
95659639e5
|
kernel: Zero out allocated memory for userspace to avoid leaking sensitive data
continuous-integration/drone/push Build is passing
|
2023-04-17 20:11:07 +02:00 |
|
|
b6c35124d6
|
libluna: OwnedStringView -> String
Also with inline storage!
|
2023-03-29 17:28:22 +02:00 |
|
|
b9e8030aac
|
kernel: Free the initial ramdisk memory after copying everything into the VFS
continuous-integration/drone/push Build is passing
|
2023-03-16 23:02:53 +01:00 |
|
|
02dbcbbfa1
|
kernel: Add strdup_from_user()
continuous-integration/drone/push Build is passing
|
2023-03-12 16:30:36 +01:00 |
|
|
8df441064f
|
x86_64/MMU: Map the physical address space using huge pages
|
2023-02-27 12:47:17 +01:00 |
|
|
6e4cd6300d
|
Kernel: Add copy_from_user() and copy_from_user_typed()
continuous-integration/drone/push Build is passing
|
2023-01-11 19:25:28 +01:00 |
|
|
29bd8a69fa
|
MemoryManager: Add helper functions to validate arbitrary ranges of userspace memory
|
2023-01-07 01:39:33 +01:00 |
|
|
6e9b4491a6
|
MemoryManager: Add copy_to_user() and copy_to_user_typed()
|
2023-01-07 00:17:16 +01:00 |
|
|
caa3fe8c45
|
MemoryManager: Add validate_userspace_string()
A bit crude, should be replaced by a strdup_from_user() helper to avoid touching userspace memory directly.
But it'll do for now.
|
2023-01-05 22:39:09 +01:00 |
|
|
c53bba0392
|
MemoryManager: Add an unmap_weak_and_free_vm() helper function
This function mirrors unmap_owned_and_free_vm(), but using weak unmapping (does not free the underlying physical memory)
|
2023-01-05 21:50:06 +01:00 |
|
|
5854e5e530
|
Add newlines at end-of-file
|
2023-01-02 13:07:29 +01:00 |
|
|
6ff92b1714
|
MemoryManager: Add get_kernel_mapping_for_frames()
This function allocates a continuous range of VM and maps the physical frames passed to said VM range.
|
2022-12-23 11:30:49 +01:00 |
|
|
cedcfa9c63
|
Improve cleanup on MemoryManager failure + add methods that use KernelVM
continuous-integration/drone/push Build is passing
|
2022-12-16 19:36:38 +01:00 |
|
|
1ebd892c16
|
Convert uses of u64 to usize
Not all of them, but if you're measuring a size it's more appropriate to use usize than u64.
|
2022-12-07 10:55:47 +01:00 |
|
|
c7ab6bc2d3
|
Reorganize the luna/ directory so that headers aren't in the top level include path
|
2022-12-04 12:42:43 +01:00 |
|
|
fe47e0d5cb
|
Clean init() up
|
2022-11-30 16:30:42 +01:00 |
|
|
af267772f0
|
Rename MemoryManager::map to map_frames_at
To make it clearer that this API is only intented for mapping contiguous frames of physical memory (for MMIO perhaps?)
|
2022-11-19 22:32:48 +01:00 |
|
|
1b41a3e9cf
|
Introduce a few helpers to allocate/map/unmap several pages, which wrap around the MMU functionality
|
2022-11-19 22:28:45 +01:00 |
|
|
d96cb73995
|
Rename physical "pages" to "frames"
AFAIK, this is the proper naming scheme. "Pages" are virtual, and "frames" physical.
|
2022-11-19 22:27:08 +01:00 |
|
|
047f445651
|
Kernel: Add helpers to validate memory addresses
|
2022-11-19 18:38:47 +01:00 |
|
|
70c6b78e35
|
Organize source tree
|
2022-11-19 17:59:49 +01:00 |
|