Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4243
-gerrit
commit 53721bdcc41c6b027a858efabe0c4cec34fe6920 Author: Gabe Black gabeblack@google.com Date: Wed Apr 24 17:54:37 2013 -0700
elog: Merge elog_validate_and_fill into elog_init_descriptor.
elog_validate_and_fill was called in exactly one place, in elog_init_descriptor. It didn't actually do what its name implied since the data in the event log was already "filled" by elog_init_descriptor. Likewise elog_init_descriptor was delegating an important part of its own job, scanning through the list of events, to elog_validate_and_fill.
Since one function was basically just a displaced part of the other which couldn't really stand on its own, this change merges them together.
Built and booted on Link. Ran mosys eventlog list. Added 2000 events with the SMI handler and ran mosys eventlog list again.
Change-Id: Ic899eeb18146d0f127d0dded207d37d63cbc716f Signed-off-by: Gabe Black gabeblack@google.com Reviewed-on: https://gerrit.chromium.org/gerrit/49308 Reviewed-by: Duncan Laurie dlaurie@chromium.org Commit-Queue: Gabe Black gabeblack@chromium.org Tested-by: Gabe Black gabeblack@chromium.org --- src/drivers/elog/elog.c | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-)
diff --git a/src/drivers/elog/elog.c b/src/drivers/elog/elog.c index 8f47ca2..ca5b3fb 100644 --- a/src/drivers/elog/elog.c +++ b/src/drivers/elog/elog.c @@ -354,28 +354,6 @@ static void elog_update_event_buffer_state(struct elog_descriptor *elog) elog->last_event_size = last_event_size; }
-static void elog_validate_and_fill(struct elog_descriptor *elog) -{ - elog_debug("elog_validate_and_fill()\n"); - - /* Check if the area is empty or not */ - if (elog_is_area_clear(elog)) { - elog->area_state = ELOG_AREA_EMPTY; - return; - } - - elog->area_state = ELOG_AREA_HAS_CONTENT; - - /* Validate the header */ - if (!elog_is_header_valid(elog_get_header(elog))) { - elog->header_state = ELOG_HEADER_INVALID; - return; - } - - elog->header_state = ELOG_HEADER_VALID; - elog_update_event_buffer_state(elog); -} - /* * (Re)initialize a new ELOG descriptor */ @@ -396,7 +374,22 @@ static void elog_init_descriptor(struct elog_descriptor *elog) elog->last_event_size = 0; elog->event_count = 0;
- elog_validate_and_fill(elog); + /* Check if the area is empty or not */ + if (elog_is_area_clear(elog)) { + elog->area_state = ELOG_AREA_EMPTY; + return; + } + + elog->area_state = ELOG_AREA_HAS_CONTENT; + + /* Validate the header */ + if (!elog_is_header_valid(elog_get_header(elog))) { + elog->header_state = ELOG_HEADER_INVALID; + return; + } + + elog->header_state = ELOG_HEADER_VALID; + elog_update_event_buffer_state(elog); }
/*