* This file is part of the libpayload project.
*
* Copyright (C) 2008 Advanced Micro Devices, Inc.
+ * Copyright (C) 2009 coresystems GmbH
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* SUCH DAMAGE.
*/
-#include <config.h>
+#include <libpayload-config.h>
#include <libpayload.h>
#include <coreboot_tables.h>
struct cb_memory_range *range =
(struct cb_memory_range *)MEM_RANGE_PTR(mem, i);
+#if MEMMAP_RAM_ONLY
if (range->type != CB_MEM_RAM)
continue;
+#endif
info->memrange[info->n_memranges].base =
UNPACK_CB64(range->start);
info->memrange[info->n_memranges].size =
UNPACK_CB64(range->size);
+ info->memrange[info->n_memranges].type = range->type;
+
info->n_memranges++;
}
}
/* We only care about a few tags here (maybe more later). */
switch (rec->tag) {
+ case CB_TAG_FORWARD:
+ return cb_parse_header((void *)(unsigned long)((struct cb_forward *)rec)->forward, len, info);
+ continue;
case CB_TAG_MEMORY:
cb_parse_memory(ptr, info);
break;