metropolis/node: move misplaced packages out of core
abloader, bios_bootcode and minit don't run as part of the core process,
so it doesn't make sense to have them in //metropolis/node/core.
This changes moves these three to //metropolis/node.
Change-Id: I908efb311a138f07a9f1de8e3c23437ff00131ee
Reviewed-on: https://review.monogon.dev/c/monogon/+/4196
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/abloader/spec/abloader.proto b/metropolis/node/abloader/spec/abloader.proto
new file mode 100644
index 0000000..9704ce6
--- /dev/null
+++ b/metropolis/node/abloader/spec/abloader.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+package metropolis.node.abloader.spec;
+
+enum Slot {
+ SLOT_NONE = 0;
+ SLOT_A = 1;
+ SLOT_B = 2;
+}
+
+// ABLoaderData contains data the A/B loader needs to chose which slot to boot
+// as well as for auto-rollback functionality.
+message ABLoaderData {
+ // The currently-active slot. This slot will be booted unless next_slot is
+ // set to a non-default value.
+ Slot active_slot = 1;
+ // The slot to boot next, but only once. Once the the slot has been selected
+ // to be booted by the loader, this value is reset before booting into that
+ // slot. If the OS boots successfully, it will update the active_slot to
+ // permanently boot from the new slot.
+ Slot next_slot = 2;
+}