summaryrefslogtreecommitdiffstats
path: root/fastbootd
diff options
context:
space:
mode:
authorSzymon Starzycki <sstar@google.com>2013-10-04 10:28:03 -0700
committerColin Cross <ccross@android.com>2013-12-04 15:00:52 -0800
commitbaf4c4bdeff4d21c564ae89698538efb8ef4d8b2 (patch)
tree6d9fa217679ef1562a2d2afc83662dc59f09936f /fastbootd
parent55b61f4c9bac7f53289c79f22b4ad0ac80ecfb02 (diff)
downloadsystem_core-baf4c4bdeff4d21c564ae89698538efb8ef4d8b2.tar.gz
system_core-baf4c4bdeff4d21c564ae89698538efb8ef4d8b2.tar.bz2
system_core-baf4c4bdeff4d21c564ae89698538efb8ef4d8b2.zip
Fastbootd: Comments and general cleaning
Alignment fix for fastbootd gpt_mmap Change-Id: I86482e1645672daae1c8e4a4455c6291c0805fb0
Diffstat (limited to 'fastbootd')
-rw-r--r--fastbootd/commands.c7
-rw-r--r--fastbootd/commands/partitions.c9
2 files changed, 7 insertions, 9 deletions
diff --git a/fastbootd/commands.c b/fastbootd/commands.c
index 5c283a8a6..d8a601f52 100644
--- a/fastbootd/commands.c
+++ b/fastbootd/commands.c
@@ -128,7 +128,7 @@ static void cmd_boot(struct protocol_handle *phandle, const char *arg)
second_ptr = (void *)((unsigned) ramdisk_ptr + ramdisk_actual);
D(INFO, "preparing to boot");
- // Prepares boot physical addresses from header are ignored
+ // Prepares boot physical address. Addresses from header are ignored
rv = prepare_boot_linux(hdr->kernel_addr, kernel_ptr, kernel_actual,
hdr->ramdisk_addr, ramdisk_ptr, ramdisk_actual,
hdr->second_addr, second_ptr, second_actual,
@@ -294,7 +294,7 @@ static void cmd_flash(struct protocol_handle *phandle, const char *arg)
return;
}
- // TODO: Maybe its goot idea to check whether the partition is just bootable partition
+ // TODO: Maybe its goot idea to check whether the partition is bootable
if (!strcmp(arg, "boot") || !strcmp(arg, "recovery")) {
if (read_data_once(data_fd, data, BOOT_MAGIC_SIZE) < BOOT_MAGIC_SIZE) {
fastboot_fail(phandle, "incoming data read error, cannot read boot header");
@@ -329,7 +329,6 @@ static void cmd_flash(struct protocol_handle *phandle, const char *arg)
flash_close(partition);
close(data_fd);
- //TODO: check who is closing phandle->download_fd
fastboot_okay(phandle, "");
}
@@ -375,7 +374,6 @@ static void cmd_download(struct protocol_handle *phandle, const char *arg)
phandle->download_fd = protocol_handle_download(phandle, len);
if (phandle->download_fd < 0) {
- //handle->state = STATE_ERROR;
fastboot_fail(phandle, "download failed");
return;
}
@@ -386,6 +384,7 @@ static void cmd_download(struct protocol_handle *phandle, const char *arg)
static void cmd_oem(struct protocol_handle *phandle, const char *arg) {
const char *response = "";
+ //TODO: Maybe it should get download descriptor also
if (trigger_oem_cmd(arg, &response))
fastboot_fail(phandle, response);
else
diff --git a/fastbootd/commands/partitions.c b/fastbootd/commands/partitions.c
index ca66c6dd9..de80ea36b 100644
--- a/fastbootd/commands/partitions.c
+++ b/fastbootd/commands/partitions.c
@@ -61,7 +61,7 @@ const uint8_t partition_type_uuid[16] = {
0x87, 0xc0, 0x68, 0xb6, 0xb7, 0x26, 0x99, 0xc7,
};
-//TODO: If both blocks are invalid should I leave everything to vendor (through libvendor)
+//TODO: There is assumption that we are using little endian
static void GPT_entry_clear(struct GPT_entry_raw *entry)
{
@@ -83,6 +83,7 @@ int gpt_mmap(struct GPT_mapping *mapping, uint64_t location, int size, int fd)
D(ERR, "the location of mapping area is outside of the device size %lld", sz);
return 1;
}
+ location = ALIGN_DOWN(location, PAGE_SIZE);
mapping->map_ptr = mmap64(NULL, mapping->size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, location);
@@ -291,7 +292,7 @@ int GPT_delete_entry(struct GPT_entry_table *table, struct GPT_entry_raw *entry)
}
D(DEBUG, "Deleting gpt entry '%s'\n", raw->partition_guid);
- // This entry can be empty in the middle
+ // Entry in the middle of table may become empty
GPT_entry_clear(raw);
return 0;
@@ -382,7 +383,6 @@ int strncmp_UTF16(const uint16_t *s1, const uint16_t *s2, size_t n)
struct GPT_entry_raw *GPT_get_pointer_by_name(struct GPT_entry_table *table, const char *name)
{
- //TODO: reverse direction
int count = (int) table->header->entries_count;
int current;
@@ -560,10 +560,9 @@ int GPT_parse_entry(char *string, struct GPT_entry_raw *entry)
void entry_set_guid(int n, uint8_t *guid)
{
- guid[0] = (uint8_t) (n + 1);
int fd;
fd = open("/dev/urandom", O_RDONLY);
- read(fd, &guid[1], 15);
+ read(fd, guid, 16);
close(fd);
//rfc4122