Implement dynamic stack growth #54

Merged
td1223 merged 14 commits from ethan-stack-growth into virtual-memory 2024-11-30 23:21:34 +00:00

14 Commits

Author SHA1 Message Date
Demetriades, Themis d8edc6d3fe Merge branch 'virtual-memory' into 'ethan-stack-growth'
# Conflicts:
#   src/Makefile.build
2024-11-30 23:21:16 +00:00
EDiasAlberto 13de832586 Refactor stack growth code to remove messy conditions 2024-11-29 23:52:05 +00:00
EDiasAlberto 5c661c2e24 Feat: pointer validation checks string across multiple pages and handle kernel page faults 2024-11-29 23:49:49 +00:00
EDiasAlberto 5f40d83e66 Implement MMU-based user memory validation 2024-11-29 23:03:31 +00:00
EDiasAlberto 4f84a83611 Refactor: abstract new page allocation to one general function and make helper functions static 2024-11-27 19:41:22 +00:00
EDiasAlberto c74a8c55aa Implement stack growth for system calls and add stack pointer tracking to thread 2024-11-27 19:21:43 +00:00
EDiasAlberto c670c29e47 update stack growth header to fit virtual memory naming format 2024-11-27 18:57:20 +00:00
EDiasAlberto af7f2ba873 Fix: Magic number in stackgrowth.c 2024-11-26 04:54:00 +00:00
EDiasAlberto 3ef5264b6e feat: allow stack to grow for process up to 8MB in size 2024-11-26 04:43:25 +00:00
cyclane 59e7a64f8e Only check user pages rather than all bytes in-between, for known-size pointers 2024-11-12 15:48:22 +00:00
cyclane cf4bf90cbb Implement user pointer checking for C strings 2024-11-12 15:34:45 +00:00
cyclane 9a6abab95e Check access to user memory using page fault method (via get_user and put_user). 2024-11-12 15:00:16 +00:00
cyclane 44f6a85163 Add get_user and put_user provided by spec. 2024-11-12 14:50:53 +00:00
cyclane 83e044cf68 Let kernel handle its own page faults 2024-11-12 14:50:53 +00:00