diff --git a/fw_cfg.c b/fw_cfg.c
index f8aea5a..85a2639 100644
--- a/fw_cfg.c
+++ b/fw_cfg.c
@@ -73,8 +73,7 @@
 
 	fw_cfg_select(FW_CFG_KERNEL_ADDR);
 	kernel_addr = (void *) fw_cfg_readl_le();
-	fw_cfg_select(FW_CFG_KERNEL_DATA);
-	fw_cfg_read(kernel_addr, sz);
+	fw_cfg_read_entry(FW_CFG_KERNEL_DATA, kernel_addr, sz);
 
 	fw_cfg_select(FW_CFG_INITRD_SIZE);
 	sz = fw_cfg_readl_le();
@@ -83,8 +82,7 @@
 
 	fw_cfg_select(FW_CFG_INITRD_ADDR);
 	mb = (struct mb_info *) fw_cfg_readl_le();
-	fw_cfg_select(FW_CFG_INITRD_DATA);
-	fw_cfg_read(mb, sz);
+	fw_cfg_read_entry(FW_CFG_INITRD_DATA, mb, sz);
 
 	mb->mem_lower = 639;
 	mb->mem_upper = (lowmem - 1048576) >> 10;
@@ -145,14 +143,12 @@
 			    args.setup_size - sizeof(args.header));
 
 	fw_cfg_select(FW_CFG_KERNEL_DATA);
-	fw_cfg_read(args.kernel_addr, kernel_size);
+	fw_cfg_read_entry(FW_CFG_KERNEL_DATA, args.kernel_addr, kernel_size);
 
-	fw_cfg_select(FW_CFG_CMDLINE_DATA);
-	fw_cfg_read(args.cmdline_addr, args.cmdline_size);
+	fw_cfg_read_entry(FW_CFG_CMDLINE_DATA, args.cmdline_addr, args.cmdline_size);
 
 	if (args.initrd_size) {
-		fw_cfg_select(FW_CFG_INITRD_DATA);
-		fw_cfg_read(args.initrd_addr, args.initrd_size);
+		fw_cfg_read_entry(FW_CFG_INITRD_DATA, args.initrd_addr, args.initrd_size);
 	}
 
 	boot_bzimage(&args);
diff --git a/include/fw_cfg.h b/include/fw_cfg.h
index 48234f5..46fa869 100644
--- a/include/fw_cfg.h
+++ b/include/fw_cfg.h
@@ -103,7 +103,7 @@
 }
 
 static inline void
-fw_cfg_read_entry(void *buf, int e, int len)
+fw_cfg_read_entry(int e, void *buf, int len)
 {
 	fw_cfg_select(e);
 	fw_cfg_read(buf, len);
@@ -114,4 +114,11 @@
 uint32_t fw_cfg_file_size(int id);
 void fw_cfg_file_select(int id);
 
+static inline void
+fw_cfg_read_file(int id, void *buf, int len)
+{
+	fw_cfg_file_select(id);
+	fw_cfg_read(buf, len);
+}
+
 #endif
diff --git a/main.c b/main.c
index b376c0d..1913b37 100644
--- a/main.c
+++ b/main.c
@@ -43,7 +43,6 @@
 
 	size = fw_cfg_file_size(id);
 	nr_map = size / sizeof(e820->map[0]) + 4;
-	fw_cfg_file_select(id);
 
 	e820 = malloc(offsetof(struct e820map, map[nr_map]));
 	e820->nr_map = nr_map;
@@ -55,7 +54,7 @@
 		{ .addr = 0xd0000, .size = 128 * 1024, .type = E820_NVS }; /* ACPI tables */
 	e820->map[3] = (struct e820entry)
 		{ .addr = 0xf0000, .size = 64 * 1024, .type = E820_RESERVED }; /* firmware */
-	fw_cfg_read(&e820->map[4], size);
+	fw_cfg_read_file(id, &e820->map[4], size);
 	for (i = 4; i < e820->nr_map; i++)
 		if (e820->map[i].addr == 0) {
 			lowmem = e820->map[i].size;
diff --git a/tables.c b/tables.c
index 3f59b3e..bb533b6 100644
--- a/tables.c
+++ b/tables.c
@@ -68,8 +68,7 @@
 	p = (char *)((uintptr_t)(p + align - 1) & -align);
 
 	set_file_addr(id, p);
-	fw_cfg_file_select(id);
-	fw_cfg_read(p, n);
+	fw_cfg_read_file(id, p, n);
 }
 
 static void do_ptr(char *dest, char *src, uint32_t offset, uint8_t size)
@@ -135,8 +134,7 @@
 	if (!n)
 		return;
 
-	fw_cfg_file_select(id);
-	fw_cfg_read(script, n);
+	fw_cfg_read_file(id, script, n);
 
 	for (i = 0; i < ARRAY_SIZE(script); i++) {
 		struct loader_cmd *s = &script[i];
