diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index c0a9740..0feb464 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -2563,8 +2563,8 @@
         "recordedFileInputs": {
           "@@//third_party/crates_io/Cargo.lock": "476c8b233fa2b269018dbcb33a67157983dd2456398bf5e2742d2b8721390bed",
           "@@//third_party/crates_io/Cargo.toml": "1e902f5b20bf6ad09e1660171a2247e00570a88181bec3ecb58416343c0c2739",
-          "@@//third_party/crates_io/crates_no_std/Cargo.lock": "88107be7592e1ff465937da221b1d1b53d8740aa8dcaf277b9df0c50bb448c0c",
-          "@@//third_party/crates_io/crates_no_std/Cargo.toml": "28b572b320a9494107859d2fa2389f5f10bbf9903aadfbec98bb62d1047c2111",
+          "@@//third_party/crates_io/crates_no_std/Cargo.lock": "2c124371bb611b76a5f16b8a35851807a30756f339581ba8625df72d7d1f302f",
+          "@@//third_party/crates_io/crates_no_std/Cargo.toml": "c0d7bb3bac37b91436311ed9754b2b8bb293a9723ca0e0ffc8d4a5bd1e3dae2b",
           "@@pigweed+//third_party/crates_io/crates_no_std/Cargo.lock": "d38da5fa5f942b59a8017730285afe69aaf6f741b6171f361d66202de3473bc2",
           "@@pigweed+//third_party/crates_io/crates_no_std/Cargo.toml": "00e4a621a4a49d1b269bb2e688d8b5bbabb8700eb7b583ccaa20c36a60aebf98",
           "@@pigweed+//third_party/crates_io/crates_std/Cargo.lock": "13ffbc71abd52f9c79d69ce7101aca75faddaefb314ab8b112a623ab0ea81540",
@@ -3942,7 +3942,7 @@
               "contents": {
                 "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n    [\n        \"cargo-bazel.json\",\n        \"crates.bzl\",\n        \"defs.bzl\",\n    ] + glob(\n        allow_empty = True,\n        include = [\"*.bazel\"],\n    ),\n)\n\nfilegroup(\n    name = \"srcs\",\n    srcs = glob(\n        allow_empty = True,\n        include = [\n            \"*.bazel\",\n            \"*.bzl\",\n        ],\n    ),\n)\n\n# Workspace Member Dependencies\nalias(\n    name = \"aes-0.8.4\",\n    actual = \"@oot_crates_no_std__aes-0.8.4//:aes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"aes\",\n    actual = \"@oot_crates_no_std__aes-0.8.4//:aes\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"aes-gcm-0.10.3\",\n    actual = \"@oot_crates_no_std__aes-gcm-0.10.3//:aes_gcm\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"aes-gcm\",\n    actual = \"@oot_crates_no_std__aes-gcm-0.10.3//:aes_gcm\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"aspeed-ddk-0.1.0\",\n    actual = \"@oot_crates_no_std__aspeed-ddk-0.1.0//:aspeed_ddk\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"aspeed-ddk\",\n    actual = \"@oot_crates_no_std__aspeed-ddk-0.1.0//:aspeed_ddk\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ast1060-pac-0.1.0\",\n    actual = \"@oot_crates_no_std__ast1060-pac-0.1.0//:ast1060_pac\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ast1060-pac\",\n    actual = \"@oot_crates_no_std__ast1060-pac-0.1.0//:ast1060_pac\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cipher-0.4.4\",\n    actual = \"@oot_crates_no_std__cipher-0.4.4//:cipher\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cipher\",\n    actual = \"@oot_crates_no_std__cipher-0.4.4//:cipher\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cortex-m-0.7.7\",\n    actual = \"@oot_crates_no_std__cortex-m-0.7.7//:cortex_m\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cortex-m\",\n    actual = \"@oot_crates_no_std__cortex-m-0.7.7//:cortex_m\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cortex-m-rt-0.7.5\",\n    actual = \"@oot_crates_no_std__cortex-m-rt-0.7.5//:cortex_m_rt\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cortex-m-rt\",\n    actual = \"@oot_crates_no_std__cortex-m-rt-0.7.5//:cortex_m_rt\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cortex-m-semihosting-0.5.0\",\n    actual = \"@oot_crates_no_std__cortex-m-semihosting-0.5.0//:cortex_m_semihosting\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"cortex-m-semihosting\",\n    actual = \"@oot_crates_no_std__cortex-m-semihosting-0.5.0//:cortex_m_semihosting\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctr-0.9.2\",\n    actual = \"@oot_crates_no_std__ctr-0.9.2//:ctr\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ctr\",\n    actual = \"@oot_crates_no_std__ctr-0.9.2//:ctr\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ecdsa-0.16.9\",\n    actual = \"@oot_crates_no_std__ecdsa-0.16.9//:ecdsa\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"ecdsa\",\n    actual = \"@oot_crates_no_std__ecdsa-0.16.9//:ecdsa\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"embedded-hal-1.0.0\",\n    actual = \"@oot_crates_no_std__embedded-hal-1.0.0//:embedded_hal\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"embedded-hal\",\n    actual = \"@oot_crates_no_std__embedded-hal-1.0.0//:embedded_hal\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"embedded-io-0.6.1\",\n    actual = \"@oot_crates_no_std__embedded-io-0.6.1//:embedded_io\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"embedded-io\",\n    actual = \"@oot_crates_no_std__embedded-io-0.6.1//:embedded_io\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"fugit-0.3.9\",\n    actual = \"@oot_crates_no_std__fugit-0.3.9//:fugit\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"fugit\",\n    actual = \"@oot_crates_no_std__fugit-0.3.9//:fugit\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"getrandom-0.2.17\",\n    actual = \"@oot_crates_no_std__getrandom-0.2.17//:getrandom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"getrandom\",\n    actual = \"@oot_crates_no_std__getrandom-0.2.17//:getrandom\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"heapless-0.8.0\",\n    actual = \"@oot_crates_no_std__heapless-0.8.0//:heapless\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"heapless\",\n    actual = \"@oot_crates_no_std__heapless-0.8.0//:heapless\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hex-literal-0.4.1\",\n    actual = \"@oot_crates_no_std__hex-literal-0.4.1//:hex_literal\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hex-literal\",\n    actual = \"@oot_crates_no_std__hex-literal-0.4.1//:hex_literal\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hmac-0.12.1\",\n    actual = \"@oot_crates_no_std__hmac-0.12.1//:hmac\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"hmac\",\n    actual = \"@oot_crates_no_std__hmac-0.12.1//:hmac\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mctp-0.2.0\",\n    actual = \"@oot_crates_no_std__mctp-0.2.0//:mctp\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mctp\",\n    actual = \"@oot_crates_no_std__mctp-0.2.0//:mctp\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mctp-lib-0.1.0\",\n    actual = \"@oot_crates_no_std__mctp-lib-0.1.0//:mctp_lib\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"mctp-lib\",\n    actual = \"@oot_crates_no_std__mctp-lib-0.1.0//:mctp_lib\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nb-1.1.0\",\n    actual = \"@oot_crates_no_std__nb-1.1.0//:nb\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"nb\",\n    actual = \"@oot_crates_no_std__nb-1.1.0//:nb\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"openprot-hal-blocking-0.1.0\",\n    actual = \"@oot_crates_no_std__openprot-hal-blocking-0.1.0//:openprot_hal_blocking\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"openprot-hal-blocking\",\n    actual = \"@oot_crates_no_std__openprot-hal-blocking-0.1.0//:openprot_hal_blocking\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"p256-0.13.2\",\n    actual = \"@oot_crates_no_std__p256-0.13.2//:p256\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"p256\",\n    actual = \"@oot_crates_no_std__p256-0.13.2//:p256\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"p384-0.13.1\",\n    actual = \"@oot_crates_no_std__p384-0.13.1//:p384\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"p384\",\n    actual = \"@oot_crates_no_std__p384-0.13.1//:p384\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proposed-traits-0.1.0\",\n    actual = \"@oot_crates_no_std__proposed-traits-0.1.0//:proposed_traits\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"proposed-traits\",\n    actual = \"@oot_crates_no_std__proposed-traits-0.1.0//:proposed_traits\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand_chacha-0.3.1\",\n    actual = \"@oot_crates_no_std__rand_chacha-0.3.1//:rand_chacha\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand_chacha\",\n    actual = \"@oot_crates_no_std__rand_chacha-0.3.1//:rand_chacha\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand_core-0.6.4\",\n    actual = \"@oot_crates_no_std__rand_core-0.6.4//:rand_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"rand_core\",\n    actual = \"@oot_crates_no_std__rand_core-0.6.4//:rand_core\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sha2-0.10.9\",\n    actual = \"@oot_crates_no_std__sha2-0.10.9//:sha2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"sha2\",\n    actual = \"@oot_crates_no_std__sha2-0.10.9//:sha2\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"spdm-lib-0.1.0\",\n    actual = \"@oot_crates_no_std__spdm-lib-0.1.0//:spdm_lib\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"spdm-lib\",\n    actual = \"@oot_crates_no_std__spdm-lib-0.1.0//:spdm_lib\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"zerocopy-0.8.47\",\n    actual = \"@oot_crates_no_std__zerocopy-0.8.47//:zerocopy\",\n    tags = [\"manual\"],\n)\n\nalias(\n    name = \"zerocopy\",\n    actual = \"@oot_crates_no_std__zerocopy-0.8.47//:zerocopy\",\n    tags = [\"manual\"],\n)\n",
                 "alias_rules.bzl": "\"\"\"Alias that transitions its target to `compilation_mode=opt`.  Use `transition_alias=\"opt\"` to enable.\"\"\"\n\nload(\"@rules_cc//cc:defs.bzl\", \"CcInfo\")\nload(\"@rules_rust//rust:rust_common.bzl\", \"COMMON_PROVIDERS\")\n\ndef _transition_alias_impl(ctx):\n    # `ctx.attr.actual` is a list of 1 item due to the transition\n    providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]\n    if CcInfo in ctx.attr.actual[0]:\n        providers.append(ctx.attr.actual[0][CcInfo])\n    return providers\n\ndef _change_compilation_mode(compilation_mode):\n    def _change_compilation_mode_impl(_settings, _attr):\n        return {\n            \"//command_line_option:compilation_mode\": compilation_mode,\n        }\n\n    return transition(\n        implementation = _change_compilation_mode_impl,\n        inputs = [],\n        outputs = [\n            \"//command_line_option:compilation_mode\",\n        ],\n    )\n\ndef _transition_alias_rule(compilation_mode):\n    return rule(\n        implementation = _transition_alias_impl,\n        provides = COMMON_PROVIDERS,\n        attrs = {\n            \"actual\": attr.label(\n                mandatory = True,\n                doc = \"`rust_library()` target to transition to `compilation_mode=opt`.\",\n                providers = COMMON_PROVIDERS,\n                cfg = _change_compilation_mode(compilation_mode),\n            ),\n            \"_allowlist_function_transition\": attr.label(\n                default = \"@bazel_tools//tools/allowlists/function_transition_allowlist\",\n            ),\n        },\n        doc = \"Transitions a Rust library crate to the `compilation_mode=opt`.\",\n    )\n\ntransition_alias_dbg = _transition_alias_rule(\"dbg\")\ntransition_alias_fastbuild = _transition_alias_rule(\"fastbuild\")\ntransition_alias_opt = _transition_alias_rule(\"opt\")\n",
-                "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n    \"\"\"Flatten a list of dependency maps into one dictionary.\n\n    Dependency maps have the following structure:\n\n    ```python\n    DEPENDENCIES_MAP = {\n        # The first key in the map is a Bazel package\n        # name of the workspace this file is defined in.\n        \"workspace_member_package\": {\n\n            # Not all dependencies are supported for all platforms.\n            # the condition key is the condition required to be true\n            # on the host platform.\n            \"condition\": {\n\n                # An alias to a crate target.     # The label of the crate target the\n                # Aliases are only crate names.   # package name refers to.\n                \"package_name\":                   \"@full//:label\",\n            }\n        }\n    }\n    ```\n\n    Args:\n        all_dependency_maps (list): A list of dicts as described above\n\n    Returns:\n        dict: A dictionary as described above\n    \"\"\"\n    dependencies = {}\n\n    for workspace_deps_map in all_dependency_maps:\n        for pkg_name, conditional_deps_map in workspace_deps_map.items():\n            if pkg_name not in dependencies:\n                non_frozen_map = dict()\n                for key, values in conditional_deps_map.items():\n                    non_frozen_map.update({key: dict(values.items())})\n                dependencies.setdefault(pkg_name, non_frozen_map)\n                continue\n\n            for condition, deps_map in conditional_deps_map.items():\n                # If the condition has not been recorded, do so and continue\n                if condition not in dependencies[pkg_name]:\n                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n                    continue\n\n                # Alert on any miss-matched dependencies\n                inconsistent_entries = []\n                for crate_name, crate_label in deps_map.items():\n                    existing = dependencies[pkg_name][condition].get(crate_name)\n                    if existing and existing != crate_label:\n                        inconsistent_entries.append((crate_name, existing, crate_label))\n                    dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n    return dependencies\n\ndef crate_deps(deps, package_name = None):\n    \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n    Args:\n        deps (list): The desired list of crate targets.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()`.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if not deps:\n        return []\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Join both sets of dependencies\n    dependencies = _flatten_dependency_maps([\n        _NORMAL_DEPENDENCIES,\n        _NORMAL_DEV_DEPENDENCIES,\n        _PROC_MACRO_DEPENDENCIES,\n        _PROC_MACRO_DEV_DEPENDENCIES,\n        _BUILD_DEPENDENCIES,\n        _BUILD_PROC_MACRO_DEPENDENCIES,\n    ]).pop(package_name, {})\n\n    # Combine all conditional packages so we can easily index over a flat list\n    # TODO: Perhaps this should actually return select statements and maintain\n    # the conditionals of the dependencies\n    flat_deps = {}\n    for deps_set in dependencies.values():\n        for crate_name, crate_label in deps_set.items():\n            flat_deps.update({crate_name: crate_label})\n\n    missing_crates = []\n    crate_targets = []\n    for crate_target in deps:\n        if crate_target not in flat_deps:\n            missing_crates.append(crate_target)\n        else:\n            crate_targets.append(flat_deps[crate_target])\n\n    if missing_crates:\n        fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n            missing_crates,\n            package_name,\n            dependencies,\n        ))\n\n    return crate_targets\n\ndef all_crate_deps(\n        normal = False, \n        normal_dev = False, \n        proc_macro = False, \n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n    for the package where this macro is called.\n\n    If no parameters are set, all normal dependencies are returned. Setting any one flag will\n    otherwise impact the contents of the returned list.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_dependency_maps = []\n    if normal:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n    if normal_dev:\n        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n    if proc_macro:\n        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n    if proc_macro_dev:\n        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n    if build:\n        all_dependency_maps.append(_BUILD_DEPENDENCIES)\n    if build_proc_macro:\n        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n    # Default to always using normal dependencies\n    if not all_dependency_maps:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n    if not dependencies:\n        if dependencies == None:\n            fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n        else:\n            return []\n\n    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n    for condition, deps in dependencies.items():\n        crate_deps += selects.with_or({\n            tuple(_CONDITIONS[condition]): deps.values(),\n            \"//conditions:default\": [],\n        })\n\n    return crate_deps\n\ndef aliases(\n        normal = False,\n        normal_dev = False,\n        proc_macro = False,\n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Produces a map of Crate alias names to their original label\n\n    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n    Setting any one flag will otherwise determine the contents of the returned dict.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        dict: The aliases of all associated packages\n    \"\"\"\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_aliases_maps = []\n    if normal:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n    if normal_dev:\n        all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n    if proc_macro:\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n    if proc_macro_dev:\n        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n    if build:\n        all_aliases_maps.append(_BUILD_ALIASES)\n    if build_proc_macro:\n        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n    # Default to always using normal aliases\n    if not all_aliases_maps:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n    if not aliases:\n        return dict()\n\n    common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n    # If there are only common items in the dictionary, immediately return them\n    if not len(aliases.keys()) == 1:\n        return dict(common_items)\n\n    # Build a single select statement where each conditional has accounted for the\n    # common set of aliases.\n    crate_aliases = {\"//conditions:default\": dict(common_items)}\n    for condition, deps in aliases.items():\n        condition_triples = _CONDITIONS[condition]\n        for triple in condition_triples:\n            if triple in crate_aliases:\n                crate_aliases[triple].update(deps)\n            else:\n                crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n    return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n        _COMMON_CONDITION: {\n            \"aes\": Label(\"@oot_crates_no_std//:aes-0.8.4\"),\n            \"aes-gcm\": Label(\"@oot_crates_no_std//:aes-gcm-0.10.3\"),\n            \"aspeed-ddk\": Label(\"@oot_crates_no_std//:aspeed-ddk-0.1.0\"),\n            \"ast1060-pac\": Label(\"@oot_crates_no_std//:ast1060-pac-0.1.0\"),\n            \"cipher\": Label(\"@oot_crates_no_std//:cipher-0.4.4\"),\n            \"cortex-m\": Label(\"@oot_crates_no_std//:cortex-m-0.7.7\"),\n            \"cortex-m-rt\": Label(\"@oot_crates_no_std//:cortex-m-rt-0.7.5\"),\n            \"cortex-m-semihosting\": Label(\"@oot_crates_no_std//:cortex-m-semihosting-0.5.0\"),\n            \"ctr\": Label(\"@oot_crates_no_std//:ctr-0.9.2\"),\n            \"ecdsa\": Label(\"@oot_crates_no_std//:ecdsa-0.16.9\"),\n            \"embedded-hal\": Label(\"@oot_crates_no_std//:embedded-hal-1.0.0\"),\n            \"embedded-io\": Label(\"@oot_crates_no_std//:embedded-io-0.6.1\"),\n            \"fugit\": Label(\"@oot_crates_no_std//:fugit-0.3.9\"),\n            \"getrandom\": Label(\"@oot_crates_no_std//:getrandom-0.2.17\"),\n            \"heapless\": Label(\"@oot_crates_no_std//:heapless-0.8.0\"),\n            \"hex-literal\": Label(\"@oot_crates_no_std//:hex-literal-0.4.1\"),\n            \"hmac\": Label(\"@oot_crates_no_std//:hmac-0.12.1\"),\n            \"mctp\": Label(\"@oot_crates_no_std//:mctp-0.2.0\"),\n            \"mctp-lib\": Label(\"@oot_crates_no_std//:mctp-lib-0.1.0\"),\n            \"nb\": Label(\"@oot_crates_no_std//:nb-1.1.0\"),\n            \"openprot-hal-blocking\": Label(\"@oot_crates_no_std//:openprot-hal-blocking-0.1.0\"),\n            \"p256\": Label(\"@oot_crates_no_std//:p256-0.13.2\"),\n            \"p384\": Label(\"@oot_crates_no_std//:p384-0.13.1\"),\n            \"proposed-traits\": Label(\"@oot_crates_no_std//:proposed-traits-0.1.0\"),\n            \"rand_chacha\": Label(\"@oot_crates_no_std//:rand_chacha-0.3.1\"),\n            \"rand_core\": Label(\"@oot_crates_no_std//:rand_core-0.6.4\"),\n            \"sha2\": Label(\"@oot_crates_no_std//:sha2-0.10.9\"),\n            \"spdm-lib\": Label(\"@oot_crates_no_std//:spdm-lib-0.1.0\"),\n            \"zerocopy\": Label(\"@oot_crates_no_std//:zerocopy-0.8.47\"),\n        },\n    },\n}\n\n\n_NORMAL_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n        _COMMON_CONDITION: {\n        },\n    },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_PROC_MACRO_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_BUILD_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_BUILD_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_CONDITIONS = {\n    \"aarch64-apple-darwin\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n    \"aarch64-linux-android\": [],\n    \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"cfg(all(target_arch = \\\"aarch64\\\", target_os = \\\"linux\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"cfg(all(target_arch = \\\"aarch64\\\", target_vendor = \\\"apple\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n    \"cfg(all(target_arch = \\\"loongarch64\\\", target_os = \\\"linux\\\"))\": [],\n    \"cfg(any(target_arch = \\\"aarch64\\\", target_arch = \\\"x86_64\\\", target_arch = \\\"x86\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-apple-darwin\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(target_os = \\\"wasi\\\")\": [],\n    \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-apple-darwin\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"riscv32imc-unknown-none-elf\": [\"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\"],\n    \"thumbv6m-none-eabi\": [\"@rules_rust//rust/platform:thumbv6m-none-eabi\"],\n    \"thumbv7em-none-eabi\": [\"@rules_rust//rust/platform:thumbv7em-none-eabi\"],\n    \"thumbv7m-none-eabi\": [\"@rules_rust//rust/platform:thumbv7m-none-eabi\"],\n    \"thumbv8m.main-none-eabi\": [\"@rules_rust//rust/platform:thumbv8m.main-none-eabi\"],\n    \"x86_64-apple-darwin\": [\"@rules_rust//rust/platform:x86_64-apple-darwin\"],\n    \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n}\n\n###############################################################################\n\ndef crate_repositories():\n    \"\"\"A macro for defining repositories for all generated crates.\n\n    Returns:\n      A list of repos visible to the module through the module extension.\n    \"\"\"\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__aead-0.5.2\",\n        sha256 = \"d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aead/0.5.2/download\"],\n        strip_prefix = \"aead-0.5.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.aead-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__aes-0.8.4\",\n        sha256 = \"b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aes/0.8.4/download\"],\n        strip_prefix = \"aes-0.8.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.aes-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__aes-gcm-0.10.3\",\n        sha256 = \"831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aes-gcm/0.10.3/download\"],\n        strip_prefix = \"aes-gcm-0.10.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.aes-gcm-0.10.3.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__aspeed-ddk-0.1.0\",\n        commit = \"e93e85b0fff8a448a86c6a81bbbf1818ea6094e6\",\n        init_submodules = True,\n        remote = \"https://github.com/OpenPRoT/aspeed-rust.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.aspeed-ddk-0.1.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__ast1060-pac-0.1.0\",\n        commit = \"564cd385f0b160b4a5ce435b930d28b87799bc96\",\n        init_submodules = True,\n        remote = \"https://github.com/OpenPRoT/ast1060-pac.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ast1060-pac-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__async-trait-0.1.89\",\n        sha256 = \"9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-trait/0.1.89/download\"],\n        strip_prefix = \"async-trait-0.1.89\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.async-trait-0.1.89.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__bare-metal-0.2.5\",\n        sha256 = \"5deb64efa5bd81e31fcd1938615a6d98c82eafcbcd787162b6f63b91d6bac5b3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bare-metal/0.2.5/download\"],\n        strip_prefix = \"bare-metal-0.2.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.bare-metal-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__base16ct-0.2.0\",\n        sha256 = \"4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/base16ct/0.2.0/download\"],\n        strip_prefix = \"base16ct-0.2.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.base16ct-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__bitfield-0.13.2\",\n        sha256 = \"46afbd2983a5d5a7bd740ccb198caf5b82f45c40c09c0eed36052d91cb92e719\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitfield/0.13.2/download\"],\n        strip_prefix = \"bitfield-0.13.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.bitfield-0.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__bitfield-0.14.0\",\n        sha256 = \"2d7e60934ceec538daadb9d8432424ed043a904d8e0243f3c6446bce549a46ac\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitfield/0.14.0/download\"],\n        strip_prefix = \"bitfield-0.14.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.bitfield-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__bitflags-2.11.0\",\n        sha256 = \"843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/2.11.0/download\"],\n        strip_prefix = \"bitflags-2.11.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.bitflags-2.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__block-buffer-0.10.4\",\n        sha256 = \"3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/block-buffer/0.10.4/download\"],\n        strip_prefix = \"block-buffer-0.10.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.block-buffer-0.10.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__byteorder-1.5.0\",\n        sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n        strip_prefix = \"byteorder-1.5.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.byteorder-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cfg-if-1.0.4\",\n        sha256 = \"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg-if/1.0.4/download\"],\n        strip_prefix = \"cfg-if-1.0.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cfg-if-1.0.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cipher-0.4.4\",\n        sha256 = \"773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cipher/0.4.4/download\"],\n        strip_prefix = \"cipher-0.4.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cipher-0.4.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__const-oid-0.9.6\",\n        sha256 = \"c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/const-oid/0.9.6/download\"],\n        strip_prefix = \"const-oid-0.9.6\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.const-oid-0.9.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cortex-m-0.7.7\",\n        sha256 = \"8ec610d8f49840a5b376c69663b6369e71f4b34484b9b2eb29fb918d92516cb9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cortex-m/0.7.7/download\"],\n        strip_prefix = \"cortex-m-0.7.7\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cortex-m-0.7.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cortex-m-rt-0.7.5\",\n        sha256 = \"801d4dec46b34c299ccf6b036717ae0fce602faa4f4fe816d9013b9a7c9f5ba6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cortex-m-rt/0.7.5/download\"],\n        strip_prefix = \"cortex-m-rt-0.7.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cortex-m-rt-0.7.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cortex-m-rt-macros-0.7.5\",\n        sha256 = \"e37549a379a9e0e6e576fd208ee60394ccb8be963889eebba3ffe0980364f472\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cortex-m-rt-macros/0.7.5/download\"],\n        strip_prefix = \"cortex-m-rt-macros-0.7.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cortex-m-rt-macros-0.7.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cortex-m-semihosting-0.5.0\",\n        sha256 = \"c23234600452033cc77e4b761e740e02d2c4168e11dbf36ab14a0f58973592b0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cortex-m-semihosting/0.5.0/download\"],\n        strip_prefix = \"cortex-m-semihosting-0.5.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cortex-m-semihosting-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cpufeatures-0.2.17\",\n        sha256 = \"59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cpufeatures/0.2.17/download\"],\n        strip_prefix = \"cpufeatures-0.2.17\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cpufeatures-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__crc-3.4.0\",\n        sha256 = \"5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crc/3.4.0/download\"],\n        strip_prefix = \"crc-3.4.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.crc-3.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__crc-catalog-2.4.0\",\n        sha256 = \"19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crc-catalog/2.4.0/download\"],\n        strip_prefix = \"crc-catalog-2.4.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.crc-catalog-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__crypto-bigint-0.5.5\",\n        sha256 = \"0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crypto-bigint/0.5.5/download\"],\n        strip_prefix = \"crypto-bigint-0.5.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.crypto-bigint-0.5.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__crypto-common-0.1.7\",\n        sha256 = \"78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crypto-common/0.1.7/download\"],\n        strip_prefix = \"crypto-common-0.1.7\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.crypto-common-0.1.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__ctr-0.9.2\",\n        sha256 = \"0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ctr/0.9.2/download\"],\n        strip_prefix = \"ctr-0.9.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ctr-0.9.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__der-0.7.10\",\n        sha256 = \"e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/der/0.7.10/download\"],\n        strip_prefix = \"der-0.7.10\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.der-0.7.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__digest-0.10.7\",\n        sha256 = \"9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/digest/0.10.7/download\"],\n        strip_prefix = \"digest-0.10.7\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.digest-0.10.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__ecdsa-0.16.9\",\n        sha256 = \"ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ecdsa/0.16.9/download\"],\n        strip_prefix = \"ecdsa-0.16.9\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ecdsa-0.16.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__elliptic-curve-0.13.8\",\n        sha256 = \"b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/elliptic-curve/0.13.8/download\"],\n        strip_prefix = \"elliptic-curve-0.13.8\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.elliptic-curve-0.13.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-crc-macros-1.0.0\",\n        sha256 = \"4f1c75747a43b086df1a87fb2a889590bc0725e0abf54bba6d0c4bf7bd9e762c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-crc-macros/1.0.0/download\"],\n        strip_prefix = \"embedded-crc-macros-1.0.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-crc-macros-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-hal-0.2.7\",\n        sha256 = \"35949884794ad573cf46071e41c9b60efb0cb311e3ca01f7af807af1debc66ff\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-hal/0.2.7/download\"],\n        strip_prefix = \"embedded-hal-0.2.7\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-hal-0.2.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-hal-1.0.0\",\n        sha256 = \"361a90feb7004eca4019fb28352a9465666b24f840f5c3cddf0ff13920590b89\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-hal/1.0.0/download\"],\n        strip_prefix = \"embedded-hal-1.0.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-hal-1.0.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__embedded-hal-1.0.0-alpha.1\",\n        commit = \"599d44fdc7e709cb9ae6580ec11c0b7f7f102981\",\n        init_submodules = True,\n        remote = \"https://github.com/rust-embedded/embedded-hal.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-hal-1.0.0-alpha.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-io-0.6.1\",\n        sha256 = \"edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.6.1/download\"],\n        strip_prefix = \"embedded-io-0.6.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-io-0.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-io-async-0.6.1\",\n        sha256 = \"3ff09972d4073aa8c299395be75161d582e7629cd663171d62af73c8d50dba3f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io-async/0.6.1/download\"],\n        strip_prefix = \"embedded-io-async-0.6.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-io-async-0.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-storage-0.3.1\",\n        sha256 = \"a21dea9854beb860f3062d10228ce9b976da520a73474aed3171ec276bc0c032\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-storage/0.3.1/download\"],\n        strip_prefix = \"embedded-storage-0.3.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-storage-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__ff-0.13.1\",\n        sha256 = \"c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ff/0.13.1/download\"],\n        strip_prefix = \"ff-0.13.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ff-0.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__fugit-0.3.9\",\n        sha256 = \"4e639847d312d9a82d2e75b0edcc1e934efcc64e6cb7aa94f0b1fbec0bc231d6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fugit/0.3.9/download\"],\n        strip_prefix = \"fugit-0.3.9\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.fugit-0.3.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__gcd-2.3.0\",\n        sha256 = \"1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/gcd/2.3.0/download\"],\n        strip_prefix = \"gcd-2.3.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.gcd-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__generic-array-0.14.7\",\n        sha256 = \"85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/generic-array/0.14.7/download\"],\n        strip_prefix = \"generic-array-0.14.7\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.generic-array-0.14.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__getrandom-0.2.17\",\n        sha256 = \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.2.17/download\"],\n        strip_prefix = \"getrandom-0.2.17\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.getrandom-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__ghash-0.5.1\",\n        sha256 = \"f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ghash/0.5.1/download\"],\n        strip_prefix = \"ghash-0.5.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ghash-0.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__group-0.13.0\",\n        sha256 = \"f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/group/0.13.0/download\"],\n        strip_prefix = \"group-0.13.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.group-0.13.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__hash32-0.3.1\",\n        sha256 = \"47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hash32/0.3.1/download\"],\n        strip_prefix = \"hash32-0.3.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.hash32-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__heapless-0.8.0\",\n        sha256 = \"0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heapless/0.8.0/download\"],\n        strip_prefix = \"heapless-0.8.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.heapless-0.8.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__hex-literal-0.4.1\",\n        sha256 = \"6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hex-literal/0.4.1/download\"],\n        strip_prefix = \"hex-literal-0.4.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.hex-literal-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__hmac-0.12.1\",\n        sha256 = \"6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hmac/0.12.1/download\"],\n        strip_prefix = \"hmac-0.12.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.hmac-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__inout-0.1.4\",\n        sha256 = \"879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/inout/0.1.4/download\"],\n        strip_prefix = \"inout-0.1.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.inout-0.1.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__libc-0.2.183\",\n        sha256 = \"b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libc/0.2.183/download\"],\n        strip_prefix = \"libc-0.2.183\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.libc-0.2.183.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__log-0.4.29\",\n        sha256 = \"5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/log/0.4.29/download\"],\n        strip_prefix = \"log-0.4.29\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.log-0.4.29.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__mctp-0.2.0\",\n        commit = \"9e52b626863b916d900ca1ddfdd9215baf0f80fc\",\n        init_submodules = True,\n        remote = \"https://github.com/CodeConstruct/mctp-rs.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.mctp-0.2.0.bazel\"),\n        strip_prefix = \"mctp\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__mctp-estack-0.1.0\",\n        commit = \"9e52b626863b916d900ca1ddfdd9215baf0f80fc\",\n        init_submodules = True,\n        remote = \"https://github.com/CodeConstruct/mctp-rs.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.mctp-estack-0.1.0.bazel\"),\n        strip_prefix = \"mctp-estack\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__mctp-lib-0.1.0\",\n        commit = \"8bb45a0d90c6fe35f1258d55a08809f5af0ac5d8\",\n        init_submodules = True,\n        remote = \"https://github.com/OpenPRoT/mctp-lib.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.mctp-lib-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__nb-0.1.3\",\n        sha256 = \"801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nb/0.1.3/download\"],\n        strip_prefix = \"nb-0.1.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.nb-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__nb-1.1.0\",\n        sha256 = \"8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nb/1.1.0/download\"],\n        strip_prefix = \"nb-1.1.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.nb-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__opaque-debug-0.3.1\",\n        sha256 = \"c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/opaque-debug/0.3.1/download\"],\n        strip_prefix = \"opaque-debug-0.3.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.opaque-debug-0.3.1.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__openprot-hal-blocking-0.1.0\",\n        commit = \"c6cd23a56f3cc7945b062ea1bcdabf3af0dba82d\",\n        init_submodules = True,\n        remote = \"https://github.com/rusty1968/openprot.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.openprot-hal-blocking-0.1.0.bazel\"),\n        strip_prefix = \"hal/blocking\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__p256-0.13.2\",\n        sha256 = \"c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/p256/0.13.2/download\"],\n        strip_prefix = \"p256-0.13.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.p256-0.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__p384-0.13.1\",\n        sha256 = \"fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/p384/0.13.1/download\"],\n        strip_prefix = \"p384-0.13.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.p384-0.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__panic-halt-1.0.0\",\n        sha256 = \"a513e167849a384b7f9b746e517604398518590a9142f4846a32e3c2a4de7b11\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/panic-halt/1.0.0/download\"],\n        strip_prefix = \"panic-halt-1.0.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.panic-halt-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__paste-1.0.15\",\n        sha256 = \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/paste/1.0.15/download\"],\n        strip_prefix = \"paste-1.0.15\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.paste-1.0.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__polyval-0.6.2\",\n        sha256 = \"9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/polyval/0.6.2/download\"],\n        strip_prefix = \"polyval-0.6.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.polyval-0.6.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__ppv-lite86-0.2.21\",\n        sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n        strip_prefix = \"ppv-lite86-0.2.21\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ppv-lite86-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__primeorder-0.13.6\",\n        sha256 = \"353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/primeorder/0.13.6/download\"],\n        strip_prefix = \"primeorder-0.13.6\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.primeorder-0.13.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__proc-macro2-1.0.106\",\n        sha256 = \"8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2/1.0.106/download\"],\n        strip_prefix = \"proc-macro2-1.0.106\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.proc-macro2-1.0.106.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__proposed-traits-0.1.0\",\n        commit = \"85641310df5a5276c67f81621b104322cff0286c\",\n        init_submodules = True,\n        remote = \"https://github.com/rusty1968/proposed_traits.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.proposed-traits-0.1.0.bazel\"),\n        strip_prefix = \"proposed-traits\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__quote-1.0.45\",\n        sha256 = \"41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/quote/1.0.45/download\"],\n        strip_prefix = \"quote-1.0.45\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.quote-1.0.45.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__rand_chacha-0.3.1\",\n        sha256 = \"e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_chacha/0.3.1/download\"],\n        strip_prefix = \"rand_chacha-0.3.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.rand_chacha-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__rand_core-0.6.4\",\n        sha256 = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_core/0.6.4/download\"],\n        strip_prefix = \"rand_core-0.6.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.rand_core-0.6.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__rand_core-0.9.5\",\n        sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n        strip_prefix = \"rand_core-0.9.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.rand_core-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__rfc6979-0.4.0\",\n        sha256 = \"f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rfc6979/0.4.0/download\"],\n        strip_prefix = \"rfc6979-0.4.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.rfc6979-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__rustc_version-0.2.3\",\n        sha256 = \"138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc_version/0.2.3/download\"],\n        strip_prefix = \"rustc_version-0.2.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.rustc_version-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__sec1-0.7.3\",\n        sha256 = \"d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sec1/0.7.3/download\"],\n        strip_prefix = \"sec1-0.7.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.sec1-0.7.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__semver-0.9.0\",\n        sha256 = \"1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver/0.9.0/download\"],\n        strip_prefix = \"semver-0.9.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.semver-0.9.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__semver-parser-0.7.0\",\n        sha256 = \"388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver-parser/0.7.0/download\"],\n        strip_prefix = \"semver-parser-0.7.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.semver-parser-0.7.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__sha2-0.10.9\",\n        sha256 = \"a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sha2/0.10.9/download\"],\n        strip_prefix = \"sha2-0.10.9\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.sha2-0.10.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__signature-2.2.0\",\n        sha256 = \"77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signature/2.2.0/download\"],\n        strip_prefix = \"signature-2.2.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.signature-2.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__smbus-pec-1.0.1\",\n        sha256 = \"ca0763a680cd5d72b28f7bfc8a054c117d8841380a6ad4f72f05bd2a34217d3e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smbus-pec/1.0.1/download\"],\n        strip_prefix = \"smbus-pec-1.0.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.smbus-pec-1.0.1.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__spdm-lib-0.1.0\",\n        commit = \"e01b0b9149bd51f4bad1e25d17fa5456f3642a9d\",\n        init_submodules = True,\n        remote = \"https://github.com/9elements/spdm-lib.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.spdm-lib-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__stable_deref_trait-1.2.1\",\n        sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n        strip_prefix = \"stable_deref_trait-1.2.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.stable_deref_trait-1.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__subtle-2.6.1\",\n        sha256 = \"13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/subtle/2.6.1/download\"],\n        strip_prefix = \"subtle-2.6.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.subtle-2.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__syn-2.0.117\",\n        sha256 = \"e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/2.0.117/download\"],\n        strip_prefix = \"syn-2.0.117\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.syn-2.0.117.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__typenum-1.19.0\",\n        sha256 = \"562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/typenum/1.19.0/download\"],\n        strip_prefix = \"typenum-1.19.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.typenum-1.19.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__unicode-ident-1.0.24\",\n        sha256 = \"e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-ident/1.0.24/download\"],\n        strip_prefix = \"unicode-ident-1.0.24\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.unicode-ident-1.0.24.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__universal-hash-0.5.1\",\n        sha256 = \"fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/universal-hash/0.5.1/download\"],\n        strip_prefix = \"universal-hash-0.5.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.universal-hash-0.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__uuid-1.23.0\",\n        sha256 = \"5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/uuid/1.23.0/download\"],\n        strip_prefix = \"uuid-1.23.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.uuid-1.23.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__vcell-0.1.3\",\n        sha256 = \"77439c1b53d2303b20d9459b1ade71a83c716e3f9c34f3228c00e6f185d6c002\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/vcell/0.1.3/download\"],\n        strip_prefix = \"vcell-0.1.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.vcell-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__version_check-0.9.5\",\n        sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n        strip_prefix = \"version_check-0.9.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.version_check-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__void-1.0.2\",\n        sha256 = \"6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/void/1.0.2/download\"],\n        strip_prefix = \"void-1.0.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.void-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__volatile-register-0.2.2\",\n        sha256 = \"de437e2a6208b014ab52972a27e59b33fa2920d3e00fe05026167a1c509d19cc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/volatile-register/0.2.2/download\"],\n        strip_prefix = \"volatile-register-0.2.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.volatile-register-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__wasi-0.11.1-wasi-snapshot-preview1\",\n        sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n        strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__zerocopy-0.8.47\",\n        sha256 = \"efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy/0.8.47/download\"],\n        strip_prefix = \"zerocopy-0.8.47\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.zerocopy-0.8.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__zerocopy-derive-0.8.47\",\n        sha256 = \"0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.47/download\"],\n        strip_prefix = \"zerocopy-derive-0.8.47\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.zerocopy-derive-0.8.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__zeroize-1.8.2\",\n        sha256 = \"b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize/1.8.2/download\"],\n        strip_prefix = \"zeroize-1.8.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.zeroize-1.8.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__zeroize_derive-1.4.3\",\n        sha256 = \"85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize_derive/1.4.3/download\"],\n        strip_prefix = \"zeroize_derive-1.4.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.zeroize_derive-1.4.3.bazel\"),\n    )\n\n    return [\n       struct(repo=\"oot_crates_no_std__aes-0.8.4\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__aes-gcm-0.10.3\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__aspeed-ddk-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__ast1060-pac-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__cipher-0.4.4\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__cortex-m-0.7.7\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__cortex-m-rt-0.7.5\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__cortex-m-semihosting-0.5.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__ctr-0.9.2\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__ecdsa-0.16.9\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__embedded-hal-1.0.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__embedded-io-0.6.1\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__fugit-0.3.9\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__getrandom-0.2.17\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__heapless-0.8.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__hex-literal-0.4.1\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__hmac-0.12.1\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__mctp-0.2.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__mctp-lib-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__nb-1.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__openprot-hal-blocking-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__p256-0.13.2\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__p384-0.13.1\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__proposed-traits-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__rand_chacha-0.3.1\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__rand_core-0.6.4\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__sha2-0.10.9\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__spdm-lib-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__zerocopy-0.8.47\", is_dev_dep = False),\n    ]\n"
+                "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n    \"\"\"Flatten a list of dependency maps into one dictionary.\n\n    Dependency maps have the following structure:\n\n    ```python\n    DEPENDENCIES_MAP = {\n        # The first key in the map is a Bazel package\n        # name of the workspace this file is defined in.\n        \"workspace_member_package\": {\n\n            # Not all dependencies are supported for all platforms.\n            # the condition key is the condition required to be true\n            # on the host platform.\n            \"condition\": {\n\n                # An alias to a crate target.     # The label of the crate target the\n                # Aliases are only crate names.   # package name refers to.\n                \"package_name\":                   \"@full//:label\",\n            }\n        }\n    }\n    ```\n\n    Args:\n        all_dependency_maps (list): A list of dicts as described above\n\n    Returns:\n        dict: A dictionary as described above\n    \"\"\"\n    dependencies = {}\n\n    for workspace_deps_map in all_dependency_maps:\n        for pkg_name, conditional_deps_map in workspace_deps_map.items():\n            if pkg_name not in dependencies:\n                non_frozen_map = dict()\n                for key, values in conditional_deps_map.items():\n                    non_frozen_map.update({key: dict(values.items())})\n                dependencies.setdefault(pkg_name, non_frozen_map)\n                continue\n\n            for condition, deps_map in conditional_deps_map.items():\n                # If the condition has not been recorded, do so and continue\n                if condition not in dependencies[pkg_name]:\n                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n                    continue\n\n                # Alert on any miss-matched dependencies\n                inconsistent_entries = []\n                for crate_name, crate_label in deps_map.items():\n                    existing = dependencies[pkg_name][condition].get(crate_name)\n                    if existing and existing != crate_label:\n                        inconsistent_entries.append((crate_name, existing, crate_label))\n                    dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n    return dependencies\n\ndef crate_deps(deps, package_name = None):\n    \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n    Args:\n        deps (list): The desired list of crate targets.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()`.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if not deps:\n        return []\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Join both sets of dependencies\n    dependencies = _flatten_dependency_maps([\n        _NORMAL_DEPENDENCIES,\n        _NORMAL_DEV_DEPENDENCIES,\n        _PROC_MACRO_DEPENDENCIES,\n        _PROC_MACRO_DEV_DEPENDENCIES,\n        _BUILD_DEPENDENCIES,\n        _BUILD_PROC_MACRO_DEPENDENCIES,\n    ]).pop(package_name, {})\n\n    # Combine all conditional packages so we can easily index over a flat list\n    # TODO: Perhaps this should actually return select statements and maintain\n    # the conditionals of the dependencies\n    flat_deps = {}\n    for deps_set in dependencies.values():\n        for crate_name, crate_label in deps_set.items():\n            flat_deps.update({crate_name: crate_label})\n\n    missing_crates = []\n    crate_targets = []\n    for crate_target in deps:\n        if crate_target not in flat_deps:\n            missing_crates.append(crate_target)\n        else:\n            crate_targets.append(flat_deps[crate_target])\n\n    if missing_crates:\n        fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n            missing_crates,\n            package_name,\n            dependencies,\n        ))\n\n    return crate_targets\n\ndef all_crate_deps(\n        normal = False, \n        normal_dev = False, \n        proc_macro = False, \n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n    for the package where this macro is called.\n\n    If no parameters are set, all normal dependencies are returned. Setting any one flag will\n    otherwise impact the contents of the returned list.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        list: A list of labels to generated rust targets (str)\n    \"\"\"\n\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_dependency_maps = []\n    if normal:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n    if normal_dev:\n        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n    if proc_macro:\n        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n    if proc_macro_dev:\n        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n    if build:\n        all_dependency_maps.append(_BUILD_DEPENDENCIES)\n    if build_proc_macro:\n        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n    # Default to always using normal dependencies\n    if not all_dependency_maps:\n        all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n    if not dependencies:\n        if dependencies == None:\n            fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n        else:\n            return []\n\n    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n    for condition, deps in dependencies.items():\n        crate_deps += selects.with_or({\n            tuple(_CONDITIONS[condition]): deps.values(),\n            \"//conditions:default\": [],\n        })\n\n    return crate_deps\n\ndef aliases(\n        normal = False,\n        normal_dev = False,\n        proc_macro = False,\n        proc_macro_dev = False,\n        build = False,\n        build_proc_macro = False,\n        package_name = None):\n    \"\"\"Produces a map of Crate alias names to their original label\n\n    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n    Setting any one flag will otherwise determine the contents of the returned dict.\n\n    Args:\n        normal (bool, optional): If True, normal dependencies are included in the\n            output list.\n        normal_dev (bool, optional): If True, normal dev dependencies will be\n            included in the output list..\n        proc_macro (bool, optional): If True, proc_macro dependencies are included\n            in the output list.\n        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n            included in the output list.\n        build (bool, optional): If True, build dependencies are included\n            in the output list.\n        build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n            included in the output list.\n        package_name (str, optional): The package name of the set of dependencies to look up.\n            Defaults to `native.package_name()` when unset.\n\n    Returns:\n        dict: The aliases of all associated packages\n    \"\"\"\n    if package_name == None:\n        package_name = native.package_name()\n\n    # Determine the relevant maps to use\n    all_aliases_maps = []\n    if normal:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n    if normal_dev:\n        all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n    if proc_macro:\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n    if proc_macro_dev:\n        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n    if build:\n        all_aliases_maps.append(_BUILD_ALIASES)\n    if build_proc_macro:\n        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n    # Default to always using normal aliases\n    if not all_aliases_maps:\n        all_aliases_maps.append(_NORMAL_ALIASES)\n        all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n    if not aliases:\n        return dict()\n\n    common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n    # If there are only common items in the dictionary, immediately return them\n    if not len(aliases.keys()) == 1:\n        return dict(common_items)\n\n    # Build a single select statement where each conditional has accounted for the\n    # common set of aliases.\n    crate_aliases = {\"//conditions:default\": dict(common_items)}\n    for condition, deps in aliases.items():\n        condition_triples = _CONDITIONS[condition]\n        for triple in condition_triples:\n            if triple in crate_aliases:\n                crate_aliases[triple].update(deps)\n            else:\n                crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n    return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n        _COMMON_CONDITION: {\n            \"aes\": Label(\"@oot_crates_no_std//:aes-0.8.4\"),\n            \"aes-gcm\": Label(\"@oot_crates_no_std//:aes-gcm-0.10.3\"),\n            \"aspeed-ddk\": Label(\"@oot_crates_no_std//:aspeed-ddk-0.1.0\"),\n            \"ast1060-pac\": Label(\"@oot_crates_no_std//:ast1060-pac-0.1.0\"),\n            \"cipher\": Label(\"@oot_crates_no_std//:cipher-0.4.4\"),\n            \"cortex-m\": Label(\"@oot_crates_no_std//:cortex-m-0.7.7\"),\n            \"cortex-m-rt\": Label(\"@oot_crates_no_std//:cortex-m-rt-0.7.5\"),\n            \"cortex-m-semihosting\": Label(\"@oot_crates_no_std//:cortex-m-semihosting-0.5.0\"),\n            \"ctr\": Label(\"@oot_crates_no_std//:ctr-0.9.2\"),\n            \"ecdsa\": Label(\"@oot_crates_no_std//:ecdsa-0.16.9\"),\n            \"embedded-hal\": Label(\"@oot_crates_no_std//:embedded-hal-1.0.0\"),\n            \"embedded-io\": Label(\"@oot_crates_no_std//:embedded-io-0.6.1\"),\n            \"fugit\": Label(\"@oot_crates_no_std//:fugit-0.3.9\"),\n            \"getrandom\": Label(\"@oot_crates_no_std//:getrandom-0.2.17\"),\n            \"heapless\": Label(\"@oot_crates_no_std//:heapless-0.8.0\"),\n            \"hex-literal\": Label(\"@oot_crates_no_std//:hex-literal-0.4.1\"),\n            \"hmac\": Label(\"@oot_crates_no_std//:hmac-0.12.1\"),\n            \"mctp\": Label(\"@oot_crates_no_std//:mctp-0.2.0\"),\n            \"mctp-lib\": Label(\"@oot_crates_no_std//:mctp-lib-0.1.0\"),\n            \"nb\": Label(\"@oot_crates_no_std//:nb-1.1.0\"),\n            \"openprot-hal-blocking\": Label(\"@oot_crates_no_std//:openprot-hal-blocking-0.1.0\"),\n            \"p256\": Label(\"@oot_crates_no_std//:p256-0.13.2\"),\n            \"p384\": Label(\"@oot_crates_no_std//:p384-0.13.1\"),\n            \"proposed-traits\": Label(\"@oot_crates_no_std//:proposed-traits-0.1.0\"),\n            \"rand_chacha\": Label(\"@oot_crates_no_std//:rand_chacha-0.3.1\"),\n            \"rand_core\": Label(\"@oot_crates_no_std//:rand_core-0.6.4\"),\n            \"sha2\": Label(\"@oot_crates_no_std//:sha2-0.10.9\"),\n            \"spdm-lib\": Label(\"@oot_crates_no_std//:spdm-lib-0.1.0\"),\n            \"zerocopy\": Label(\"@oot_crates_no_std//:zerocopy-0.8.47\"),\n        },\n    },\n}\n\n\n_NORMAL_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n        _COMMON_CONDITION: {\n        },\n    },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_PROC_MACRO_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_BUILD_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_BUILD_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n    \"third_party/crates_io/crates_no_std\": {\n    },\n}\n\n\n_CONDITIONS = {\n    \"aarch64-apple-darwin\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n    \"aarch64-linux-android\": [],\n    \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"cfg(all(target_arch = \\\"aarch64\\\", target_os = \\\"linux\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n    \"cfg(all(target_arch = \\\"aarch64\\\", target_vendor = \\\"apple\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\"],\n    \"cfg(all(target_arch = \\\"loongarch64\\\", target_os = \\\"linux\\\"))\": [],\n    \"cfg(any(target_arch = \\\"aarch64\\\", target_arch = \\\"x86_64\\\", target_arch = \\\"x86\\\"))\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-apple-darwin\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"cfg(target_os = \\\"wasi\\\")\": [],\n    \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-apple-darwin\",\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-apple-darwin\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n    \"riscv32imc-unknown-none-elf\": [\"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\"],\n    \"thumbv6m-none-eabi\": [\"@rules_rust//rust/platform:thumbv6m-none-eabi\"],\n    \"thumbv7em-none-eabi\": [\"@rules_rust//rust/platform:thumbv7em-none-eabi\"],\n    \"thumbv7m-none-eabi\": [\"@rules_rust//rust/platform:thumbv7m-none-eabi\"],\n    \"thumbv8m.main-none-eabi\": [\"@rules_rust//rust/platform:thumbv8m.main-none-eabi\"],\n    \"x86_64-apple-darwin\": [\"@rules_rust//rust/platform:x86_64-apple-darwin\"],\n    \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n}\n\n###############################################################################\n\ndef crate_repositories():\n    \"\"\"A macro for defining repositories for all generated crates.\n\n    Returns:\n      A list of repos visible to the module through the module extension.\n    \"\"\"\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__aead-0.5.2\",\n        sha256 = \"d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aead/0.5.2/download\"],\n        strip_prefix = \"aead-0.5.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.aead-0.5.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__aes-0.8.4\",\n        sha256 = \"b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aes/0.8.4/download\"],\n        strip_prefix = \"aes-0.8.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.aes-0.8.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__aes-gcm-0.10.3\",\n        sha256 = \"831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/aes-gcm/0.10.3/download\"],\n        strip_prefix = \"aes-gcm-0.10.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.aes-gcm-0.10.3.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__aspeed-ddk-0.1.0\",\n        commit = \"ce3b5677b95bc98a61ebf8783d00d93a910c4495\",\n        init_submodules = True,\n        remote = \"https://github.com/OpenPRoT/aspeed-rust.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.aspeed-ddk-0.1.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__ast1060-pac-0.1.0\",\n        commit = \"564cd385f0b160b4a5ce435b930d28b87799bc96\",\n        init_submodules = True,\n        remote = \"https://github.com/OpenPRoT/ast1060-pac.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ast1060-pac-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__async-trait-0.1.89\",\n        sha256 = \"9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/async-trait/0.1.89/download\"],\n        strip_prefix = \"async-trait-0.1.89\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.async-trait-0.1.89.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__bare-metal-0.2.5\",\n        sha256 = \"5deb64efa5bd81e31fcd1938615a6d98c82eafcbcd787162b6f63b91d6bac5b3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bare-metal/0.2.5/download\"],\n        strip_prefix = \"bare-metal-0.2.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.bare-metal-0.2.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__base16ct-0.2.0\",\n        sha256 = \"4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/base16ct/0.2.0/download\"],\n        strip_prefix = \"base16ct-0.2.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.base16ct-0.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__bitfield-0.13.2\",\n        sha256 = \"46afbd2983a5d5a7bd740ccb198caf5b82f45c40c09c0eed36052d91cb92e719\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitfield/0.13.2/download\"],\n        strip_prefix = \"bitfield-0.13.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.bitfield-0.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__bitfield-0.14.0\",\n        sha256 = \"2d7e60934ceec538daadb9d8432424ed043a904d8e0243f3c6446bce549a46ac\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitfield/0.14.0/download\"],\n        strip_prefix = \"bitfield-0.14.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.bitfield-0.14.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__bitflags-2.11.0\",\n        sha256 = \"843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/bitflags/2.11.0/download\"],\n        strip_prefix = \"bitflags-2.11.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.bitflags-2.11.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__block-buffer-0.10.4\",\n        sha256 = \"3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/block-buffer/0.10.4/download\"],\n        strip_prefix = \"block-buffer-0.10.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.block-buffer-0.10.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__byteorder-1.5.0\",\n        sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n        strip_prefix = \"byteorder-1.5.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.byteorder-1.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cfg-if-1.0.4\",\n        sha256 = \"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cfg-if/1.0.4/download\"],\n        strip_prefix = \"cfg-if-1.0.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cfg-if-1.0.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cipher-0.4.4\",\n        sha256 = \"773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cipher/0.4.4/download\"],\n        strip_prefix = \"cipher-0.4.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cipher-0.4.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__const-oid-0.9.6\",\n        sha256 = \"c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/const-oid/0.9.6/download\"],\n        strip_prefix = \"const-oid-0.9.6\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.const-oid-0.9.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cortex-m-0.7.7\",\n        sha256 = \"8ec610d8f49840a5b376c69663b6369e71f4b34484b9b2eb29fb918d92516cb9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cortex-m/0.7.7/download\"],\n        strip_prefix = \"cortex-m-0.7.7\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cortex-m-0.7.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cortex-m-rt-0.7.5\",\n        sha256 = \"801d4dec46b34c299ccf6b036717ae0fce602faa4f4fe816d9013b9a7c9f5ba6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cortex-m-rt/0.7.5/download\"],\n        strip_prefix = \"cortex-m-rt-0.7.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cortex-m-rt-0.7.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cortex-m-rt-macros-0.7.5\",\n        sha256 = \"e37549a379a9e0e6e576fd208ee60394ccb8be963889eebba3ffe0980364f472\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cortex-m-rt-macros/0.7.5/download\"],\n        strip_prefix = \"cortex-m-rt-macros-0.7.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cortex-m-rt-macros-0.7.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cortex-m-semihosting-0.5.0\",\n        sha256 = \"c23234600452033cc77e4b761e740e02d2c4168e11dbf36ab14a0f58973592b0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cortex-m-semihosting/0.5.0/download\"],\n        strip_prefix = \"cortex-m-semihosting-0.5.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cortex-m-semihosting-0.5.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__cpufeatures-0.2.17\",\n        sha256 = \"59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/cpufeatures/0.2.17/download\"],\n        strip_prefix = \"cpufeatures-0.2.17\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.cpufeatures-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__crc-3.4.0\",\n        sha256 = \"5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crc/3.4.0/download\"],\n        strip_prefix = \"crc-3.4.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.crc-3.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__crc-catalog-2.4.0\",\n        sha256 = \"19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crc-catalog/2.4.0/download\"],\n        strip_prefix = \"crc-catalog-2.4.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.crc-catalog-2.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__critical-section-1.2.0\",\n        sha256 = \"790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/critical-section/1.2.0/download\"],\n        strip_prefix = \"critical-section-1.2.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.critical-section-1.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__crypto-bigint-0.5.5\",\n        sha256 = \"0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crypto-bigint/0.5.5/download\"],\n        strip_prefix = \"crypto-bigint-0.5.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.crypto-bigint-0.5.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__crypto-common-0.1.7\",\n        sha256 = \"78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/crypto-common/0.1.7/download\"],\n        strip_prefix = \"crypto-common-0.1.7\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.crypto-common-0.1.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__ctr-0.9.2\",\n        sha256 = \"0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ctr/0.9.2/download\"],\n        strip_prefix = \"ctr-0.9.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ctr-0.9.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__der-0.7.10\",\n        sha256 = \"e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/der/0.7.10/download\"],\n        strip_prefix = \"der-0.7.10\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.der-0.7.10.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__digest-0.10.7\",\n        sha256 = \"9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/digest/0.10.7/download\"],\n        strip_prefix = \"digest-0.10.7\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.digest-0.10.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__ecdsa-0.16.9\",\n        sha256 = \"ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ecdsa/0.16.9/download\"],\n        strip_prefix = \"ecdsa-0.16.9\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ecdsa-0.16.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__elliptic-curve-0.13.8\",\n        sha256 = \"b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/elliptic-curve/0.13.8/download\"],\n        strip_prefix = \"elliptic-curve-0.13.8\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.elliptic-curve-0.13.8.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-crc-macros-1.0.0\",\n        sha256 = \"4f1c75747a43b086df1a87fb2a889590bc0725e0abf54bba6d0c4bf7bd9e762c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-crc-macros/1.0.0/download\"],\n        strip_prefix = \"embedded-crc-macros-1.0.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-crc-macros-1.0.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-hal-0.2.7\",\n        sha256 = \"35949884794ad573cf46071e41c9b60efb0cb311e3ca01f7af807af1debc66ff\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-hal/0.2.7/download\"],\n        strip_prefix = \"embedded-hal-0.2.7\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-hal-0.2.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-hal-1.0.0\",\n        sha256 = \"361a90feb7004eca4019fb28352a9465666b24f840f5c3cddf0ff13920590b89\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-hal/1.0.0/download\"],\n        strip_prefix = \"embedded-hal-1.0.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-hal-1.0.0.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__embedded-hal-1.0.0-alpha.1\",\n        commit = \"599d44fdc7e709cb9ae6580ec11c0b7f7f102981\",\n        init_submodules = True,\n        remote = \"https://github.com/rust-embedded/embedded-hal.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-hal-1.0.0-alpha.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-io-0.6.1\",\n        sha256 = \"edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io/0.6.1/download\"],\n        strip_prefix = \"embedded-io-0.6.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-io-0.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-io-async-0.6.1\",\n        sha256 = \"3ff09972d4073aa8c299395be75161d582e7629cd663171d62af73c8d50dba3f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-io-async/0.6.1/download\"],\n        strip_prefix = \"embedded-io-async-0.6.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-io-async-0.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__embedded-storage-0.3.1\",\n        sha256 = \"a21dea9854beb860f3062d10228ce9b976da520a73474aed3171ec276bc0c032\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/embedded-storage/0.3.1/download\"],\n        strip_prefix = \"embedded-storage-0.3.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.embedded-storage-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__ff-0.13.1\",\n        sha256 = \"c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ff/0.13.1/download\"],\n        strip_prefix = \"ff-0.13.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ff-0.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__fugit-0.3.9\",\n        sha256 = \"4e639847d312d9a82d2e75b0edcc1e934efcc64e6cb7aa94f0b1fbec0bc231d6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/fugit/0.3.9/download\"],\n        strip_prefix = \"fugit-0.3.9\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.fugit-0.3.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__gcd-2.3.0\",\n        sha256 = \"1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/gcd/2.3.0/download\"],\n        strip_prefix = \"gcd-2.3.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.gcd-2.3.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__generic-array-0.14.7\",\n        sha256 = \"85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/generic-array/0.14.7/download\"],\n        strip_prefix = \"generic-array-0.14.7\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.generic-array-0.14.7.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__getrandom-0.2.17\",\n        sha256 = \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/getrandom/0.2.17/download\"],\n        strip_prefix = \"getrandom-0.2.17\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.getrandom-0.2.17.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__ghash-0.5.1\",\n        sha256 = \"f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ghash/0.5.1/download\"],\n        strip_prefix = \"ghash-0.5.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ghash-0.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__group-0.13.0\",\n        sha256 = \"f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/group/0.13.0/download\"],\n        strip_prefix = \"group-0.13.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.group-0.13.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__hash32-0.3.1\",\n        sha256 = \"47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hash32/0.3.1/download\"],\n        strip_prefix = \"hash32-0.3.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.hash32-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__heapless-0.8.0\",\n        sha256 = \"0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/heapless/0.8.0/download\"],\n        strip_prefix = \"heapless-0.8.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.heapless-0.8.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__hex-literal-0.4.1\",\n        sha256 = \"6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hex-literal/0.4.1/download\"],\n        strip_prefix = \"hex-literal-0.4.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.hex-literal-0.4.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__hmac-0.12.1\",\n        sha256 = \"6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/hmac/0.12.1/download\"],\n        strip_prefix = \"hmac-0.12.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.hmac-0.12.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__inout-0.1.4\",\n        sha256 = \"879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/inout/0.1.4/download\"],\n        strip_prefix = \"inout-0.1.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.inout-0.1.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__libc-0.2.183\",\n        sha256 = \"b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/libc/0.2.183/download\"],\n        strip_prefix = \"libc-0.2.183\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.libc-0.2.183.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__log-0.4.29\",\n        sha256 = \"5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/log/0.4.29/download\"],\n        strip_prefix = \"log-0.4.29\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.log-0.4.29.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__mctp-0.2.0\",\n        commit = \"9e52b626863b916d900ca1ddfdd9215baf0f80fc\",\n        init_submodules = True,\n        remote = \"https://github.com/CodeConstruct/mctp-rs.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.mctp-0.2.0.bazel\"),\n        strip_prefix = \"mctp\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__mctp-estack-0.1.0\",\n        commit = \"9e52b626863b916d900ca1ddfdd9215baf0f80fc\",\n        init_submodules = True,\n        remote = \"https://github.com/CodeConstruct/mctp-rs.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.mctp-estack-0.1.0.bazel\"),\n        strip_prefix = \"mctp-estack\",\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__mctp-lib-0.1.0\",\n        commit = \"8bb45a0d90c6fe35f1258d55a08809f5af0ac5d8\",\n        init_submodules = True,\n        remote = \"https://github.com/OpenPRoT/mctp-lib.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.mctp-lib-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__nb-0.1.3\",\n        sha256 = \"801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nb/0.1.3/download\"],\n        strip_prefix = \"nb-0.1.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.nb-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__nb-1.1.0\",\n        sha256 = \"8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/nb/1.1.0/download\"],\n        strip_prefix = \"nb-1.1.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.nb-1.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__opaque-debug-0.3.1\",\n        sha256 = \"c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/opaque-debug/0.3.1/download\"],\n        strip_prefix = \"opaque-debug-0.3.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.opaque-debug-0.3.1.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__openprot-hal-blocking-0.1.0\",\n        commit = \"c6cd23a56f3cc7945b062ea1bcdabf3af0dba82d\",\n        init_submodules = True,\n        remote = \"https://github.com/rusty1968/openprot.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.openprot-hal-blocking-0.1.0.bazel\"),\n        strip_prefix = \"hal/blocking\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__p256-0.13.2\",\n        sha256 = \"c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/p256/0.13.2/download\"],\n        strip_prefix = \"p256-0.13.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.p256-0.13.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__p384-0.13.1\",\n        sha256 = \"fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/p384/0.13.1/download\"],\n        strip_prefix = \"p384-0.13.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.p384-0.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__paste-1.0.15\",\n        sha256 = \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/paste/1.0.15/download\"],\n        strip_prefix = \"paste-1.0.15\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.paste-1.0.15.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__polyval-0.6.2\",\n        sha256 = \"9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/polyval/0.6.2/download\"],\n        strip_prefix = \"polyval-0.6.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.polyval-0.6.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__portable-atomic-1.13.1\",\n        sha256 = \"c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/portable-atomic/1.13.1/download\"],\n        strip_prefix = \"portable-atomic-1.13.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.portable-atomic-1.13.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__ppv-lite86-0.2.21\",\n        sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n        strip_prefix = \"ppv-lite86-0.2.21\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.ppv-lite86-0.2.21.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__primeorder-0.13.6\",\n        sha256 = \"353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/primeorder/0.13.6/download\"],\n        strip_prefix = \"primeorder-0.13.6\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.primeorder-0.13.6.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__proc-macro2-1.0.106\",\n        sha256 = \"8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/proc-macro2/1.0.106/download\"],\n        strip_prefix = \"proc-macro2-1.0.106\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.proc-macro2-1.0.106.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__proposed-traits-0.1.0\",\n        commit = \"85641310df5a5276c67f81621b104322cff0286c\",\n        init_submodules = True,\n        remote = \"https://github.com/rusty1968/proposed_traits.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.proposed-traits-0.1.0.bazel\"),\n        strip_prefix = \"proposed-traits\",\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__quote-1.0.45\",\n        sha256 = \"41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/quote/1.0.45/download\"],\n        strip_prefix = \"quote-1.0.45\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.quote-1.0.45.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__rand_chacha-0.3.1\",\n        sha256 = \"e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_chacha/0.3.1/download\"],\n        strip_prefix = \"rand_chacha-0.3.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.rand_chacha-0.3.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__rand_core-0.6.4\",\n        sha256 = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_core/0.6.4/download\"],\n        strip_prefix = \"rand_core-0.6.4\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.rand_core-0.6.4.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__rand_core-0.9.5\",\n        sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n        strip_prefix = \"rand_core-0.9.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.rand_core-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__rfc6979-0.4.0\",\n        sha256 = \"f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rfc6979/0.4.0/download\"],\n        strip_prefix = \"rfc6979-0.4.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.rfc6979-0.4.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__rustc_version-0.2.3\",\n        sha256 = \"138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/rustc_version/0.2.3/download\"],\n        strip_prefix = \"rustc_version-0.2.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.rustc_version-0.2.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__sec1-0.7.3\",\n        sha256 = \"d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sec1/0.7.3/download\"],\n        strip_prefix = \"sec1-0.7.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.sec1-0.7.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__semver-0.9.0\",\n        sha256 = \"1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver/0.9.0/download\"],\n        strip_prefix = \"semver-0.9.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.semver-0.9.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__semver-parser-0.7.0\",\n        sha256 = \"388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/semver-parser/0.7.0/download\"],\n        strip_prefix = \"semver-parser-0.7.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.semver-parser-0.7.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__sha2-0.10.9\",\n        sha256 = \"a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/sha2/0.10.9/download\"],\n        strip_prefix = \"sha2-0.10.9\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.sha2-0.10.9.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__signature-2.2.0\",\n        sha256 = \"77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/signature/2.2.0/download\"],\n        strip_prefix = \"signature-2.2.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.signature-2.2.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__smbus-pec-1.0.1\",\n        sha256 = \"ca0763a680cd5d72b28f7bfc8a054c117d8841380a6ad4f72f05bd2a34217d3e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/smbus-pec/1.0.1/download\"],\n        strip_prefix = \"smbus-pec-1.0.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.smbus-pec-1.0.1.bazel\"),\n    )\n\n    maybe(\n        new_git_repository,\n        name = \"oot_crates_no_std__spdm-lib-0.1.0\",\n        commit = \"e01b0b9149bd51f4bad1e25d17fa5456f3642a9d\",\n        init_submodules = True,\n        remote = \"https://github.com/9elements/spdm-lib.git\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.spdm-lib-0.1.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__stable_deref_trait-1.2.1\",\n        sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n        strip_prefix = \"stable_deref_trait-1.2.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.stable_deref_trait-1.2.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__static_cell-2.1.1\",\n        sha256 = \"0530892bb4fa575ee0da4b86f86c667132a94b74bb72160f58ee5a4afec74c23\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/static_cell/2.1.1/download\"],\n        strip_prefix = \"static_cell-2.1.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.static_cell-2.1.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__subtle-2.6.1\",\n        sha256 = \"13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/subtle/2.6.1/download\"],\n        strip_prefix = \"subtle-2.6.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.subtle-2.6.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__syn-2.0.117\",\n        sha256 = \"e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/syn/2.0.117/download\"],\n        strip_prefix = \"syn-2.0.117\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.syn-2.0.117.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__typenum-1.19.0\",\n        sha256 = \"562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/typenum/1.19.0/download\"],\n        strip_prefix = \"typenum-1.19.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.typenum-1.19.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__unicode-ident-1.0.24\",\n        sha256 = \"e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/unicode-ident/1.0.24/download\"],\n        strip_prefix = \"unicode-ident-1.0.24\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.unicode-ident-1.0.24.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__universal-hash-0.5.1\",\n        sha256 = \"fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/universal-hash/0.5.1/download\"],\n        strip_prefix = \"universal-hash-0.5.1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.universal-hash-0.5.1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__uuid-1.23.0\",\n        sha256 = \"5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/uuid/1.23.0/download\"],\n        strip_prefix = \"uuid-1.23.0\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.uuid-1.23.0.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__vcell-0.1.3\",\n        sha256 = \"77439c1b53d2303b20d9459b1ade71a83c716e3f9c34f3228c00e6f185d6c002\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/vcell/0.1.3/download\"],\n        strip_prefix = \"vcell-0.1.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.vcell-0.1.3.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__version_check-0.9.5\",\n        sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n        strip_prefix = \"version_check-0.9.5\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.version_check-0.9.5.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__void-1.0.2\",\n        sha256 = \"6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/void/1.0.2/download\"],\n        strip_prefix = \"void-1.0.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.void-1.0.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__volatile-register-0.2.2\",\n        sha256 = \"de437e2a6208b014ab52972a27e59b33fa2920d3e00fe05026167a1c509d19cc\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/volatile-register/0.2.2/download\"],\n        strip_prefix = \"volatile-register-0.2.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.volatile-register-0.2.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__wasi-0.11.1-wasi-snapshot-preview1\",\n        sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n        strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__zerocopy-0.8.47\",\n        sha256 = \"efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy/0.8.47/download\"],\n        strip_prefix = \"zerocopy-0.8.47\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.zerocopy-0.8.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__zerocopy-derive-0.8.47\",\n        sha256 = \"0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.47/download\"],\n        strip_prefix = \"zerocopy-derive-0.8.47\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.zerocopy-derive-0.8.47.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__zeroize-1.8.2\",\n        sha256 = \"b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize/1.8.2/download\"],\n        strip_prefix = \"zeroize-1.8.2\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.zeroize-1.8.2.bazel\"),\n    )\n\n    maybe(\n        http_archive,\n        name = \"oot_crates_no_std__zeroize_derive-1.4.3\",\n        sha256 = \"85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e\",\n        type = \"tar.gz\",\n        urls = [\"https://static.crates.io/crates/zeroize_derive/1.4.3/download\"],\n        strip_prefix = \"zeroize_derive-1.4.3\",\n        build_file = Label(\"@oot_crates_no_std//oot_crates_no_std:BUILD.zeroize_derive-1.4.3.bazel\"),\n    )\n\n    return [\n       struct(repo=\"oot_crates_no_std__aes-0.8.4\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__aes-gcm-0.10.3\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__aspeed-ddk-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__ast1060-pac-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__cipher-0.4.4\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__cortex-m-0.7.7\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__cortex-m-rt-0.7.5\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__cortex-m-semihosting-0.5.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__ctr-0.9.2\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__ecdsa-0.16.9\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__embedded-hal-1.0.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__embedded-io-0.6.1\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__fugit-0.3.9\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__getrandom-0.2.17\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__heapless-0.8.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__hex-literal-0.4.1\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__hmac-0.12.1\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__mctp-0.2.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__mctp-lib-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__nb-1.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__openprot-hal-blocking-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__p256-0.13.2\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__p384-0.13.1\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__proposed-traits-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__rand_chacha-0.3.1\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__rand_core-0.6.4\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__sha2-0.10.9\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__spdm-lib-0.1.0\", is_dev_dep = False),\n       struct(repo=\"oot_crates_no_std__zerocopy-0.8.47\", is_dev_dep = False),\n    ]\n"
               }
             }
           },
@@ -4003,9 +4003,9 @@
               "patches": [],
               "shallow_since": "",
               "remote": "https://github.com/OpenPRoT/aspeed-rust.git",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"aspeed_ddk\",\n    deps = [\n        \"@oot_crates_no_std__aspeed-ddk-0.1.0//:build_script_build\",\n        \"@oot_crates_no_std__ast1060-pac-0.1.0//:ast1060_pac\",\n        \"@oot_crates_no_std__bitflags-2.11.0//:bitflags\",\n        \"@oot_crates_no_std__cortex-m-0.7.7//:cortex_m\",\n        \"@oot_crates_no_std__cortex-m-rt-0.7.5//:cortex_m_rt\",\n        \"@oot_crates_no_std__embedded-hal-1.0.0//:embedded_hal\",\n        \"@oot_crates_no_std__embedded-hal-1.0.0-alpha.1//:embedded_hal\",\n        \"@oot_crates_no_std__embedded-io-0.6.1//:embedded_io\",\n        \"@oot_crates_no_std__fugit-0.3.9//:fugit\",\n        \"@oot_crates_no_std__heapless-0.8.0//:heapless\",\n        \"@oot_crates_no_std__hex-literal-0.4.1//:hex_literal\",\n        \"@oot_crates_no_std__nb-1.1.0//:nb\",\n        \"@oot_crates_no_std__openprot-hal-blocking-0.1.0//:openprot_hal_blocking\",\n        \"@oot_crates_no_std__panic-halt-1.0.0//:panic_halt\",\n        \"@oot_crates_no_std__proposed-traits-0.1.0//:proposed_traits\",\n        \"@oot_crates_no_std__zerocopy-0.8.47//:zerocopy\",\n    ],\n    proc_macro_deps = [\n        \"@oot_crates_no_std__paste-1.0.15//:paste\",\n    ],\n    aliases = {\n        \"@oot_crates_no_std__embedded-hal-1.0.0-alpha.1//:embedded_hal\": \"embedded_hal_old\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=aspeed-ddk\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.0\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    link_deps = [\n        \"@oot_crates_no_std__cortex-m-0.7.7//:cortex_m\",\n        \"@oot_crates_no_std__cortex-m-rt-0.7.5//:cortex_m_rt\",\n    ],\n    edition = \"2021\",\n    pkg_name = \"aspeed-ddk\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=aspeed-ddk\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.1.0\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"aspeed_ddk\",\n    deps = [\n        \"@oot_crates_no_std__ast1060-pac-0.1.0//:ast1060_pac\",\n        \"@oot_crates_no_std__bitflags-2.11.0//:bitflags\",\n        \"@oot_crates_no_std__cortex-m-0.7.7//:cortex_m\",\n        \"@oot_crates_no_std__critical-section-1.2.0//:critical_section\",\n        \"@oot_crates_no_std__embedded-hal-1.0.0//:embedded_hal\",\n        \"@oot_crates_no_std__embedded-hal-1.0.0-alpha.1//:embedded_hal\",\n        \"@oot_crates_no_std__embedded-io-0.6.1//:embedded_io\",\n        \"@oot_crates_no_std__fugit-0.3.9//:fugit\",\n        \"@oot_crates_no_std__heapless-0.8.0//:heapless\",\n        \"@oot_crates_no_std__hex-literal-0.4.1//:hex_literal\",\n        \"@oot_crates_no_std__nb-1.1.0//:nb\",\n        \"@oot_crates_no_std__openprot-hal-blocking-0.1.0//:openprot_hal_blocking\",\n        \"@oot_crates_no_std__proposed-traits-0.1.0//:proposed_traits\",\n        \"@oot_crates_no_std__static_cell-2.1.1//:static_cell\",\n        \"@oot_crates_no_std__zerocopy-0.8.47//:zerocopy\",\n    ],\n    proc_macro_deps = [\n        \"@oot_crates_no_std__paste-1.0.15//:paste\",\n    ],\n    aliases = {\n        \"@oot_crates_no_std__embedded-hal-1.0.0-alpha.1//:embedded_hal\": \"embedded_hal_old\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=aspeed-ddk\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.1.0\",\n)\n",
               "strip_prefix": "",
-              "commit": "e93e85b0fff8a448a86c6a81bbbf1818ea6094e6"
+              "commit": "ce3b5677b95bc98a61ebf8783d00d93a910c4495"
             }
           },
           "oot_crates_no_std__ast1060-pac-0.1.0": {
@@ -4211,7 +4211,7 @@
                 "https://static.crates.io/crates/cortex-m/0.7.7/download"
               ],
               "strip_prefix": "cortex-m-0.7.7",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"cortex_m\",\n    deps = [\n        \"@oot_crates_no_std__bare-metal-0.2.5//:bare_metal\",\n        \"@oot_crates_no_std__bitfield-0.13.2//:bitfield\",\n        \"@oot_crates_no_std__cortex-m-0.7.7//:build_script_build\",\n        \"@oot_crates_no_std__embedded-hal-0.2.7//:embedded_hal\",\n        \"@oot_crates_no_std__volatile-register-0.2.2//:volatile_register\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=cortex-m\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.7\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2018\",\n    links = \"cortex-m\",\n    pkg_name = \"cortex-m\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=cortex-m\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.7.7\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"cortex_m\",\n    deps = [\n        \"@oot_crates_no_std__bare-metal-0.2.5//:bare_metal\",\n        \"@oot_crates_no_std__bitfield-0.13.2//:bitfield\",\n        \"@oot_crates_no_std__cortex-m-0.7.7//:build_script_build\",\n        \"@oot_crates_no_std__critical-section-1.2.0//:critical_section\",\n        \"@oot_crates_no_std__embedded-hal-0.2.7//:embedded_hal\",\n        \"@oot_crates_no_std__volatile-register-0.2.2//:volatile_register\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"critical-section\",\n        \"critical-section-single-core\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=cortex-m\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.7.7\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"critical-section\",\n        \"critical-section-single-core\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2018\",\n    links = \"cortex-m\",\n    pkg_name = \"cortex-m\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=cortex-m\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"0.7.7\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
             }
           },
           "oot_crates_no_std__cortex-m-rt-0.7.5": {
@@ -4310,6 +4310,22 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"crc_catalog\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=crc-catalog\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.4.0\",\n)\n"
             }
           },
+          "oot_crates_no_std__critical-section-1.2.0": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "patch_args": [],
+              "patch_tool": "",
+              "patches": [],
+              "remote_patch_strip": 1,
+              "sha256": "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b",
+              "type": "tar.gz",
+              "urls": [
+                "https://static.crates.io/crates/critical-section/1.2.0/download"
+              ],
+              "strip_prefix": "critical-section-1.2.0",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"critical_section\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"restore-state-bool\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=critical-section\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.2.0\",\n)\n"
+            }
+          },
           "oot_crates_no_std__crypto-bigint-0.5.5": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
