Add kcmdline bootloader message

Define a new struct in the misc partition for telling the bootloader to
set kcmdline flags for enabling experimental dogfood features in the
kernel.

Test: Verified that a custom bootloader is able to read the data
Bug: 278052745
Change-Id: I5f13a9bdff940517cb7b880815dfb8f396fc3844
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
diff --git a/bootloader_message/bootloader_message.cpp b/bootloader_message/bootloader_message.cpp
index 1ea56cd..e9dd0d4 100644
--- a/bootloader_message/bootloader_message.cpp
+++ b/bootloader_message/bootloader_message.cpp
@@ -314,6 +314,16 @@
                                        offsetof(misc_system_space_layout, memtag_message), err);
 }
 
+bool ReadMiscKcmdlineMessage(misc_kcmdline_message* message, std::string* err) {
+  return ReadMiscPartitionSystemSpace(message, sizeof(*message),
+                                      offsetof(misc_system_space_layout, kcmdline_message), err);
+}
+
+bool WriteMiscKcmdlineMessage(const misc_kcmdline_message& message, std::string* err) {
+  return WriteMiscPartitionSystemSpace(&message, sizeof(message),
+                                       offsetof(misc_system_space_layout, kcmdline_message), err);
+}
+
 extern "C" bool write_reboot_bootloader(void) {
   std::string err;
   return write_reboot_bootloader(&err);