workspace: add Rust EFI infrastructure

This bumps rules_rust, cleans up the toolchains with the new version.
It also adds the Prost codegen to "normal" crate set as well as a new
crate set specific to EFI. This is separate because of Rust no-std's
dependence on create feature tags.

Change-Id: Ie76e66ee83696948391420ca3b011a3a71258690
Reviewed-on: https://review.monogon.dev/c/monogon/+/2202
Tested-by: Jenkins CI
Reviewed-by: Serge Bazanski <serge@monogon.tech>
diff --git a/third_party/rust_efi/cargo/remote/BUILD.anyhow-1.0.75.bazel b/third_party/rust_efi/cargo/remote/BUILD.anyhow-1.0.75.bazel
new file mode 100644
index 0000000..0451aa7
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.anyhow-1.0.75.bazel
@@ -0,0 +1,116 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+# buildifier: disable=out-of-order-load
+# buildifier: disable=load-on-top
+load(
+    "@rules_rust//cargo:cargo_build_script.bzl",
+    "cargo_build_script",
+)
+
+cargo_build_script(
+    name = "anyhow_build_script",
+    srcs = glob(["**/*.rs"]),
+    build_script_env = {
+    },
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "build.rs",
+    data = glob(["**"]),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "manual",
+    ],
+    version = "1.0.75",
+    visibility = ["//visibility:private"],
+    deps = [
+    ],
+)
+
+rust_library(
+    name = "anyhow",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=anyhow",
+        "manual",
+    ],
+    version = "1.0.75",
+    # buildifier: leave-alone
+    deps = [
+        ":anyhow_build_script",
+    ],
+)
+
+# Unsupported target "compiletest" with type "test" omitted
+
+# Unsupported target "test_autotrait" with type "test" omitted
+
+# Unsupported target "test_backtrace" with type "test" omitted
+
+# Unsupported target "test_boxed" with type "test" omitted
+
+# Unsupported target "test_chain" with type "test" omitted
+
+# Unsupported target "test_context" with type "test" omitted
+
+# Unsupported target "test_convert" with type "test" omitted
+
+# Unsupported target "test_downcast" with type "test" omitted
+
+# Unsupported target "test_ensure" with type "test" omitted
+
+# Unsupported target "test_ffi" with type "test" omitted
+
+# Unsupported target "test_fmt" with type "test" omitted
+
+# Unsupported target "test_macros" with type "test" omitted
+
+# Unsupported target "test_repr" with type "test" omitted
+
+# Unsupported target "test_source" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.bazel b/third_party/rust_efi/cargo/remote/BUILD.bazel
new file mode 100644
index 0000000..b49fb68
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.bazel
@@ -0,0 +1,17 @@
+# Export file for Stardoc support
+exports_files(
+    glob([
+        "**/*.bazel",
+        "**/*.bzl",
+    ]),
+    visibility = ["//visibility:public"],
+)
+
+filegroup(
+    name = "srcs",
+    srcs = glob([
+        "**/*.bazel",
+        "**/*.bzl",
+    ]),
+    visibility = ["//visibility:public"],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.bit_field-0.10.2.bazel b/third_party/rust_efi/cargo/remote/BUILD.bit_field-0.10.2.bazel
new file mode 100644
index 0000000..9be4862
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.bit_field-0.10.2.bazel
@@ -0,0 +1,54 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # Apache-2.0 from expression "Apache-2.0 OR MIT"
+])
+
+# Generated Targets
+
+# Unsupported target "bench" with type "bench" omitted
+
+rust_library(
+    name = "bit_field",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=bit_field",
+        "manual",
+    ],
+    version = "0.10.2",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.bitflags-2.4.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.bitflags-2.4.0.bazel
new file mode 100644
index 0000000..5c90aa8
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.bitflags-2.4.0.bazel
@@ -0,0 +1,64 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+# Unsupported target "parse" with type "bench" omitted
+
+# Unsupported target "custom_bits_type" with type "example" omitted
+
+# Unsupported target "custom_derive" with type "example" omitted
+
+# Unsupported target "fmt" with type "example" omitted
+
+# Unsupported target "macro_free" with type "example" omitted
+
+# Unsupported target "serde" with type "example" omitted
+
+rust_library(
+    name = "bitflags",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=bitflags",
+        "manual",
+    ],
+    version = "2.4.0",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.bytes-1.5.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.bytes-1.5.0.bazel
new file mode 100644
index 0000000..4e0ef58
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.bytes-1.5.0.bazel
@@ -0,0 +1,80 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT"
+])
+
+# Generated Targets
+
+# Unsupported target "buf" with type "bench" omitted
+
+# Unsupported target "bytes" with type "bench" omitted
+
+# Unsupported target "bytes_mut" with type "bench" omitted
+
+rust_library(
+    name = "bytes",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=bytes",
+        "manual",
+    ],
+    version = "1.5.0",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
+
+# Unsupported target "test_buf" with type "test" omitted
+
+# Unsupported target "test_buf_mut" with type "test" omitted
+
+# Unsupported target "test_bytes" with type "test" omitted
+
+# Unsupported target "test_bytes_odd_alloc" with type "test" omitted
+
+# Unsupported target "test_bytes_vec_alloc" with type "test" omitted
+
+# Unsupported target "test_chain" with type "test" omitted
+
+# Unsupported target "test_debug" with type "test" omitted
+
+# Unsupported target "test_iter" with type "test" omitted
+
+# Unsupported target "test_reader" with type "test" omitted
+
+# Unsupported target "test_serde" with type "test" omitted
+
+# Unsupported target "test_take" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.cfg-if-1.0.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.cfg-if-1.0.0.bazel
new file mode 100644
index 0000000..ef69402
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.cfg-if-1.0.0.bazel
@@ -0,0 +1,54 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "cfg_if",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=cfg-if",
+        "manual",
+    ],
+    version = "1.0.0",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
+
+# Unsupported target "xcrate" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.either-1.9.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.either-1.9.0.bazel
new file mode 100644
index 0000000..5893a0a
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.either-1.9.0.bazel
@@ -0,0 +1,52 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "either",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=either",
+        "manual",
+    ],
+    version = "1.9.0",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.itertools-0.11.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.itertools-0.11.0.bazel
new file mode 100644
index 0000000..4bdd2e9
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.itertools-0.11.0.bazel
@@ -0,0 +1,96 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+# Unsupported target "bench1" with type "bench" omitted
+
+# Unsupported target "combinations" with type "bench" omitted
+
+# Unsupported target "combinations_with_replacement" with type "bench" omitted
+
+# Unsupported target "fold_specialization" with type "bench" omitted
+
+# Unsupported target "powerset" with type "bench" omitted
+
+# Unsupported target "tree_fold1" with type "bench" omitted
+
+# Unsupported target "tuple_combinations" with type "bench" omitted
+
+# Unsupported target "tuples" with type "bench" omitted
+
+# Unsupported target "iris" with type "example" omitted
+
+rust_library(
+    name = "itertools",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "use_alloc",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=itertools",
+        "manual",
+    ],
+    version = "0.11.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__either__1_9_0//:either",
+    ],
+)
+
+# Unsupported target "adaptors_no_collect" with type "test" omitted
+
+# Unsupported target "flatten_ok" with type "test" omitted
+
+# Unsupported target "macros_hygiene" with type "test" omitted
+
+# Unsupported target "merge_join" with type "test" omitted
+
+# Unsupported target "peeking_take_while" with type "test" omitted
+
+# Unsupported target "quick" with type "test" omitted
+
+# Unsupported target "specializations" with type "test" omitted
+
+# Unsupported target "test_core" with type "test" omitted
+
+# Unsupported target "test_std" with type "test" omitted
+
+# Unsupported target "tuples" with type "test" omitted
+
+# Unsupported target "zip" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.log-0.4.20.bazel b/third_party/rust_efi/cargo/remote/BUILD.log-0.4.20.bazel
new file mode 100644
index 0000000..21e140e
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.log-0.4.20.bazel
@@ -0,0 +1,58 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+# Unsupported target "value" with type "bench" omitted
+
+rust_library(
+    name = "log",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=log",
+        "manual",
+    ],
+    version = "0.4.20",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
+
+# Unsupported target "filters" with type "test" omitted
+
+# Unsupported target "macros" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.proc-macro2-1.0.67.bazel b/third_party/rust_efi/cargo/remote/BUILD.proc-macro2-1.0.67.bazel
new file mode 100644
index 0000000..d46bf3d
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.proc-macro2-1.0.67.bazel
@@ -0,0 +1,101 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+# buildifier: disable=out-of-order-load
+# buildifier: disable=load-on-top
+load(
+    "@rules_rust//cargo:cargo_build_script.bzl",
+    "cargo_build_script",
+)
+
+cargo_build_script(
+    name = "proc_macro2_build_script",
+    srcs = glob(["**/*.rs"]),
+    build_script_env = {
+    },
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "build.rs",
+    data = glob(["**"]),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "manual",
+    ],
+    version = "1.0.67",
+    visibility = ["//visibility:private"],
+    deps = [
+    ],
+)
+
+rust_library(
+    name = "proc_macro2",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=proc-macro2",
+        "manual",
+    ],
+    version = "1.0.67",
+    # buildifier: leave-alone
+    deps = [
+        ":proc_macro2_build_script",
+        "@rsefi__unicode_ident__1_0_12//:unicode_ident",
+    ],
+)
+
+# Unsupported target "comments" with type "test" omitted
+
+# Unsupported target "features" with type "test" omitted
+
+# Unsupported target "marker" with type "test" omitted
+
+# Unsupported target "test" with type "test" omitted
+
+# Unsupported target "test_fmt" with type "test" omitted
+
+# Unsupported target "test_size" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.prost-0.12.1.bazel b/third_party/rust_efi/cargo/remote/BUILD.prost-0.12.1.bazel
new file mode 100644
index 0000000..4dc3aff
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.prost-0.12.1.bazel
@@ -0,0 +1,66 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # Apache-2.0 from expression "Apache-2.0"
+])
+
+# Generated Targets
+
+# Unsupported target "varint" with type "bench" omitted
+
+rust_library(
+    name = "prost",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "prost-derive",
+    ],
+    crate_root = "src/lib.rs",
+    data = [] + [
+        "README.md",
+    ],
+    edition = "2021",
+    proc_macro_deps = [
+        "@rsefi__prost_derive__0_12_1//:prost_derive",
+    ],
+    rustc_env = {
+        "PATH": "/usr/bin",
+    },
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=prost",
+        "manual",
+    ],
+    version = "0.12.1",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__bytes__1_5_0//:bytes",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.prost-derive-0.12.1.bazel b/third_party/rust_efi/cargo/remote/BUILD.prost-derive-0.12.1.bazel
new file mode 100644
index 0000000..07c6524
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.prost-derive-0.12.1.bazel
@@ -0,0 +1,57 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # Apache-2.0 from expression "Apache-2.0"
+])
+
+# Generated Targets
+
+rust_proc_macro(
+    name = "prost_derive",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=prost-derive",
+        "manual",
+    ],
+    version = "0.12.1",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__anyhow__1_0_75//:anyhow",
+        "@rsefi__itertools__0_11_0//:itertools",
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+        "@rsefi__quote__1_0_33//:quote",
+        "@rsefi__syn__2_0_37//:syn",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.prost-types-0.12.1.bazel b/third_party/rust_efi/cargo/remote/BUILD.prost-types-0.12.1.bazel
new file mode 100644
index 0000000..0be6134
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.prost-types-0.12.1.bazel
@@ -0,0 +1,53 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # Apache-2.0 from expression "Apache-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "prost_types",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=prost-types",
+        "manual",
+    ],
+    version = "0.12.1",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__prost__0_12_1//:prost",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.ptr_meta-0.2.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.ptr_meta-0.2.0.bazel
new file mode 100644
index 0000000..65a2a99
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.ptr_meta-0.2.0.bazel
@@ -0,0 +1,55 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "ptr_meta",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    proc_macro_deps = [
+        "@rsefi__ptr_meta_derive__0_2_0//:ptr_meta_derive",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=ptr_meta",
+        "manual",
+    ],
+    version = "0.2.0",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.ptr_meta_derive-0.2.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.ptr_meta_derive-0.2.0.bazel
new file mode 100644
index 0000000..66ee2a0
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.ptr_meta_derive-0.2.0.bazel
@@ -0,0 +1,55 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT"
+])
+
+# Generated Targets
+
+rust_proc_macro(
+    name = "ptr_meta_derive",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=ptr_meta_derive",
+        "manual",
+    ],
+    version = "0.2.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+        "@rsefi__quote__1_0_33//:quote",
+        "@rsefi__syn__1_0_109//:syn",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.quote-1.0.33.bazel b/third_party/rust_efi/cargo/remote/BUILD.quote-1.0.33.bazel
new file mode 100644
index 0000000..b293b7d
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.quote-1.0.33.bazel
@@ -0,0 +1,61 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "quote",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=quote",
+        "manual",
+    ],
+    version = "1.0.33",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+    ],
+)
+
+# Unsupported target "compiletest" with type "test" omitted
+
+# Unsupported target "test" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.syn-1.0.109.bazel b/third_party/rust_efi/cargo/remote/BUILD.syn-1.0.109.bazel
new file mode 100644
index 0000000..10acbb5
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.syn-1.0.109.bazel
@@ -0,0 +1,161 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+# buildifier: disable=out-of-order-load
+# buildifier: disable=load-on-top
+load(
+    "@rules_rust//cargo:cargo_build_script.bzl",
+    "cargo_build_script",
+)
+
+cargo_build_script(
+    name = "syn_build_script",
+    srcs = glob(["**/*.rs"]),
+    build_script_env = {
+    },
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+    ],
+    crate_root = "build.rs",
+    data = glob(["**"]),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "manual",
+    ],
+    version = "1.0.109",
+    visibility = ["//visibility:private"],
+    deps = [
+    ],
+)
+
+# Unsupported target "file" with type "bench" omitted
+
+# Unsupported target "rust" with type "bench" omitted
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=syn",
+        "manual",
+    ],
+    version = "1.0.109",
+    # buildifier: leave-alone
+    deps = [
+        ":syn_build_script",
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+        "@rsefi__quote__1_0_33//:quote",
+        "@rsefi__unicode_ident__1_0_12//:unicode_ident",
+    ],
+)
+
+# Unsupported target "regression" with type "test" omitted
+
+# Unsupported target "test_asyncness" with type "test" omitted
+
+# Unsupported target "test_attribute" with type "test" omitted
+
+# Unsupported target "test_derive_input" with type "test" omitted
+
+# Unsupported target "test_expr" with type "test" omitted
+
+# Unsupported target "test_generics" with type "test" omitted
+
+# Unsupported target "test_grouping" with type "test" omitted
+
+# Unsupported target "test_ident" with type "test" omitted
+
+# Unsupported target "test_item" with type "test" omitted
+
+# Unsupported target "test_iterators" with type "test" omitted
+
+# Unsupported target "test_lit" with type "test" omitted
+
+# Unsupported target "test_meta" with type "test" omitted
+
+# Unsupported target "test_parse_buffer" with type "test" omitted
+
+# Unsupported target "test_parse_stream" with type "test" omitted
+
+# Unsupported target "test_pat" with type "test" omitted
+
+# Unsupported target "test_path" with type "test" omitted
+
+# Unsupported target "test_precedence" with type "test" omitted
+
+# Unsupported target "test_receiver" with type "test" omitted
+
+# Unsupported target "test_round_trip" with type "test" omitted
+
+# Unsupported target "test_shebang" with type "test" omitted
+
+# Unsupported target "test_should_parse" with type "test" omitted
+
+# Unsupported target "test_size" with type "test" omitted
+
+# Unsupported target "test_stmt" with type "test" omitted
+
+# Unsupported target "test_token_trees" with type "test" omitted
+
+# Unsupported target "test_ty" with type "test" omitted
+
+# Unsupported target "test_visibility" with type "test" omitted
+
+# Unsupported target "zzz_stable" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.syn-2.0.37.bazel b/third_party/rust_efi/cargo/remote/BUILD.syn-2.0.37.bazel
new file mode 100644
index 0000000..528a307
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.syn-2.0.37.bazel
@@ -0,0 +1,124 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+# Unsupported target "file" with type "bench" omitted
+
+# Unsupported target "rust" with type "bench" omitted
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "extra-traits",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=syn",
+        "manual",
+    ],
+    version = "2.0.37",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+        "@rsefi__quote__1_0_33//:quote",
+        "@rsefi__unicode_ident__1_0_12//:unicode_ident",
+    ],
+)
+
+# Unsupported target "regression" with type "test" omitted
+
+# Unsupported target "test_asyncness" with type "test" omitted
+
+# Unsupported target "test_attribute" with type "test" omitted
+
+# Unsupported target "test_derive_input" with type "test" omitted
+
+# Unsupported target "test_expr" with type "test" omitted
+
+# Unsupported target "test_generics" with type "test" omitted
+
+# Unsupported target "test_grouping" with type "test" omitted
+
+# Unsupported target "test_ident" with type "test" omitted
+
+# Unsupported target "test_item" with type "test" omitted
+
+# Unsupported target "test_iterators" with type "test" omitted
+
+# Unsupported target "test_lit" with type "test" omitted
+
+# Unsupported target "test_meta" with type "test" omitted
+
+# Unsupported target "test_parse_buffer" with type "test" omitted
+
+# Unsupported target "test_parse_stream" with type "test" omitted
+
+# Unsupported target "test_pat" with type "test" omitted
+
+# Unsupported target "test_path" with type "test" omitted
+
+# Unsupported target "test_precedence" with type "test" omitted
+
+# Unsupported target "test_receiver" with type "test" omitted
+
+# Unsupported target "test_round_trip" with type "test" omitted
+
+# Unsupported target "test_shebang" with type "test" omitted
+
+# Unsupported target "test_should_parse" with type "test" omitted
+
+# Unsupported target "test_size" with type "test" omitted
+
+# Unsupported target "test_stmt" with type "test" omitted
+
+# Unsupported target "test_token_trees" with type "test" omitted
+
+# Unsupported target "test_ty" with type "test" omitted
+
+# Unsupported target "test_visibility" with type "test" omitted
+
+# Unsupported target "zzz_stable" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.ucs2-0.3.2.bazel b/third_party/rust_efi/cargo/remote/BUILD.ucs2-0.3.2.bazel
new file mode 100644
index 0000000..73ff181
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.ucs2-0.3.2.bazel
@@ -0,0 +1,53 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "reciprocal",  # MPL-2.0 from expression "MPL-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "ucs2",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=ucs2",
+        "manual",
+    ],
+    version = "0.3.2",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__bit_field__0_10_2//:bit_field",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.uefi-0.24.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.uefi-0.24.0.bazel
new file mode 100644
index 0000000..251f872
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.uefi-0.24.0.bazel
@@ -0,0 +1,68 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "reciprocal",  # MPL-2.0 from expression "MPL-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "uefi",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "global_allocator",
+        "logger",
+        "panic-on-logger-errors",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    proc_macro_deps = [
+        "@rsefi__uefi_macros__0_12_0//:uefi_macros",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=uefi",
+        "manual",
+    ],
+    version = "0.24.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__bitflags__2_4_0//:bitflags",
+        "@rsefi__log__0_4_20//:log",
+        "@rsefi__ptr_meta__0_2_0//:ptr_meta",
+        "@rsefi__ucs2__0_3_2//:ucs2",
+        "@rsefi__uefi_raw__0_3_0//:uefi_raw",
+        "@rsefi__uguid__2_0_1//:uguid",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.uefi-macros-0.12.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.uefi-macros-0.12.0.bazel
new file mode 100644
index 0000000..a361567
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.uefi-macros-0.12.0.bazel
@@ -0,0 +1,57 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "reciprocal",  # MPL-2.0 from expression "MPL-2.0"
+])
+
+# Generated Targets
+
+rust_proc_macro(
+    name = "uefi_macros",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=uefi-macros",
+        "manual",
+    ],
+    version = "0.12.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+        "@rsefi__quote__1_0_33//:quote",
+        "@rsefi__syn__2_0_37//:syn",
+    ],
+)
+
+# Unsupported target "compilation" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.uefi-raw-0.3.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.uefi-raw-0.3.0.bazel
new file mode 100644
index 0000000..55445b7
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.uefi-raw-0.3.0.bazel
@@ -0,0 +1,55 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "reciprocal",  # MPL-2.0 from expression "MPL-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "uefi_raw",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=uefi-raw",
+        "manual",
+    ],
+    version = "0.3.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__bitflags__2_4_0//:bitflags",
+        "@rsefi__ptr_meta__0_2_0//:ptr_meta",
+        "@rsefi__uguid__2_0_1//:uguid",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.uefi-services-0.21.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.uefi-services-0.21.0.bazel
new file mode 100644
index 0000000..15013c1
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.uefi-services-0.21.0.bazel
@@ -0,0 +1,60 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "reciprocal",  # MPL-2.0 from expression "MPL-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "uefi_services",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "logger",
+        "panic_handler",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=uefi-services",
+        "manual",
+    ],
+    version = "0.21.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__cfg_if__1_0_0//:cfg_if",
+        "@rsefi__log__0_4_20//:log",
+        "@rsefi__uefi__0_24_0//:uefi",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.uguid-2.0.1.bazel b/third_party/rust_efi/cargo/remote/BUILD.uguid-2.0.1.bazel
new file mode 100644
index 0000000..bc366b1
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.uguid-2.0.1.bazel
@@ -0,0 +1,58 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "uguid",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=uguid",
+        "manual",
+    ],
+    version = "2.0.1",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
+
+# Unsupported target "test_guid" with type "test" omitted
+
+# Unsupported target "test_macro_error" with type "test" omitted
+
+# Unsupported target "test_serde" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.unicode-ident-1.0.12.bazel b/third_party/rust_efi/cargo/remote/BUILD.unicode-ident-1.0.12.bazel
new file mode 100644
index 0000000..e9744bc
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.unicode-ident-1.0.12.bazel
@@ -0,0 +1,58 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "(MIT OR Apache-2.0) AND Unicode-DFS-2016"
+])
+
+# Generated Targets
+
+# Unsupported target "xid" with type "bench" omitted
+
+rust_library(
+    name = "unicode_ident",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=unicode-ident",
+        "manual",
+    ],
+    version = "1.0.12",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
+
+# Unsupported target "compare" with type "test" omitted
+
+# Unsupported target "static_size" with type "test" omitted