@@ -4892,22 +4908,6 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"p384\",\n    deps = [\n        \"@oot_crates_no_std__ecdsa-0.16.9//:ecdsa\",\n        \"@oot_crates_no_std__elliptic-curve-0.13.8//:elliptic_curve\",\n        \"@oot_crates_no_std__primeorder-0.13.6//:primeorder\",\n        \"@oot_crates_no_std__sha2-0.10.9//:sha2\",\n    ],\n    aliases = {\n        \"@oot_crates_no_std__ecdsa-0.16.9//:ecdsa\": \"ecdsa_core\",\n    },\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"arithmetic\",\n        \"digest\",\n        \"ecdsa\",\n        \"ecdsa-core\",\n        \"sha2\",\n        \"sha384\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=p384\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.13.1\",\n)\n"
             }
           },
-          "oot_crates_no_std__panic-halt-1.0.0": {
-            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
-            "attributes": {
-              "patch_args": [],
-              "patch_tool": "",
-              "patches": [],
-              "remote_patch_strip": 1,
-              "sha256": "a513e167849a384b7f9b746e517604398518590a9142f4846a32e3c2a4de7b11",
-              "type": "tar.gz",
-              "urls": [
-                "https://static.crates.io/crates/panic-halt/1.0.0/download"
-              ],
-              "strip_prefix": "panic-halt-1.0.0",
-              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"panic_halt\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=panic-halt\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.0.0\",\n)\n"
-            }
-          },
           "oot_crates_no_std__paste-1.0.15": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
