[PATCH 2/2] fwts_coreboot_cbmem: fwts coding style changes, use off_t for addresses

Colin King colin.king at canonical.com
Tue Aug 14 08:45:26 UTC 2018


From: Colin Ian King <colin.king at canonical.com>

Some cosmetic changes to use the fwts coding style. Also replace
uint64_t and unsigned long long with off_t for addresses that
are memory mapped to make it 64/32 bit agnostic.

Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
 src/lib/src/fwts_coreboot_cbmem.c | 56 ++++++++++++++++++++-----------
 1 file changed, 37 insertions(+), 19 deletions(-)

diff --git a/src/lib/src/fwts_coreboot_cbmem.c b/src/lib/src/fwts_coreboot_cbmem.c
index 214fa55e..456ac694 100644
--- a/src/lib/src/fwts_coreboot_cbmem.c
+++ b/src/lib/src/fwts_coreboot_cbmem.c
@@ -72,20 +72,18 @@ struct cbmem_console {
 } __attribute__ ((packed));
 
 /* Return < 0 on error, 0 on success. */
-static int parse_cbtable(uint64_t address, size_t table_size, uint64_t *cbmen_console_addr);
+static int parse_cbtable(const off_t address, const size_t table_size, off_t *cbmen_console_addr);
 
-static void *map_memory(unsigned long long addr, size_t size)
+static void *map_memory(const off_t addr, const size_t size)
 {
 	void *mem;
 	void *phy;
 
 	phy = fwts_mmap(addr, size);
-
 	if (phy == FWTS_MAP_FAILED)
 		return NULL;
 
 	mem = malloc(size);
-
 	if (!mem) {
 		fwts_munmap(phy, size);
 		return NULL;
@@ -117,7 +115,8 @@ static uint16_t ipchcksum(const void *addr, unsigned size)
 	return (uint16_t) sum;
 }
 
-/* This is a work-around for a nasty problem introduced by initially having
+/*
+ * This is a work-around for a nasty problem introduced by initially having
  * pointer sized entries in the lb_cbmem_ref structures. This caused problems
  * on 64bit x86 systems because coreboot is 32bit on those systems.
  * When the problem was found, it was corrected, but there are a lot of
@@ -136,8 +135,13 @@ static struct lb_cbmem_ref parse_cbmem_ref(const struct lb_cbmem_ref *cbmem_ref)
 	return ret;
 }
 
-/* Return < 0 on error, 0 on success, 1 if forwarding table entry found. */
-static int parse_cbtable_entries(const void *lbtable, size_t table_size, uint64_t *cbmem_console_addr)
+/*
+ * Return < 0 on error, 0 on success, 1 if forwarding table entry found.
+ */
+static int parse_cbtable_entries(
+	const void *lbtable,
+	const size_t table_size,
+	off_t *cbmem_console_addr)
 {
 	size_t i;
 	const struct lb_record* lbr_p;
@@ -147,7 +151,7 @@ static int parse_cbtable_entries(const void *lbtable, size_t table_size, uint64_
 		lbr_p = lbtable + i;
 		switch (lbr_p->tag) {
 		case LB_TAG_CBMEM_CONSOLE: {
-			*cbmem_console_addr = parse_cbmem_ref((struct lb_cbmem_ref *) lbr_p).cbmem_addr;
+			*cbmem_console_addr = (off_t)parse_cbmem_ref((struct lb_cbmem_ref *) lbr_p).cbmem_addr;
 			if (cbmem_console_addr)
 				return 0;
 			continue;
@@ -176,8 +180,13 @@ static int parse_cbtable_entries(const void *lbtable, size_t table_size, uint64_
 	return forwarding_table_found;
 }
 
-/* Return < 0 on error, 0 on success. */
-static int parse_cbtable(uint64_t address, size_t table_size, uint64_t *cbmem_console_table)
+/*
+ * Return < 0 on error, 0 on success.
+ */
+static int parse_cbtable(
+	const off_t address,
+	const size_t table_size,
+	off_t *cbmem_console_table)
 {
 	void *buf;
 	size_t req_size;
@@ -190,7 +199,6 @@ static int parse_cbtable(uint64_t address, size_t table_size, uint64_t *cbmem_co
 		req_size = 4 * 1024;
 
 	buf = map_memory(address, req_size);
-
 	if (!buf)
 		return -1;
 
@@ -220,7 +228,7 @@ static int parse_cbtable(uint64_t address, size_t table_size, uint64_t *cbmem_co
 			continue;
 		}
 
-		ret = parse_cbtable_entries(map,lbh->table_bytes, cbmem_console_table);
+		ret = parse_cbtable_entries(map, lbh->table_bytes, cbmem_console_table);
 
 		/* Table parsing failed. */
 		if (ret < 0) {
@@ -239,8 +247,12 @@ static int parse_cbtable(uint64_t address, size_t table_size, uint64_t *cbmem_co
 	return -1;
 }
 
-static ssize_t memory_read_from_buffer(void *to, size_t count, size_t *ppos,
-				const void *from, size_t available)
+static ssize_t memory_read_from_buffer(
+	void *to,
+	size_t count,
+	size_t *ppos,
+	const void *from,
+	const size_t available)
 {
 	size_t pos = *ppos;
 
@@ -250,18 +262,24 @@ static ssize_t memory_read_from_buffer(void *to, size_t count, size_t *ppos,
 	if (count > available - pos)
 		count = available - pos;
 
-	memcpy(to, from+pos, count);
+	memcpy(to, from + pos, count);
 
 	*ppos = pos + count;
 
 	return count;
 }
 
-static ssize_t memconsole_coreboot_read(struct cbmem_console *con, char *buf, size_t pos, size_t count)
+static ssize_t memconsole_coreboot_read(
+	struct cbmem_console *con,
+	char *buf,
+	size_t pos,
+	size_t count)
 {
 	uint32_t cursor = con->cursor & CURSOR_MASK;
 	uint32_t flags = con->cursor & ~CURSOR_MASK;
-	struct seg {	/* describes ring buffer segments in logical order */
+
+	/* describes ring buffer segments in logical order */
+	struct seg {
 		uint32_t phys;	/* physical offset from start of mem buffer */
 		uint32_t len;	/* length of segment */
 	} seg[2] = { { 0, 0 }, { 0, 0 } };
@@ -289,7 +307,7 @@ static ssize_t memconsole_coreboot_read(struct cbmem_console *con, char *buf, si
 char *fwts_coreboot_cbmem_console_dump(void)
 {
 	unsigned int j;
-	uint64_t cbmem_console_addr;
+	off_t cbmem_console_addr;
 	unsigned long long possible_base_addresses[] = { 0, 0xf0000 };
 	struct cbmem_console *console_p;
 	struct cbmem_console *console;
@@ -322,7 +340,7 @@ char *fwts_coreboot_cbmem_console_dump(void)
 		return NULL;
 	}
 
-	coreboot_log[console->size+1] = '\0';
+	coreboot_log[console->size + 1] = '\0';
 
 	count = memconsole_coreboot_read(console, coreboot_log, 0, console->size);
 	free(console);
-- 
2.17.1




More information about the fwts-devel mailing list