Commit Graph

  • 068ce3df7c Use redox_syscall git dependency. 4lDO2 2023-08-02 15:14:05 +02:00
  • a525620c81 Merge branch 'better_fmap' into 'master' Jeremy Soller 2023-08-02 13:07:36 +00:00
  • 0d8a24d50a Use updated syscall crate. 4lDO2 2023-08-02 14:18:58 +02:00
  • c7714992f3 Fix clone_grant_using_fmap test. 4lDO2 2023-08-02 14:17:26 +02:00
  • 2070fa44b7 Fix warnings. 4lDO2 2023-08-02 13:07:49 +02:00
  • 05a9530ac7 Temporarily disable CoW fmaps. 4lDO2 2023-08-01 17:29:36 +02:00
  • c3e2f0eca2 Ensure stack does not remain as RWX! 4lDO2 2023-06-27 15:29:43 +02:00
  • ef879b35ba Update RMM. 4lDO2 2023-08-01 15:52:34 +02:00
  • a992ae89ed Merge branch 'mmu' into 'master' Jeremy Soller 2023-08-01 13:51:37 +00:00
  • 34708bd1be Temporarily disable MAP_LAZY. 4lDO2 2023-08-01 15:44:41 +02:00
  • 084d6b0344 Some MAP_FIXED optimizations. 4lDO2 2023-07-12 15:44:36 +02:00
  • 5aa3ae25b4 Reimplement "clone grant using fmap". 4lDO2 2023-07-05 11:16:38 +02:00
  • 67a0d7aebb Remove redox-exec debug log. 4lDO2 2023-07-03 16:57:50 +02:00
  • 76c948b562 Succeed at loading init! 4lDO2 2023-06-27 15:28:33 +02:00
  • 29d265c11c mmap RAII guard. 4lDO2 2023-06-26 21:27:56 +02:00
  • d164d84c7f Fix address+size calculation in redox-exec. 4lDO2 2023-06-26 20:19:01 +02:00
  • 01d2f4f036 WIP: Use fmap in program loader. 4lDO2 2023-06-26 20:02:01 +02:00
  • fe88b23d09 Use a single cow zeroed page for RO maps + eager mapping. 4lDO2 2023-08-01 13:11:00 +02:00
  • 1e670645e4 Bypass kernel heap for storing PageInfo. 4lDO2 2023-08-01 11:22:42 +02:00
  • 8a8c04685e Merge adjacent frame sections. 4lDO2 2023-08-01 10:55:01 +02:00
  • 0cdfb886c0 Fix debugger for x86_64, disable sc debug. 4lDO2 2023-07-28 13:40:00 +02:00
  • 86aba2dbe5 Better VirtualAddress Debug impl. 4lDO2 2023-07-28 13:39:32 +02:00
  • b5937b7b91 Set aarch64 "not global" flag by default. 4lDO2 2023-07-28 13:38:24 +02:00
  • e28fef09e3 Improve aarch64 debugger. 4lDO2 2023-07-28 13:23:44 +02:00
  • d16569110e Don't mess up x18 in aarch64 exc handler. 4lDO2 2023-07-28 12:56:55 +02:00
  • ce35deed4b Support aarch64 page consistency checking. 4lDO2 2023-07-28 12:38:25 +02:00
  • 4846d21ff9 block-io-wrapper: allow up to MAX offset + len Ron Williams 2023-07-28 01:50:39 -07:00
  • f454df38eb Fix get_page_info. 4lDO2 2023-07-28 10:47:18 +02:00
  • d23b3046a4 block-io-wrapper: simplify block calculations Ron Williams 2023-07-28 00:57:36 -07:00
  • ec9c24f841 WIP: aarch64 4lDO2 2023-07-27 19:05:33 +02:00
  • 8b7fc8a468 Compile and mostly run properly on i686. 4lDO2 2023-07-27 16:45:36 +02:00
  • f4bdb5388e Remove AtomicU64 requirement for starting APs. 4lDO2 2023-07-27 16:44:52 +02:00
  • 885f88b777 Fix futex for non-AtomicU64-capable targets. 4lDO2 2023-07-27 16:44:26 +02:00
  • 25d26b3b93 Arch-independent x86-modeled page fault handler. 4lDO2 2023-07-27 15:49:51 +02:00
  • 7a3b453fbb Declare __usercopy_{start,end} as functions. 4lDO2 2023-07-27 15:34:33 +02:00
  • 4d2cd6ce0f Remove redundant log msg. 4lDO2 2023-07-27 15:25:51 +02:00
  • 9cd701c4db Merge branch 'rw_van_230727' into 'master' Jeremy Soller 2023-07-27 13:03:36 +00:00
  • 156be64a9d pcid: replace add that should allow wrapping with explicit wrapping_add Ron Williams 2023-07-27 01:22:56 -07:00
  • a4a84775d6 Fix MMAP_PREP order. 4lDO2 2023-07-26 22:31:56 +02:00
  • 313ccef163 Merge branch 'quote-book-section' into 'master' Jeremy Soller 2023-07-26 20:11:37 +00:00
  • ae1f15a449 Offset-based file mmap. 4lDO2 2023-07-26 16:06:53 +02:00
  • d6e1732d44 Stop using feature(arbitrary_self_types). 4lDO2 2023-07-25 11:22:36 +02:00
  • 71a6eb1bb2 inputd: add -A command to activate a VT Anhad Singh 2023-07-25 19:20:04 +10:00
  • 3cfec39b47 Pass MunmapFlags to scheme. 4lDO2 2023-07-21 11:09:29 +02:00
  • c9aa5ca851 WIP: Add SYS_MREMAP. 4lDO2 2023-07-17 15:54:44 +02:00
  • 2660c3e07a WIP: Pin fmap grants that are borrowed too. 4lDO2 2023-07-17 15:17:55 +02:00
  • e054a5b211 Add debugger checks for correct CoW page flags. 4lDO2 2023-07-16 14:13:26 +02:00
  • 37579601b2 Remove one level of indirection in get_page_info. 4lDO2 2023-07-13 16:30:59 +02:00
  • e2b736140f Make PageInfo atomic once again. 4lDO2 2023-07-13 16:07:28 +02:00
  • d58ddc35fe Complete PageInfo cleanup. 4lDO2 2023-07-13 15:43:56 +02:00
  • 0f1b5b9b6f WIP: Make cow/shared refcounts mutually exclusive. 4lDO2 2023-07-13 14:23:16 +02:00
  • 113cb5ed4e Ensure pages cannot be both CoW and shared. 4lDO2 2023-07-12 16:19:34 +02:00
  • d3ecedefd9 Notify schemes when mmaps are unmapped. 4lDO2 2023-07-12 15:33:18 +02:00
  • 02f04752e8 Use proper locks for PageInfo. 4lDO2 2023-07-10 11:39:29 +02:00
  • 7bdf5e9af3 Pass unaligned length to scheme for fmap. 4lDO2 2023-07-06 11:51:09 +02:00
  • afa3d7dc7b Support anonymous MAP_SHARED mmaps. 4lDO2 2023-07-06 10:54:51 +02:00
  • 70b4d99c96 Implement MAP_FIXED without MAP_FIXED_NOREPLACE. 4lDO2 2023-07-03 18:33:16 +02:00
  • f0341280f7 Fix frame deallocation. 4lDO2 2023-07-05 14:49:44 +02:00
  • 3a80528d13 Fix MAP_LAZY mappings. 4lDO2 2023-07-05 14:28:53 +02:00
  • cbec83215a Lazy-evaluate pages returned by fmap. 4lDO2 2023-07-04 18:29:52 +02:00
  • 9182722f84 WIP: Allow listing address space grants again. 4lDO2 2023-07-04 17:18:11 +02:00
  • 0466e87e59 Error if scheme fmap returns unaligned address. 4lDO2 2023-07-04 15:57:30 +02:00
  • ba62c0606e Pin PhysBorrowed head/tail UserScheme grants too. 4lDO2 2023-07-04 12:29:52 +02:00
  • 329d60848c WIP: Support CoW fmap. 4lDO2 2023-07-03 13:26:05 +02:00
  • b24cf821c2 Support transferring grants again. 4lDO2 2023-07-03 13:07:54 +02:00
  • 55f1829e77 Call funmap if applicable. 4lDO2 2023-07-02 16:23:22 +02:00
  • 4ec8712fb0 Adjust fmap offsets in Grant::extract. 4lDO2 2023-07-02 15:46:38 +02:00
  • c5eb44d968 Increase refcount for borrowed fmap too. 4lDO2 2023-07-02 15:41:42 +02:00
  • b3a6a6744a Pin grants that are used in UserScheme. 4lDO2 2023-07-02 15:29:06 +02:00
  • 954a8d00fe Make page fault handler recursive. 4lDO2 2023-07-02 15:12:01 +02:00
  • da6f6a316c Return only one grant, External, for Grant::borrow. 4lDO2 2023-07-02 15:01:14 +02:00
  • b5430359d8 Forbid scheme calls with non-RAM physmapped memory. 4lDO2 2023-07-02 14:44:37 +02:00
  • 43c433a3f0 Remove FmapCtxt. 4lDO2 2023-07-01 16:17:24 +02:00
  • bf6ad5c41a Disable debugging again. 4lDO2 2023-07-01 15:39:18 +02:00
  • 8553bc7a59 WIP: Support userspace-backed borrowing mmaps. 4lDO2 2023-07-01 15:13:34 +02:00
  • 024f3e3828 Fix deadlock, booting to shell works now. 4lDO2 2023-06-30 19:57:31 +02:00
  • ad78dcc5a1 WIP: Rudimentary MAP_SHARED fmap implementation. 4lDO2 2023-06-30 18:24:12 +02:00
  • afa61601c4 Add ContextStatus::HardBlocked. 4lDO2 2023-06-30 14:49:08 +02:00
  • 23fede5db0 Remove scheme funmap methods. 4lDO2 2023-06-30 11:39:42 +02:00
  • 0c365f54e6 WIP: FmapBorrowed. 4lDO2 2023-06-29 14:55:07 +02:00
  • 20c3adf38d WIP: Start rewriting fmap impl. 4lDO2 2023-06-29 12:29:14 +02:00
  • 99975c0e42 WIP: Ensure that Grant::borrow does not borrow nonpresent grants. 4lDO2 2023-06-29 11:47:52 +02:00
  • dffc8ec9fc Do not expect PageInfo for PhysMap grants. 4lDO2 2023-06-27 19:55:46 +02:00
  • 20a84decdf Fix MemoryScheme fmap. 4lDO2 2023-06-27 18:41:57 +02:00
  • 15ce84164b Reminder that borrow does handle "lack of grant". 4lDO2 2023-06-27 15:27:37 +02:00
  • 50e2f51ab3 Remove outdated #[must_use]. 4lDO2 2023-06-27 15:27:27 +02:00
  • f7bffacef0 Implement Drop for AddrSpace. 4lDO2 2023-06-26 19:58:19 +02:00
  • 829d2276fb Remove Context::vfork. 4lDO2 2023-06-26 19:48:26 +02:00
  • e34a3cee42 Fix mmap/munmap, invert borrowed/owned refcount. 4lDO2 2023-06-26 19:44:42 +02:00
  • 45ec3ecc70 Track Allocated and CoW External the same way. 4lDO2 2023-06-26 14:08:33 +02:00
  • 7aca53753e Call init_mm from correct function. 4lDO2 2023-06-26 13:39:49 +02:00
  • a599d9b389 WIP: Store PageInfo in separate data structure. 4lDO2 2023-06-26 12:22:49 +02:00
  • 760fc2ba5a WIP: Global page info structs. 4lDO2 2023-06-22 18:00:41 +02:00
  • 593e21d95e Support schemes. 4lDO2 2023-06-22 17:20:56 +02:00
  • f53a1ffd53 Remove proc:pid/memory. 4lDO2 2023-06-21 20:15:50 +02:00
  • 0a5b6ce656 Reach proc:memory access in userspace. 4lDO2 2023-06-21 20:13:19 +02:00
  • 11fdb3bb46 Copy on writes to CoW pages. 4lDO2 2023-06-21 19:28:39 +02:00
  • 565db7694f Add cow_refcount. 4lDO2 2023-06-21 14:01:14 +02:00
  • 276f051d19 Further userspace progress, fix RMM bug. 4lDO2 2023-06-21 12:58:55 +02:00
  • 8cfbc39b9f Get further in userspace. 4lDO2 2023-06-21 11:19:41 +02:00