@@ -4940,6 +4940,22 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"polyval\",\n    deps = [\n        \"@oot_crates_no_std__cfg-if-1.0.4//:cfg_if\",\n        \"@oot_crates_no_std__opaque-debug-0.3.1//:opaque_debug\",\n        \"@oot_crates_no_std__universal-hash-0.5.1//:universal_hash\",\n    ] + select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [\n            \"@oot_crates_no_std__cpufeatures-0.2.17//:cpufeatures\",  # cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))\n        ],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n            \"@oot_crates_no_std__cpufeatures-0.2.17//:cpufeatures\",  # cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [\n            \"@oot_crates_no_std__cpufeatures-0.2.17//:cpufeatures\",  # cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))\n        ],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n            \"@oot_crates_no_std__cpufeatures-0.2.17//:cpufeatures\",  # cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))\n        ],\n        \"//conditions:default\": [],\n    }),\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=polyval\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"0.6.2\",\n)\n"
             }
           },
+          "oot_crates_no_std__portable-atomic-1.13.1": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "patch_args": [],
+              "patch_tool": "",
+              "patches": [],
+              "remote_patch_strip": 1,
+              "sha256": "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49",
+              "type": "tar.gz",
+              "urls": [
+                "https://static.crates.io/crates/portable-atomic/1.13.1/download"
+              ],
+              "strip_prefix": "portable-atomic-1.13.1",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\n    \"@rules_rust//cargo:defs.bzl\",\n    \"cargo_build_script\",\n    \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"portable_atomic\",\n    deps = [\n        \"@oot_crates_no_std__portable-atomic-1.13.1//:build_script_build\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"fallback\",\n    ],\n    crate_root = \"src/lib.rs\",\n    edition = \"2018\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=portable-atomic\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.13.1\",\n)\n\ncargo_build_script(\n    name = \"_bs\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \"**/*.rs\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_features = [\n        \"default\",\n        \"fallback\",\n    ],\n    crate_name = \"build_script_build\",\n    crate_root = \"build.rs\",\n    data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    edition = \"2018\",\n    pkg_name = \"portable-atomic\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=portable-atomic\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    version = \"1.13.1\",\n    visibility = [\"//visibility:private\"],\n)\n\nalias(\n    name = \"build_script_build\",\n    actual = \":_bs\",\n    tags = [\"manual\"],\n)\n"
+            }
+          },
           "oot_crates_no_std__ppv-lite86-0.2.21": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
