Skip to content

Commit

Permalink
Expand block IO support
Browse files Browse the repository at this point in the history
- Add more abstractions
- Introduce embedded-fat crate

Signed-off-by: Nick Spinale <nick@nickspinale.com>
  • Loading branch information
nspin committed Sep 29, 2023
1 parent 53e88b5 commit 8722e33
Show file tree
Hide file tree
Showing 39 changed files with 1,188 additions and 269 deletions.
126 changes: 125 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ members = [
"crates/examples/microkit/http-server/pds/sp804-driver/core",
"crates/examples/microkit/http-server/pds/sp804-driver/interface-types",
"crates/examples/microkit/http-server/pds/virtio-blk-driver",
"crates/examples/microkit/http-server/pds/virtio-blk-driver/interface-types",
"crates/examples/microkit/http-server/pds/virtio-net-driver",
"crates/examples/microkit/http-server/pds/virtio-net-driver/interface-types",
"crates/examples/root-task/example-root-task",
Expand Down Expand Up @@ -50,12 +51,14 @@ members = [
"crates/sel4",
"crates/sel4-async/block-io",
"crates/sel4-async/block-io/cpiofs",
"crates/sel4-async/block-io/fat",
"crates/sel4-async/network",
"crates/sel4-async/network/mbedtls",
"crates/sel4-async/network/mbedtls/mozilla-ca-list",
"crates/sel4-async/request-statuses",
"crates/sel4-async/single-threaded-executor",
"crates/sel4-async/timers",
"crates/sel4-async/unsync",
"crates/sel4-backtrace",
"crates/sel4-backtrace/addr2line-context-helper",
"crates/sel4-backtrace/cli",
Expand Down
6 changes: 3 additions & 3 deletions crates/examples/microkit/http-server/http-server.system
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@
<map mr="virtio_blk_used" vaddr="0x4_001_000_000" perms="rw" cached="true" setvar_vaddr="virtio_blk_used" />
</protection_domain>

<protection_domain name="sp804_driver" priority="254" pp="true">
<protection_domain name="sp804_driver" pp="true" priority="254">
<program_image path="microkit-http-server-example-sp804-driver.elf" />
<map mr="sp804_mmio" vaddr="0x5_000_000_000" perms="rw" cached="false" setvar_vaddr="sp804_mmio_vaddr" />
<irq irq="43" id="0" />
<setvar symbol="freq" vaddr="1_000_000" />
</protection_domain>

<protection_domain name="virtio_net_driver" priority="253" pp="true">
<protection_domain name="virtio_net_driver" pp="true" priority="253">
<program_image path="microkit-http-server-example-virtio-net-driver.elf" />

<map mr="virtio_mmio" vaddr="0x6_000_000_000" perms="rw" cached="false" setvar_vaddr="virtio_net_mmio_vaddr" />
Expand All @@ -67,7 +67,7 @@
<irq irq="79" id="0" />
</protection_domain>

<protection_domain name="virtio_blk_driver" priority="252">
<protection_domain name="virtio_blk_driver" pp="true" priority="252">
<program_image path="microkit-http-server-example-virtio-blk-driver.elf" />

<map mr="virtio_mmio" vaddr="0x6_000_000_000" perms="rw" cached="false" setvar_vaddr="virtio_blk_mmio_vaddr" />
Expand Down
4 changes: 4 additions & 0 deletions crates/examples/microkit/http-server/pds/server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ log = "0.4.17"
microkit-http-server-example-server-core = { path = "./core", features = [] }
sel4 = { path = "../../../../../sel4" }
sel4-async-block-io = { path = "../../../../../sel4-async/block-io" }
sel4-async-block-io-fat = { path = "../../../../../sel4-async/block-io/fat" }
sel4-async-network = { path = "../../../../../sel4-async/network" }
sel4-async-request-statuses = { path = "../../../../../sel4-async/request-statuses" }
sel4-async-timers = { path = "../../../../../sel4-async/timers" }
Expand All @@ -27,6 +28,9 @@ sel4-sync = { path = "../../../../../sel4-sync" }
[dependencies.microkit-http-server-example-sp804-driver-interface-types]
path = "../sp804-driver/interface-types"

[dependencies.microkit-http-server-example-virtio-blk-driver-interface-types]
path = "../virtio-blk-driver/interface-types"

[dependencies.microkit-http-server-example-virtio-net-driver-interface-types]
path = "../virtio-net-driver/interface-types"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ futures = { version = "0.3.28", default-features = false, features = ["async-awa
httparse = { version = "1.8.0", default-features = false }
log = "0.4.17"
sel4-async-block-io = { path = "../../../../../../sel4-async/block-io" }
sel4-async-block-io-cpiofs = { path = "../../../../../../sel4-async/block-io/cpiofs" }
sel4-async-block-io-fat = { path = "../../../../../../sel4-async/block-io/fat" }
sel4-async-network = { path = "../../../../../../sel4-async/network" }
sel4-async-network-mbedtls = { path = "../../../../../../sel4-async/network/mbedtls" }
sel4-async-timers = { path = "../../../../../../sel4-async/timers" }
sel4-async-unsync = { path = "../../../../../../sel4-async/unsync" }
sel4-panicking-env = { path = "../../../../../../sel4-panicking/env" }

[dependencies.mbedtls]
Expand Down
Loading

0 comments on commit 8722e33

Please sign in to comment.