Index: boot/arch/ia64/src/main.c
===================================================================
--- boot/arch/ia64/src/main.c	(revision accdbd830beca44bcb50139f5c5e256cbe7afda9)
+++ boot/arch/ia64/src/main.c	(revision 045186b0aef93f3aa6d7952248a1db55a0c08b5e)
@@ -94,7 +94,20 @@
 		    cur += md_size) {
 			efi_v1_memdesc_t *md = (efi_v1_memdesc_t *) cur;
+			memmap_item_t *o = NULL;
+
+			if (items)
+				o = &memmap[items - 1];
 
 			switch ((efi_memory_type_t) md->type) {
+			case EFI_LOADER_CODE:
+			case EFI_LOADER_DATA:
+			case EFI_BOOT_SERVICES_CODE:
+			case EFI_BOOT_SERVICES_DATA:
 			case EFI_CONVENTIONAL_MEMORY:
+				if (o && o->type == MEMMAP_FREE_MEM &&
+				    o->base + o->size == md->phys_start) {
+					o->size += md->pages * EFI_PAGE_SIZE;
+					continue;
+				}
 				memmap[items].type = MEMMAP_FREE_MEM;
 				break;