@@ -5224,6 +5240,22 @@
               "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"stable_deref_trait\",\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2015\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=stable_deref_trait\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"1.2.1\",\n)\n"
             }
           },
+          "oot_crates_no_std__static_cell-2.1.1": {
+            "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
+            "attributes": {
+              "patch_args": [],
+              "patch_tool": "",
+              "patches": [],
+              "remote_patch_strip": 1,
+              "sha256": "0530892bb4fa575ee0da4b86f86c667132a94b74bb72160f58ee5a4afec74c23",
+              "type": "tar.gz",
+              "urls": [
+                "https://static.crates.io/crates/static_cell/2.1.1/download"
+              ],
+              "strip_prefix": "static_cell-2.1.1",
+              "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n#     bazel mod show_repo 'opentitan_pigweed'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n    name = \"cargo_toml_env_vars\",\n    src = \"Cargo.toml\",\n)\n\nrust_library(\n    name = \"static_cell\",\n    deps = [\n        \"@oot_crates_no_std__portable-atomic-1.13.1//:portable_atomic\",\n    ],\n    compile_data = glob(\n        allow_empty = True,\n        include = [\"**\"],\n        exclude = [\n            \"**/* *\",\n            \".tmp_git_root/**/*\",\n            \"BUILD\",\n            \"BUILD.bazel\",\n            \"WORKSPACE\",\n            \"WORKSPACE.bazel\",\n        ],\n    ),\n    crate_root = \"src/lib.rs\",\n    edition = \"2021\",\n    rustc_env_files = [\n        \":cargo_toml_env_vars\",\n    ],\n    rustc_flags = [\n        \"--cap-lints=allow\",\n    ],\n    srcs = glob(\n        allow_empty = True,\n        include = [\"**/*.rs\"],\n    ),\n    tags = [\n        \"cargo-bazel\",\n        \"crate-name=static_cell\",\n        \"manual\",\n        \"noclippy\",\n        \"norustfmt\",\n    ],\n    target_compatible_with = select({\n        \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n        \"@rules_rust//rust/platform:riscv32imc-unknown-none-elf\": [],\n        \"@rules_rust//rust/platform:thumbv6m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7em-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv7m-none-eabi\": [],\n        \"@rules_rust//rust/platform:thumbv8m.main-none-eabi\": [],\n        \"@rules_rust//rust/platform:x86_64-apple-darwin\": [],\n        \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n        \"//conditions:default\": [\"@platforms//:incompatible\"],\n    }),\n    version = \"2.1.1\",\n)\n"
+            }
+          },
           "oot_crates_no_std__subtle-2.6.1": {
             "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
             "attributes": {
diff --git a/services/i2c/backend-aspeed/src/lib.rs b/services/i2c/backend-aspeed/src/lib.rs
index 01e2de3..381f938 100644
--- a/services/i2c/backend-aspeed/src/lib.rs
+++ b/services/i2c/backend-aspeed/src/lib.rs
@@ -39,24 +39,45 @@
 
 #![no_std]
 
-use aspeed_ddk::i2c_core::{Ast1060I2c, Controller as DdkController, I2cConfig, I2cError, SlaveConfig, SlaveEvent};
+use aspeed_ddk::common::DmaBuffer;
+use aspeed_ddk::i2c_core;
+use aspeed_ddk::i2c_core::{Ast1060I2c, Controller as DdkController, I2cConfig, I2cError, I2cSpeed, I2cXferMode, ClockConfig, SlaveConfig, SlaveEvent};
 use i2c_api::{ResponseCode, SlaveEventKind};
 
 use pw_log;
 
 // ---------------------------------------------------------------------------
-// I2C Slave Command Register Constants
+// DMA Buffer
 // ---------------------------------------------------------------------------
-// These are copied from aspeed_ddk::i2c_core::constants which is private.
 
-/// Enable slave packet mode
-const AST_I2CS_PKT_MODE_EN: u32 = 1 << 16;
-/// Slave active for all addresses
-const AST_I2CS_ACTIVE_ALL: u32 = 0x3 << 17;
-/// Enable slave RX buffer
-const AST_I2CS_RX_BUFF_EN: u32 = 1 << 7;
-/// Enable slave TX buffer
-const AST_I2CS_TX_BUFF_EN: u32 = 1 << 6;
+/// DMA buffers in non-cached RAM section (0xA0000+).
+///
+/// One buffer per bus. Each buffer is shared between RX and TX operations
+/// on that bus, but cannot be shared across buses. Must be in `.ram_nc`
+/// section with cache exclusion configured by the kernel's `pre_init()`.
+///
+/// Currently allocated for 1 bus. Expand array size when adding more buses.
+#[unsafe(link_section = ".ram_nc")]
+static mut DMA_BUFS: [DmaBuffer<256>; 1] = [DmaBuffer::new()];
+
+// ---------------------------------------------------------------------------
+// Config
+// ---------------------------------------------------------------------------
+
+/// I2C configuration for DMA mode.
+///
+/// All buses use the same configuration: Standard speed (100kHz), DMA mode,
+/// multi-master support, SMBus timeout enabled.
+fn dma_config() -> I2cConfig {
+    I2cConfig {
+        speed: I2cSpeed::Standard,
+        xfer_mode: I2cXferMode::DmaMode,
+        multi_master: true,
+        smbus_timeout: true,
+        smbus_alert: false,
+        clock_config: ClockConfig::ast1060_default(),
+    }
+}
 
 // ---------------------------------------------------------------------------
 // Error mapping
@@ -147,6 +168,8 @@
     initialized: u16,
     /// Tracks which buses have slave mode configured via `configure_slave()`.
     slave_configured: u16,
+    /// Slave addresses for each bus (7-bit), used to restore config after master operations.
+    slave_addrs: [u8; 14],
     /// Pre-loaded TX data to send when master reads from us (one buffer per bus).
     slave_tx_bufs: [[u8; SLAVE_TX_BUF_SIZE]; 14],
     /// Valid byte count in each `slave_tx_bufs` slot.
@@ -169,6 +192,7 @@
             peripherals: unsafe { ast1060_pac::Peripherals::steal() },
             initialized: 0,
             slave_configured: 0,
+            slave_addrs: [0u8; 14],
             slave_tx_bufs: [[0u8; SLAVE_TX_BUF_SIZE]; 14],
             slave_tx_lens: [0usize; 14],
             slave_notification: [EMPTY_NOTIF_STATE; 14],
@@ -198,14 +222,26 @@
             registers: regs,
             buff_registers: buffs,
         };
-        // Ast1060I2c::new() calls init_hardware() which configures:
-        //   - I2CC00: reset, master enable, bus auto-release
+
+        // Map bus to DMA buffer index
+        // Currently only bus 2 is supported (index 0 in DMA_BUFS array)
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+
+        // Get DMA buffer reference for this bus
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
+        // Initialize with DMA - this calls init_hardware() which configures:
+        //   - I2CC00: reset, master enable, bus auto-release, DMA mode
         //   - Timing registers per I2cConfig
         //   - I2CM10/I2CM14: interrupt enable/clear
-        let _i2c = Ast1060I2c::new(&ctrl, I2cConfig::default())
+        //   - DMA buffer address registers
+        let _i2c = Ast1060I2c::new_with_dma(&ctrl, dma_config(), dma_buf)
             .map_err(map_i2c_error)?;
         self.initialized |= 1 << bus;
-        pw_log::info!("I2C bus {} controller initialized", bus as u32);
+        pw_log::info!("I2C bus {} controller initialized in DMA mode", bus as u32);
         Ok(())
     }
 
