diff options
author | Stefan Roese <sr@denx.de> | 2008-07-18 11:03:35 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-07-20 23:00:22 +0200 |
commit | 86446d3a5d9d3ca81e85d1ccd3accaaae6f8e3c9 (patch) | |
tree | 8bfd93d7e9c37dee1d24637ea93c72182f164aae /post/lib_ppc/cr.c | |
parent | 97a3bf268d096e0e97e54048448c35114edcf557 (diff) |
POST: Add disable interrupts in some of the missing CPU POST tests
Some CPU POST tests did not disable the interrupts while running. This
seems to be necessary to protect this self modifying code.
Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'post/lib_ppc/cr.c')
-rw-r--r-- | post/lib_ppc/cr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/post/lib_ppc/cr.c b/post/lib_ppc/cr.c index 0bd9e748f2..2c7976ac31 100644 --- a/post/lib_ppc/cr.c +++ b/post/lib_ppc/cr.c @@ -248,6 +248,7 @@ int cpu_post_test_cr (void) int ret = 0; unsigned int i; unsigned long cr_sav; + int flag = disable_interrupts(); asm ( "mfcr %0" : "=r" (cr_sav) : ); @@ -347,6 +348,9 @@ int cpu_post_test_cr (void) asm ( "mtcr %0" : : "r" (cr_sav)); + if (flag) + enable_interrupts(); + return ret; } |