diff options
Diffstat (limited to 'src/soc/intel/common/block/ebda')
-rw-r--r-- | src/soc/intel/common/block/ebda/ebda.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/soc/intel/common/block/ebda/ebda.c b/src/soc/intel/common/block/ebda/ebda.c index 87c18d9bc5..4f60490824 100644 --- a/src/soc/intel/common/block/ebda/ebda.c +++ b/src/soc/intel/common/block/ebda/ebda.c @@ -15,6 +15,7 @@ #include <arch/ebda.h> #include <intelblocks/ebda.h> +#include <string.h> /* * Mainboard Override function @@ -47,3 +48,11 @@ void fill_ebda_area(void) create_mainboard_ebda(cfg); write_ebda_data(cfg, sizeof(*cfg)); } + +void retrieve_ebda_object(struct ebda_config *cfg) +{ + read_ebda_data(cfg, sizeof(*cfg)); + + if (cfg->signature != EBDA_SIGNATURE) + memset(cfg, 0, sizeof(*cfg)); +} |