@@ -270,6 +306,13 @@
             return Err(ResponseCode::ServerError);
         }
 
+        // Get DMA buffer for this bus
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
         // If slave mode is enabled, temporarily disable it for master operation
         let slave_was_enabled = (self.slave_configured & (1 << bus)) != 0;
         if slave_was_enabled {
@@ -280,7 +323,7 @@
                 registers: regs,
                 buff_registers: buffs,
             };
-            let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+            let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
             i2c.disable_slave();
 
             // Explicitly ensure master mode is enabled after disabling slave
@@ -305,7 +348,7 @@
             registers: regs,
             buff_registers: buffs,
         };
-        let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+        let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
 
         // TODO: Add bus turnaround delay for MCTP-over-I2C
         // Remote device needs time to switch from master to slave mode
@@ -315,15 +358,24 @@
 
         // Re-enable slave mode if it was enabled before
         if slave_was_enabled {
-            pw_log::debug!("Re-enabling slave mode after master write");
+            pw_log::debug!("Re-configuring slave mode after master write");
             let (regs, buffs) = self.controller_regs(bus)?;
             let ctrl = aspeed_ddk::i2c_core::I2cController {
                 controller: DdkController(bus),
                 registers: regs,
                 buff_registers: buffs,
             };
-            let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
-            i2c.enable_slave();
+            let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
+
+            // Reconfigure slave completely (not just enable) to restore:
+            // - AST_I2CC_SLAVE_EN
+            // - AST_I2CC_SLAVE_PKT_SAVE_ADDR (critical for MCTP PEC)
+            // - DMA buffer arming
+            let addr = self.slave_addrs[bus as usize];
+            let config = SlaveConfig::new(addr).map_err(map_i2c_error)?;
+            i2c.configure_slave(&config).map_err(map_i2c_error)?;
+
+            pw_log::debug!("Slave mode reconfigured at address 0x{:02x}", addr as u32);
         }
 
         if let Err(e) = result {
@@ -340,13 +392,20 @@
         if !self.is_bus_initialized(bus) {
             return Err(ResponseCode::ServerError);
         }
+        // Get DMA buffer for this bus
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
         let (regs, buffs) = self.controller_regs(bus)?;
         let ctrl = aspeed_ddk::i2c_core::I2cController {
             controller: DdkController(bus),
             registers: regs,
             buff_registers: buffs,
         };
-        let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+        let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
         i2c.read(addr, buf).map_err(map_i2c_error)
     }
 
