From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Thu, 18 Aug 2011 12:39:21 +0200 Subject: [U-Boot] [PATCH 2/8] POST: add post_log_res field for post results in global data In-Reply-To: <1312375027-27693-3-git-send-email-valentin.longchamp@keymile.com> References: <1312375027-27693-1-git-send-email-valentin.longchamp@keymile.com> <1312375027-27693-3-git-send-email-valentin.longchamp@keymile.com> Message-ID: <201108181239.21410.marek.vasut@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wednesday, August 03, 2011 02:37:01 PM Valentin Longchamp wrote: > The current post_log_word in global data is currently split into 2x > 16 bits: half for the test start, half for the test success. > Since we alredy have more than 16 POST tests defined and more could > be defined, this may result in an overflow and the post_output_backlog > would not work for the tests defined further of these 16 positions. > > An additional field is added to global data so that we can now support up > to 32 (depending of architecture) tests. The post_log_word is only used > to record the start of the test and the new field post_log_res for the > test success (or failure). The post_output_backlog is for this change > also adapted. > > Signed-off-by: Valentin Longchamp [...] > @@ -144,12 +145,12 @@ int post_bootmode_get (unsigned int *last_test) > /* POST tests run before relocation only mark status bits .... */ > static void post_log_mark_start ( unsigned long testid ) > { > - gd->post_log_word |= (testid)<<16; > + gd->post_log_word |= testid; I think you can just assign it if you changed the meaning. Still, what if we will have more than 32 tests? > } > > static void post_log_mark_succ ( unsigned long testid ) > { > - gd->post_log_word |= testid; > + gd->post_log_res |= testid; > }