From 8df3191beed34f7cbfc0bfd4041c692f8b98d9a2 Mon Sep 17 00:00:00 2001 From: Matt Mower Date: Wed, 9 Jul 2014 11:50:05 -0500 Subject: Allow custom bootloader msg offset in block misc Globally define BOARD_RECOVERY_BLDRMSG_OFFSET with a decimal integer to offset the read/write location in misc where the bootloader message should appear. Example: BOARD_GLOBAL_CFLAGS := -DBOARD_RECOVERY_BLDRMSG_OFFSET=2048 Edify commands get_stage and set_stage need to be aware of the custom bootloader msg offset because they write the stage directly to the BCB. Change-Id: Ifdb5ffe3e893a651be59ae63e3a0ebadd828c9f2 --- bootloader_message/bootloader_message.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'bootloader_message/bootloader_message.cpp') diff --git a/bootloader_message/bootloader_message.cpp b/bootloader_message/bootloader_message.cpp index 4d1ce5bb4..449f40e11 100644 --- a/bootloader_message/bootloader_message.cpp +++ b/bootloader_message/bootloader_message.cpp @@ -159,7 +159,10 @@ static bool write_misc_partition(const void* p, size_t size, size_t offset, std: *err = "no misc device set"; return false; } - int fd = (open(misc_blk_device.c_str(), O_WRONLY | O_SYNC)); + int open_flags = O_WRONLY | O_SYNC; + if (offset > 0) + open_flags = O_RDWR | O_APPEND | O_SYNC; + int fd = (open(misc_blk_device.c_str(), open_flags)); if (fd == -1) { *err = "failed to open " + misc_blk_device + ": "; *err += strerror(errno); -- cgit v1.2.3