@@ -361,13 +420,20 @@
         if !self.is_bus_initialized(bus) {
             return Err(ResponseCode::ServerError);
         }
+        // Get DMA buffer for this bus
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
         let (regs, buffs) = self.controller_regs(bus)?;
         let ctrl = aspeed_ddk::i2c_core::I2cController {
             controller: DdkController(bus),
             registers: regs,
             buff_registers: buffs,
         };
-        let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+        let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
         i2c.write_read(addr, wr, rd).map_err(map_i2c_error)
     }
 
@@ -376,13 +442,20 @@
         if !self.is_bus_initialized(bus) {
             return Err(ResponseCode::ServerError);
         }
+        // Get DMA buffer for this bus
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
         let (regs, buffs) = self.controller_regs(bus)?;
         let ctrl = aspeed_ddk::i2c_core::I2cController {
             controller: DdkController(bus),
             registers: regs,
             buff_registers: buffs,
         };
-        let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+        let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
         i2c.recover_bus().map_err(map_i2c_error)
     }
 
@@ -398,16 +471,24 @@
         if !self.is_bus_initialized(bus) {
             return Err(ResponseCode::ServerError);
         }
+        // Get DMA buffer for this bus
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
         let (regs, buffs) = self.controller_regs(bus)?;
         let ctrl = aspeed_ddk::i2c_core::I2cController {
             controller: DdkController(bus),
             registers: regs,
             buff_registers: buffs,
         };
