forked from tock/tock
-
Notifications
You must be signed in to change notification settings - Fork 2
Revamped memory management system #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Ioan-Cristian
wants to merge
168
commits into
x86-abi
Choose a base branch
from
mmu
base: x86-abi
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
168 commits
Select commit
Hold shift + click to select a range
fb72468
kernel: crypto: add KeySelect and KeySet
bradjc e1617ec
capsules: signature check: require KeySelect
bradjc c30cb05
capsules: ecdsa_sw: implement KeySet
bradjc 40d59b5
capsules: add SignatureVerifyInMemoryKeys
bradjc 3596544
boards: config: appid-ecdsa: key switching
bradjc 6f48392
atecc508a: implement KeySet
bradjc 32a8062
boards: apollo3: update ecdsa with mutliple keys
bradjc da5801a
boards: config: ecdsa: add second key
bradjc 980375f
hil: rename KeySet->SetKey, KeySelect->SelectKey
bradjc 814a37c
capsules: signature_verify_imk: state fix
bradjc 47c8bfe
kernel: hil: crypto: keys: selectkey: count async
bradjc 1db1afb
keys: SelectKey make get count async
bradjc df1f388
doc: fix typos 'a[n] asym[m]etric'
ppannuto d712c3d
kernel: hil: keys: clarify SelectKey cannot have gaps
bradjc b8ff559
kernel: hil: keys: set key now returns the key
bradjc 8d59377
update to new SetKeyBySlice
bradjc d5ddd6e
capsules: ecdsa: remove Default
bradjc d3c5704
kernel: hil: keys: selectkey: no error on repeat
bradjc 68f6e66
capsules: sig check: no ealready in select key
bradjc 69b1590
doc: Core WG Notes 2025-05-28
ppannuto d861dfa
kernel/memory_management: Added support for MMU
IoanCristianCirstea c8e533a
arch/x86/mpu: Implemented the new MPU trait
IoanCristianCirstea 4d5b173
chips/x86_q35: Adapt the chip code to support MMU
IoanCristianCirstea e83df19
components/sched/cooperative: Adapt the component for the new process…
IoanCristianCirstea 2145a88
capsules/extra/app_loader: Adapted the app loader for the new process…
IoanCristianCirstea 015e766
boards/qemu_i486_q35: Adapted the board to support MMU
IoanCristianCirstea 3fc93ff
boards/qemu_i486_q35: Added run-apps Makefile target
IoanCristianCirstea 6c95d72
kernel/memory_management: Handle process memory configuration validat…
IoanCristianCirstea df03dd0
kernel: Fixed warnings
IoanCristianCirstea e0e1c22
kernel/process_loading: Fixed SequentialProcessLoader
IoanCristianCirstea 42defc7
arch/x86: Implemented the first iteration of the MMU
IoanCristianCirstea 93fa75d
arch/x86: Implemented the first iteration of the MMU
IoanCristianCirstea a41ec77
Merge branch 'master' into mmu
IoanCristianCirstea 172f58e
arch/x86: Changed system call ABI interface
IoanCristianCirstea 9e56e9f
kernel/syscall: `Changed initialize_process()`
IoanCristianCirstea b2a6da2
Merge pull request #4395 from tock/key-change
ppannuto 29553cb
[Isolated NV] Fix physical flash address calc.
tyler-potyondy efb91c4
signing: add SignatureSign and ClientSign traits
pqcfox c316824
capsules: add signing support to ecsda_sw
pqcfox c19f886
capsules: add TestEcdsaP256Sign capsule
pqcfox 4992016
tests: add nrf52840dk-test-kernel test for P256 signing
pqcfox 3f522e8
tests: add correct test vector nrf52840dk-test-kernel test for P256 s…
pqcfox 04dcd72
capsules: fix doc comment in p256_signer.rs
pqcfox d6b2059
capsules: add support for SetKey HIL to EcdsaP256SignatureSigner, and…
pqcfox a46ebfa
arch/riscv: Implemented the new MPU trait
IoanCristianCirstea cb97307
Merge pull request #4451 from pqcfox/master
ppannuto bf5588a
doc: core WG notes 2025-06-04
ppannuto 745fa46
arch/cortex-m: Implemented the new MPU trait
IoanCristianCirstea ab5f5d9
boards/raspberry_pi_pico: Adapted the board for the new memory manage…
IoanCristianCirstea 1477c5b
arch/cortex-m/mpu: Check that the start of the region is properly ali…
IoanCristianCirstea 17544e0
arch/cortex-m/mpu: Removed commented code
IoanCristianCirstea b76eaa5
kernel/memory_management/allocators: Removed obsolete method
IoanCristianCirstea 0878ad7
boards: tutorials: add readme
bradjc 1b67bc8
boards: tut: dynapp: Add credential checking
bradjc 9d19ee3
[Isolated NV] Update AppRegion Address Naming
tyler-potyondy 241bae2
Merge pull request #4458 from tock/boards-tutorials-readme
ppannuto 393fcfe
boards: tut: dynapps: add dependencies to c.toml
bradjc 2550591
cargo.toml: clippy: add comments explaining lints
bradjc 54c8711
Merge pull request #4460 from tock/clippy-comments
brghena c48fd5f
Merge pull request #4456 from tock/doc-wg-core-notes-2025-06-04
alevy ed41d7d
Merge pull request #4450 from tock/core-wg-notes--2025-05-28
alevy 49060aa
build(deps): bump requests from 2.32.0 to 2.32.4 in /tools/tockbot
dependabot[bot] 82cbe2b
netlify: try printing cache contents
ppannuto ac42f1d
netlify: remove manual cacheing
ppannuto 81de264
netlify: pickup toolchain from rust-toolchain.toml
ppannuto 12a7407
Merge pull request #4457 from tock/netlify-cache-fixes
ppannuto f121b4d
kernel/memop: Fixed potential panics
IoanCristianCirstea a88dfd8
kernel/syscall: Simplified system call interface.
IoanCristianCirstea 81545b3
arch/x86: Updated the UserspaceKernelBoundary implementation
IoanCristianCirstea 84cd8d9
arch/riscv: Updated the UserspaceKernelBoundary implementation
IoanCristianCirstea 72eca77
arch/cortex-m: Updated the UserspaceKernelBoundary implementation
IoanCristianCirstea 80d5d60
Formatted code
IoanCristianCirstea bbfb834
kernel: Fixed clippy warnings
IoanCristianCirstea 7cd004e
Merge pull request #4455 from tyler-potyondy/isolated-nv
bradjc da4a439
boards: tut: dynapps: remove unnecessary lifetime
bradjc 2e0b3a1
Merge pull request #4459 from tock/tut-dynamic-credential-checking
alevy f4521f2
arch/riscv/pmp: fix underflow in region_overlaps
lschuermann 0bb62f5
arch/cortex-m: Added comment for feature
IoanCristianCirstea 91f99bb
kernel: Added brief comments for new memory management related code
IoanCristianCirstea e03d5ce
Merge pull request #4461 from tock/dependabot/pip/tools/tockbot/reque…
lschuermann fb4f7c1
boards: tut: dyn apps: use signed apps key
bradjc 50babfb
Merge pull request #4466 from tock/tut-dynapps-signedapps
ppannuto a7cd927
Merge pull request #4463 from tock/dev/pmp-region-overlap-underflow
alevy 0c8b693
tools: update rust: remove netlify
bradjc fda330e
Merge pull request #4467 from tock/rustc-version-not-in-netlify
ppannuto b4966df
Core working group meeting notes: June 18, 2025
brghena e312bbb
build(deps): bump urllib3 from 2.2.2 to 2.5.0 in /tools/tockbot
dependabot[bot] fa97a93
boards: STACK need not be pub
bradjc cb90a00
Merge pull request #4470 from tock/core-notes-2025-06-18
alevy e603e0f
Merge pull request #4472 from tock/dependabot/pip/tools/tockbot/urlli…
lschuermann 3170e34
Introduct the x86 working group
alevy 020cfed
doc/wg: add link to x86 WG to README
lschuermann 4985bf9
Merge pull request #4474 from alevy/x86-wg
lschuermann 544b334
Merge pull request #4473 from tock/boards-no-pub-static-stack
lschuermann 1ee25f3
boards: tutorials: add root of trust tutorial board
pqcfox 3bd3df4
kernel/syscall: Avoid using user virtual pointers
IoanCristianCirstea a739b3f
kernel: Extensive use of nullable pointers
IoanCristianCirstea 1a40f63
Merge pull request #4475 from pqcfox/root-of-trust-tutorial
bradjc e5c3e44
clippy: remove new-ret-no-self
bradjc 69108d1
clippy: remove redundant map
bradjc 5644693
clippy: deny single_match
bradjc 1cfae8b
clippy: deny field-reassign-with-default
bradjc 130d56c
clippy: deny collapsible_match
bradjc cd8db83
clippy: deny blocks_in_conditions
bradjc c080343
clippy: comment style allowed lints
bradjc 8f5b63a
clippy: deny let_and_return
bradjc 8185670
clippy: deny option_map_or_none
bradjc 68d73fb
clippy: deny redundant_pattern_matching
bradjc 6d523ae
capsules: analog sensor: fix temperature new()
bradjc 3b8c73b
Merge pull request #4478 from tock/analog-sensor-fix
lschuermann c83f070
Merge pull request #4477 from tock/clippy-style-2025-06
lschuermann a4bdabc
clippy: deny declare-interior-mutable-const
bradjc 1e9d49e
Merge pull request #4476 from tock/clippy-deny-declare-interior-mutab…
ppannuto 8b78109
clippy: comment perf and cargo allowed lints
bradjc 8dbe354
clippy: comment complexity lints
bradjc 1e6dc42
clippy: move if_same_then_else to style group
bradjc bf8cfd9
clippy: manual_unwrap_or_default doesn't trigger anymore
bradjc e219d7c
clippy: deny while-let-loop
bradjc 828b68e
Merge pull request #4481 from tock/clippy-deny-while-let-loop
alevy 32a5fc7
Merge branch 'master' into clippy-comment-perf-cargo
alevy 1e79861
Merge pull request #4480 from tock/clippy-comment-perf-cargo
alevy fada220
Update Thread tutorial for signed sensor tutorial
tyler-potyondy 25f4c15
Merge pull request #4483 from tyler-potyondy/mobisys-tutorial-thread
bradjc 42354e5
Thread tutorial board: Fix link to thread tutorials
alevy 082d3d9
Merge pull request #4484 from alevy/tut/thread/link
alevy 8ab8364
kernel: add ProcessArray
bradjc 9261be9
boards: update components with ProcessArray
bradjc f63fc72
boards: update nrf52840dk with ProcessArray
bradjc 3ce5da2
debug: consistent naming for process array accesses
ppannuto bf92b9e
kernel: get_process: simplify impl
bradjc 2d67d5f
board: nrf52840dk: fix import error
bradjc b4aa081
components: add ProcessArray component
bradjc 61ff9fe
boards: nrf52840dk: use process array component
bradjc a14625a
boards: apollo3: update to ProcessArray
bradjc d5e6931
boards: arty: update to ProcessArray
bradjc 35a5883
boards: convert to ProcessArray
bradjc c00f57b
kernel: ProcessArray: rename get_active() -> get()
bradjc 9d30071
kernel: ProcessArray: rename is_valid_for
bradjc 664c4d3
boards: tut: rot: update to ProcessArray
bradjc 778703d
kernel: process array: inline const for empty
bradjc 9af07b3
Merge pull request #4447 from tock/process-array-bradjc2
alevy 48724a1
Merge remote-tracking branch 'local/mmu' into mmu
IoanCristianCirstea 649159b
kernel: Solved clippy issues
IoanCristianCirstea 02a7b03
kernel/utilities/misc: Added more implementations
IoanCristianCirstea 2605e2e
kernel/utilities/pointers: Added tests
IoanCristianCirstea f7b09f2
kernel/utilities/slices: Added tests
IoanCristianCirstea 4d626fe
kernel/utilities/ordering: Added tests
IoanCristianCirstea 1d4a056
kernel/memory_management: Get rid of commented code
IoanCristianCirstea d75d699
kernel/memory_management: Added tests for static allocator
IoanCristianCirstea 0be3cda
kernel/memory_management/slices: Added tests
IoanCristianCirstea 5f2bbad
kernel/memory_management/regions: Added tests
IoanCristianCirstea 5d6082f
kernel/syscall: Updated the UKB interface
IoanCristianCirstea 352b481
kernel/memory_management/configurations: Added tests
IoanCristianCirstea e63443e
kernel: Support for an arbritary number of regions for MPU and MMU
IoanCristianCirstea cafc460
arch/x86: Adapt the new MMU to support arbitrary number of regions
IoanCristianCirstea 5071b07
chips/x86_q35: Integrated the new MMU
IoanCristianCirstea 999827b
boards/qemu_i486_q35: Integrated the new MMU
IoanCristianCirstea 58064af
Formatted code
IoanCristianCirstea 5ec5be0
arch/riscv: Integrated the new MPU trait
IoanCristianCirstea 971188a
arch/cortex-m/mpu: Adapted the MPU implementation to the new trait
IoanCristianCirstea de64f4d
arch/x86/mmu: Don't flush the TLB after each region
IoanCristianCirstea d1bb660
arch/x86/mmu: Reduce the number of TLB flushes
IoanCristianCirstea 037c5b4
kernel/process_standard: Handle null minimum RAM memory
IoanCristianCirstea e32c913
arch/riscv/syscall: Request 0 bytes of memory to run a process
IoanCristianCirstea 7e4c859
arch/riscv/syscall: Return the stack pointer after process switch.
IoanCristianCirstea 614e9b0
arch: Formatted code
IoanCristianCirstea 4cee279
arch/riscv/pmp: Removed unnecessary PMPUserMPUConfig
IoanCristianCirstea e95c5af
arch/cortex-m/syscall: Return the stack pointer after a switch to a p…
IoanCristianCirstea File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need this feature or can we manually implement the check? I think it would be a good idea to avoid features so that we can compile Tock with stable Rust.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't stricly need it. Tock currently doesn't compile on stable and it looks there is no milestone for it. As for the feature itself, it is almost stable. It is in its final comment period. It also generates slightly better code than the manual check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, can you add a comment with this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.