-        let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+        let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
         let config = SlaveConfig::new(addr).map_err(map_i2c_error)?;
         i2c.configure_slave(&config).map_err(map_i2c_error)?;
         self.slave_configured |= 1 << bus;
+        self.slave_addrs[bus as usize] = addr;  // Save for reconfiguration after master operations
         pw_log::info!("I2C bus {} slave configured at address 0x{:02x}", bus as u32, addr as u32);
         Ok(())
     }
@@ -420,13 +501,20 @@
         if (self.slave_configured & (1 << bus)) == 0 {
             return Err(ResponseCode::NotInitialized);
         }
+        // Get DMA buffer for this bus
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
         let (regs, buffs) = self.controller_regs(bus)?;
         let ctrl = aspeed_ddk::i2c_core::I2cController {
             controller: DdkController(bus),
             registers: regs,
             buff_registers: buffs,
         };
-        let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+        let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
         i2c.enable_slave();
         pw_log::info!("I2C bus {} slave enabled", bus as u32);
         Ok(())
@@ -437,13 +525,20 @@
         if !self.is_bus_initialized(bus) {
             return Err(ResponseCode::ServerError);
         }
+        // Get DMA buffer for this bus
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
         let (regs, buffs) = self.controller_regs(bus)?;
         let ctrl = aspeed_ddk::i2c_core::I2cController {
             controller: DdkController(bus),
             registers: regs,
             buff_registers: buffs,
         };
-        let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+        let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
         i2c.disable_slave();
         pw_log::info!("I2C bus {} slave disabled", bus as u32);
         Ok(())
@@ -491,9 +586,9 @@
                 // ARM TX BUFFER: Set both RX_BUFF_EN and TX_BUFF_EN to enable simultaneous
                 // receive (for writes) and transmit (for reads). This is required for the
                 // slave to respond to reads without delay.
-                let mut cmd = AST_I2CS_ACTIVE_ALL | AST_I2CS_PKT_MODE_EN;
-                cmd |= AST_I2CS_RX_BUFF_EN;  // Keep RX enabled for writes
-                cmd |= AST_I2CS_TX_BUFF_EN;  // Arm TX for immediate read response
+                let mut cmd = i2c_core::AST_I2CS_ACTIVE_ALL | i2c_core::AST_I2CS_PKT_MODE_EN;
+                cmd |= i2c_core::AST_I2CS_RX_BUFF_EN;  // Keep RX enabled for writes
+                cmd |= i2c_core::AST_I2CS_TX_BUFF_EN;  // Arm TX for immediate read response
                 regs.i2cs28().write(|w| w.bits(cmd));
             }
         }
@@ -508,8 +603,8 @@
         let (regs, _) = self.controller_regs(bus)?;
 
         unsafe {
-            let mut cmd = AST_I2CS_ACTIVE_ALL | AST_I2CS_PKT_MODE_EN;
-            cmd |= AST_I2CS_RX_BUFF_EN;
+            let mut cmd = i2c_core::AST_I2CS_ACTIVE_ALL | i2c_core::AST_I2CS_PKT_MODE_EN;
+            cmd |= i2c_core::AST_I2CS_RX_BUFF_EN;
             regs.i2cs28().write(|w| w.bits(cmd));
         }
 
@@ -537,6 +632,13 @@
             return Err(ResponseCode::NotInitialized);
         }
 
+        // Get DMA buffer for this bus
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
         // Copy TX buffer to local stack before borrowing peripherals.
         let tx_len = self.slave_tx_lens[bus as usize];
         let mut tx_local = [0u8; SLAVE_TX_BUF_SIZE];
@@ -548,7 +650,7 @@
             registers: regs,
             buff_registers: buffs,
         };
-        let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+        let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
 
         const POLL_BUDGET: usize = 10_000;
         for _ in 0..POLL_BUDGET {
@@ -573,6 +675,11 @@
                     let n = i2c.slave_read(rx_buf).map_err(map_i2c_error)?;
                     return Ok((SlaveEventKind::DataReceived, n));
                 }
+                Some(SlaveEvent::DataReceivedAndSent { rx_len: _, tx_len: _ }) => {
+                    // Both RX and TX occurred. Read the received data and return it.
+                    let n = i2c.slave_read(rx_buf).map_err(map_i2c_error)?;
+                    return Ok((SlaveEventKind::DataReceived, n));
+                }
                 Some(SlaveEvent::Stop) => {
                     return Ok((SlaveEventKind::Stop, 0));
                 }
@@ -597,13 +704,20 @@
         if (self.slave_configured & (1 << bus)) == 0 {
             return Err(ResponseCode::NotInitialized);
         }
+        // Get DMA buffer for this bus
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
         let (regs, buffs) = self.controller_regs(bus)?;
         let ctrl = aspeed_ddk::i2c_core::I2cController {
             controller: DdkController(bus),
             registers: regs,
             buff_registers: buffs,
         };
-        let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+        let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
 
         // Polling loop — spins until a relevant event or budget exhausted.
         // At 200 MHz, ~10_000 iterations ≈ a few hundred microseconds.
@@ -616,6 +730,11 @@
                     let n = i2c.slave_read(buf).map_err(map_i2c_error)?;
                     return Ok(n);
                 }
+                Some(SlaveEvent::DataReceivedAndSent { rx_len: _, tx_len: _ }) => {
+                    // Both RX and TX occurred. Read the received data.
+                    let n = i2c.slave_read(buf).map_err(map_i2c_error)?;
+                    return Ok(n);
+                }
                 Some(SlaveEvent::Stop) => {
                     // Stop without data (e.g. probe or zero-length write).
                     return Ok(0);
@@ -700,13 +819,20 @@
             return Err(ResponseCode::NotInitialized);
         }
 
+        // Get DMA buffer for this bus
+        let dma_idx = match bus {
+            2 => 0,
+            _ => return Err(ResponseCode::InvalidBus),
+        };
+        let dma_buf = unsafe { &mut *core::ptr::addr_of_mut!(DMA_BUFS[dma_idx].buf) };
+
         let (regs, buffs) = self.controller_regs(bus)?;
         let ctrl = aspeed_ddk::i2c_core::I2cController {
             controller: DdkController(bus),
             registers: regs,
             buff_registers: buffs,
         };
-        let mut i2c = Ast1060I2c::from_initialized(&ctrl, I2cConfig::default());
+        let mut i2c = Ast1060I2c::from_initialized_with_dma(&ctrl, dma_config(), dma_buf);
 
         // Use a local stack buffer so we can release the peripheral borrow
         // before writing into self.slave_notification.
diff --git a/services/i2c/server/src/main.rs b/services/i2c/server/src/main.rs
index 5eb309b..dd2267f 100644
--- a/services/i2c/server/src/main.rs
+++ b/services/i2c/server/src/main.rs
@@ -320,11 +320,20 @@
                         encode_success(response, 0)
                     }
                     Ok(n) => {
-                        pw_log::info!(
-                            "slave_receive bus={}: received {} bytes",
-                            header.bus as u32,
-                            n as u32,
-                        );
+                        if n > 0 {
+                            pw_log::info!(
+                                "slave_receive bus={}: received {} bytes, first_byte=0x{:02x}",
+                                header.bus as u32,
+                                n as u32,
+                                buf[0] as u32,
+                            );
+                        } else {
+                            pw_log::info!(
+                                "slave_receive bus={}: received {} bytes",
+                                header.bus as u32,
+                                n as u32,
+                            );
+                        }
                         encode_success(response, n)
                     }
                     Err(ResponseCode::Timeout) => encode_success(response, 0),
diff --git a/services/mctp/server/src/main.rs b/services/mctp/server/src/main.rs
index fd90dc3..77127ac 100644
--- a/services/mctp/server/src/main.rs
+++ b/services/mctp/server/src/main.rs
@@ -616,77 +616,51 @@
                 for msg in msgs.get(..n).unwrap_or(&[]) {
                     let raw = msg.data();
 
-                    // WORKAROUND: Manually prepend destination address to I2C frame.
-                    // The I2C hardware currently does NOT prepend the destination address,
-                    // but mctp-lib's I2C decoder expects it. This will be fixed when the
-                    // I2C driver is updated to prepend the destination address automatically.
-                    // TODO: Remove this workaround once I2C driver change is in place.
-                    let mut frame_with_dest = [0u8; 256];
-                    if raw.len() + 1 > frame_with_dest.len() {
-                        pw_log::warn!(
-                            "I2C frame too large ({} bytes), skipping",
-                            raw.len() as u32,
-                        );
-                        continue;
-                    }
-
-                    // Prepend destination address (OWN_I2C_ADDR << 1 | 0 for write)
-                    frame_with_dest[0] = OWN_I2C_ADDR << 1;
-                    frame_with_dest[1..raw.len() + 1].copy_from_slice(raw);
-                    let frame_len = raw.len() + 1;
-
-                    // Log the frame AFTER prepending destination
-                    // Format: dest_addr cmd byte_count src_addr | MCTP hdr[0..3]
-                    if frame_len >= 9 {
+                    // Log the received I2C frame
+                    // Format: cmd byte_count src_addr | MCTP hdr[0..3]
+                    if raw.len() >= 8 {
                         pw_log::info!(
-                            "I2C frame (with prepended dest): dest=0x{:02x} cmd=0x{:02x} bc={} src=0x{:02x} \
+                            "I2C frame: cmd=0x{:02x} bc={} src=0x{:02x} \
                             | mctp: ver=0x{:02x} deid=0x{:02x} seid=0x{:02x} flags=0x{:02x} \
                             len={}",
-                            frame_with_dest[0] as u32, frame_with_dest[1] as u32,
-                            frame_with_dest[2] as u32, frame_with_dest[3] as u32,
-                            frame_with_dest[4] as u32, frame_with_dest[5] as u32,
-                            frame_with_dest[6] as u32, frame_with_dest[7] as u32,
-                            frame_len as u32,
+                            raw[0] as u32, raw[1] as u32,
+                            raw[2] as u32, raw[3] as u32,
+                            raw[4] as u32, raw[5] as u32,
+                            raw[6] as u32, raw.len() as u32,
                         );
                     } else {
                         pw_log::warn!(
                             "I2C frame too short ({} bytes) to contain MCTP header",
-                            frame_len as u32,
+                            raw.len() as u32,
                         );
                     }
 
-                    // Create temporary TargetMessage with prepended destination
-                    let msg_with_dest = i2c_api::TargetMessage::from_data(
-                        msg.source_address,
-                        &frame_with_dest[..frame_len]
-                    );
-
                     // Debug: log full frame being decoded
-                    if frame_len >= 14 {
+                    if raw.len() >= 13 {
                         pw_log::info!(
                             "Frame[0-7]:  {:02x} {:02x} {:02x} {:02x} {:02x} {:02x} {:02x} {:02x}",
-                            frame_with_dest[0] as u32, frame_with_dest[1] as u32,
-                            frame_with_dest[2] as u32, frame_with_dest[3] as u32,
-                            frame_with_dest[4] as u32, frame_with_dest[5] as u32,
-                            frame_with_dest[6] as u32, frame_with_dest[7] as u32
+                            raw[0] as u32, raw[1] as u32,
+                            raw[2] as u32, raw[3] as u32,
+                            raw[4] as u32, raw[5] as u32,
+                            raw[6] as u32, raw[7] as u32
                         );
                         pw_log::info!(
-                            "Frame[8-13]: {:02x} {:02x} {:02x} {:02x} {:02x} {:02x}",
-                            frame_with_dest[8] as u32, frame_with_dest[9] as u32,
-                            frame_with_dest[10] as u32, frame_with_dest[11] as u32,
-                            frame_with_dest[12] as u32, frame_with_dest[13] as u32
+                            "Frame[8-12]: {:02x} {:02x} {:02x} {:02x} {:02x}",
+                            raw[8] as u32, raw[9] as u32,
+                            raw[10] as u32, raw[11] as u32,
+                            raw[12] as u32
                         );
-                    } else if frame_len >= 8 {
+                    } else if raw.len() >= 8 {
                         pw_log::info!(
                             "Frame bytes: {:02x} {:02x} {:02x} {:02x} {:02x} {:02x} {:02x} {:02x}",
-                            frame_with_dest[0] as u32, frame_with_dest[1] as u32,
-                            frame_with_dest[2] as u32, frame_with_dest[3] as u32,
-                            frame_with_dest[4] as u32, frame_with_dest[5] as u32,
-                            frame_with_dest[6] as u32, frame_with_dest[7] as u32
+                            raw[0] as u32, raw[1] as u32,
+                            raw[2] as u32, raw[3] as u32,
+                            raw[4] as u32, raw[5] as u32,
+                            raw[6] as u32, raw[7] as u32
                         );
                     }
 
-                    match receiver.decode(&msg_with_dest) {
+                    match receiver.decode(msg) {
                         Ok((pkt, hdr)) => {
                             i2c_pkt = i2c_pkt.wrapping_add(1);
                             // Log MCTP packet fields: SOM/EOM from flags byte (pkt[3])
diff --git a/target/ast1060-evb/entry.rs b/target/ast1060-evb/entry.rs
index ea9dee9..e4c008f 100644
--- a/target/ast1060-evb/entry.rs
+++ b/target/ast1060-evb/entry.rs
@@ -7,39 +7,80 @@
 
 use arch_arm_cortex_m::Arch;
 
-#[cfg(feature = "jtag-halt")]
-use core::ptr::{self, addr_of};
+use core::ptr::{self, addr_of, write_volatile};
+
+/// Configure cache to exclude non-cached RAM region for DMA buffers.
+///
+/// The AST1060 cache controller (SCUA50) uses 24KB granularity per bit.
+/// Setting bits 0-25 caches 0x00000-0x9BFFF (624KB), leaving 0x9C000+
+/// uncached for DMA buffers. This minimizes waste compared to the
+/// aspeed-ddk reference (which uses bits 0-19, wasting 160KB).
+///
+/// # Safety
+///
+/// Must be called from pre_init before RAM is initialized.
+unsafe fn configure_cache() {
+    // Cache controller registers (SCU base = 0x7e6e_2000)
+    const CACHE_CTRL: u32 = 0x7e6e_2a58;  // SCUA58: Function Control
+    const CACHE_AREA: u32 = 0x7e6e_2a50;  // SCUA50: Cacheable Area (24KB/bit)
+    const CACHE_INVAL: u32 = 0x7e6e_2a54; // SCUA54: Invalidation Control
+
+    // SAFETY: Called from pre_init before RAM initialization.
+    // These registers control the cache controller and must be configured
+    // before DMA operations to prevent cache coherency issues.
+    unsafe {
+        // Disable cache
+        write_volatile(CACHE_CTRL as *mut u32, 0);
+
+        // Configure cache area: bits 0-25 set = 26 × 24KB = 624KB cached
+        // Covers 0x00000 - 0x9BFFF (cached), leaves 0x9C000+ uncached
+        // This wastes only 16KB vs aspeed-ddk's 160KB waste
+        write_volatile(CACHE_AREA as *mut u32, 0x03ff_ffff);
+
+        // Invalidate cache
+        write_volatile(CACHE_INVAL as *mut u32, 0x81e0_0000);
+
+        // Re-enable cache
+        write_volatile(CACHE_CTRL as *mut u32, 1);
+    }
+}
 
 /// Pre-kernel hardware initialization
 /// Runs before RAM is initialized, before main()
-#[cfg(feature = "jtag-halt")]
 #[cortex_m_rt::pre_init]
 unsafe fn pre_kernel_init() {
-    // Enable JTAG pins via SCU pinmux - must happen very early
-    // Scu::steal() is safe here: it's a zero-sized type with no RAM allocation
-    let scu = unsafe { ast1060_pac::Scu::steal() };
+    // SAFETY: Called once at boot before RAM initialization.
+    // Configure cache to exclude RAM_NC region (0xA0000+) for DMA buffers
+    unsafe { configure_cache(); }
 
-    // SCU41C: Multi-function Pin Control - enable ARM JTAG pins
-    scu.scu41c().modify(|_, w| {
-        w.enbl_armtmsfn_pin()
-            .bit(true)
-            .enbl_armtckfn_pin()
-            .bit(true)
-            .enbl_armtrstfn_pin()
-            .bit(true)
-            .enbl_armtdifn_pin()
-            .bit(true)
-            .enbl_armtdofn_pin()
-            .bit(true)
-    });
+    #[cfg(feature = "jtag-halt")]
+    {
+        // Enable JTAG pins via SCU pinmux - must happen very early
+        // Scu::steal() is safe here: it's a zero-sized type with no RAM allocation
+        let scu = unsafe { ast1060_pac::Scu::steal() };
 
-    // Halt here waiting for JTAG debugger
-    // Break with JTAG and set HALT to 0 to continue
-    static mut HALT: u32 = 1;
-    loop {
-        let val = unsafe { ptr::read_volatile(addr_of!(HALT)) };
-        if val == 0 {
-            break;
+        // SCU41C: Multi-function Pin Control - enable ARM JTAG pins
+        scu.scu41c().modify(|_, w| {
+            w.enbl_armtmsfn_pin()
+                .bit(true)
+                .enbl_armtckfn_pin()
+                .bit(true)
+                .enbl_armtrstfn_pin()
+                .bit(true)
+                .enbl_armtdifn_pin()
+                .bit(true)
+                .enbl_armtdofn_pin()
+                .bit(true)
+        });
+
+        // Halt here waiting for JTAG debugger
+        // Break with JTAG and set HALT to 0 to continue
+        static mut HALT: u32 = 1;
+        loop {
+            let val = unsafe { ptr::read_volatile(addr_of!(HALT)) };
+            if val == 0 {
+                break;
+            }
         }
     }
 }
@@ -74,7 +115,7 @@
     i3c, i3c1, i3c2, i3c3,
     scu, sgpiom,
     spi, spi1, spipf1, spipf2, spipf3,
-    timer1, timer2, timer3, timer4, timer5, timer6, timer7,
+    timer, timer1, timer2, timer3, timer4, timer5, timer6, timer7,
     uart, uartdma, wdt
 );
 
diff --git a/target/ast1060-evb/target.ld.tmpl b/target/ast1060-evb/target.ld.tmpl
index db25c4f..603ee9e 100644
--- a/target/ast1060-evb/target.ld.tmpl
+++ b/target/ast1060-evb/target.ld.tmpl
@@ -44,6 +44,10 @@
   /* Internal SRAM */
   RAM(rwx) : ORIGIN = {{kernel.ram_start_address | hex}},
              LENGTH = {{kernel.ram_size_bytes}}
+  /* Non-cached RAM for DMA buffers (cache granularity = 24KB)
+   * Bit 26 of SCUA50 covers 0x9C000-0xA1FFF; we leave it clear for DMA.
+   * Total uncached: 144KB (0x9C000-0xBFFFF) */
+  RAM_NC(rwx) : ORIGIN = 0x0009C000, LENGTH = 144K
 
   /* Each memory region above has an associated .*.unused_space section that
    * overlays the unused space at the end of the memory segment. These segments
@@ -222,6 +226,24 @@
     . = ABSOLUTE(ORIGIN(RAM) + LENGTH(RAM));
   } >RAM
 
+  /* Non-cached RAM section for DMA buffers.
+   * This section is excluded from cache via SCUA50 configuration in pre_init().
+   * Cache granularity is 24KB per bit; bit 26 (0x9C000-0xA1FFF) and above
+   * are left clear, making this entire region uncached for DMA coherency.
+   */
+  .ram_nc (NOLOAD) : ALIGN(32)
+  {
+    __ram_nc_start = .;
+    KEEP(*(.ram_nc));
+    __ram_nc_end = .;
+  } >RAM_NC
+
+  /* Represents unused space in the RAM_NC segment. */
+  .RAM_NC.unused_space (NOLOAD) : ALIGN(4)
+  {
+    . = ABSOLUTE(ORIGIN(RAM_NC) + LENGTH(RAM_NC));
+  } >RAM_NC
+
   /* Discard unwind info. */
   .ARM.extab 0x0 (INFO) :
   {
diff --git a/third_party/aspeed_ddk.bzl b/third_party/aspeed_ddk.bzl
index f43b610..44e4cdc 100644
--- a/third_party/aspeed_ddk.bzl
+++ b/third_party/aspeed_ddk.bzl
@@ -8,7 +8,7 @@
     git_repository(
         name = "aspeed_ddk",
         remote = "https://github.com/OpenPRoT/aspeed-rust.git",
-        branch = "i2c-core",
+        branch = "main",
         build_file = "@@//third_party:aspeed_ddk.BUILD.bazel",
     )
     return module_ctx.extension_metadata(
diff --git a/third_party/crates_io/crates_no_std/Cargo.lock b/third_party/crates_io/crates_no_std/Cargo.lock
index 5f9b889..58fbd0a 100644
--- a/third_party/crates_io/crates_no_std/Cargo.lock
+++ b/third_party/crates_io/crates_no_std/Cargo.lock
@@ -40,12 +40,12 @@
 [[package]]
 name = "aspeed-ddk"
 version = "0.1.0"
-source = "git+https://github.com/OpenPRoT/aspeed-rust.git?branch=i2c-core#e93e85b0fff8a448a86c6a81bbbf1818ea6094e6"
+source = "git+https://github.com/OpenPRoT/aspeed-rust.git?branch=main#ce3b5677b95bc98a61ebf8783d00d93a910c4495"
 dependencies = [
  "ast1060-pac 0.1.0 (git+https://github.com/OpenPRoT/ast1060-pac.git?branch=main)",
  "bitflags",
  "cortex-m",
- "cortex-m-rt",
+ "critical-section",
  "embedded-hal 1.0.0",
  "embedded-hal 1.0.0-alpha.1",
  "embedded-io",
@@ -54,9 +54,9 @@
  "hex-literal",
  "nb 1.1.0",
  "openprot-hal-blocking",
- "panic-halt",
  "paste",
  "proposed-traits",
+ "static_cell",
  "zerocopy",
 ]
 
@@ -168,6 +168,7 @@
 dependencies = [
  "bare-metal",
  "bitfield 0.13.2",
+ "critical-section",
  "embedded-hal 0.2.7",
  "volatile-register",
 ]
@@ -261,6 +262,12 @@
 checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
 
 [[package]]
+name = "critical-section"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b"
+
+[[package]]
 name = "crypto-bigint"
 version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -605,12 +612,6 @@
 ]
 
 [[package]]
-name = "panic-halt"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a513e167849a384b7f9b746e517604398518590a9142f4846a32e3c2a4de7b11"
-
-[[package]]
 name = "paste"
 version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -629,6 +630,12 @@
 ]
 
 [[package]]
+name = "portable-atomic"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -791,6 +798,15 @@
 checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
 
 [[package]]
+name = "static_cell"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0530892bb4fa575ee0da4b86f86c667132a94b74bb72160f58ee5a4afec74c23"
+dependencies = [
+ "portable-atomic",
+]
+
+[[package]]
 name = "subtle"
 version = "2.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/third_party/crates_io/crates_no_std/Cargo.toml b/third_party/crates_io/crates_no_std/Cargo.toml
index 03ca186..dbcedb0 100644
--- a/third_party/crates_io/crates_no_std/Cargo.toml
+++ b/third_party/crates_io/crates_no_std/Cargo.toml
@@ -14,7 +14,7 @@
 [dependencies]
 # AST1060-specific crates - use @oot_crates_no_std// for these
 ast1060-pac = { git = "https://github.com/stevenlee7189/ast1060-pac", branch = "main" }
-aspeed-ddk = { git = "https://github.com/OpenPRoT/aspeed-rust.git", branch = "i2c-core" }
+aspeed-ddk = { git = "https://github.com/OpenPRoT/aspeed-rust.git", branch = "main" }
 embedded-hal = "1.0.0"
 embedded-io = "0.6.1"
 # cortex-m crates needed for consistent linking (avoid duplicate symbols)
