summaryrefslogtreecommitdiff
path: root/post
diff options
context:
space:
mode:
Diffstat (limited to 'post')
-rw-r--r--post/cpu/ppc4xx/spr.c2
-rw-r--r--post/lib_ppc/b.c4
-rw-r--r--post/lib_ppc/cmp.c4
-rw-r--r--post/lib_ppc/cmpi.c4
-rw-r--r--post/lib_ppc/complex.c4
-rw-r--r--post/lib_ppc/cr.c4
-rw-r--r--post/lib_ppc/load.c4
-rw-r--r--post/lib_ppc/multi.c4
-rw-r--r--post/lib_ppc/store.c4
-rw-r--r--post/lib_ppc/string.c4
10 files changed, 38 insertions, 0 deletions
diff --git a/post/cpu/ppc4xx/spr.c b/post/cpu/ppc4xx/spr.c
index 6152eb2..110df6e 100644
--- a/post/cpu/ppc4xx/spr.c
+++ b/post/cpu/ppc4xx/spr.c
@@ -76,7 +76,9 @@ static struct {
{0x3b, "CSRR1", 0x00000000, 0x00000000},
{0x3d, "DEAR", 0x00000000, 0x00000000},
{0x3e, "ESR", 0x00000000, 0x00000000},
+#ifdef CONFIG_440
{0x3f, "IVPR", 0xffff0000, 0x00000000},
+#endif
{0x100, "USPRG0", 0x00000000, 0x00000000},
{0x104, "SPRG4", 0x00000000, 0x00000000},
{0x105, "SPRG5", 0x00000000, 0x00000000},
diff --git a/post/lib_ppc/b.c b/post/lib_ppc/b.c
index 45b9ff2..7a2583d 100644
--- a/post/lib_ppc/b.c
+++ b/post/lib_ppc/b.c
@@ -95,6 +95,7 @@ int cpu_post_test_b (void)
{
int ret = 0;
unsigned int i;
+ int flag = disable_interrupts();
if (ret == 0)
{
@@ -188,6 +189,9 @@ int cpu_post_test_b (void)
}
}
+ if (flag)
+ enable_interrupts();
+
return ret;
}
diff --git a/post/lib_ppc/cmp.c b/post/lib_ppc/cmp.c
index 8d80f86..13809d4 100644
--- a/post/lib_ppc/cmp.c
+++ b/post/lib_ppc/cmp.c
@@ -102,6 +102,7 @@ int cpu_post_test_cmp (void)
{
int ret = 0;
unsigned int i;
+ int flag = disable_interrupts();
for (i = 0; i < cpu_post_cmp_size && ret == 0; i++)
{
@@ -124,6 +125,9 @@ int cpu_post_test_cmp (void)
}
}
+ if (flag)
+ enable_interrupts();
+
return ret;
}
diff --git a/post/lib_ppc/cmpi.c b/post/lib_ppc/cmpi.c
index 92b4d57..5ecfe87 100644
--- a/post/lib_ppc/cmpi.c
+++ b/post/lib_ppc/cmpi.c
@@ -102,6 +102,7 @@ int cpu_post_test_cmpi (void)
{
int ret = 0;
unsigned int i;
+ int flag = disable_interrupts();
for (i = 0; i < cpu_post_cmpi_size && ret == 0; i++)
{
@@ -124,6 +125,9 @@ int cpu_post_test_cmpi (void)
}
}
+ if (flag)
+ enable_interrupts();
+
return ret;
}
diff --git a/post/lib_ppc/complex.c b/post/lib_ppc/complex.c
index 271392a..4983c51 100644
--- a/post/lib_ppc/complex.c
+++ b/post/lib_ppc/complex.c
@@ -101,6 +101,7 @@ static int cpu_post_test_complex_2 (void)
int cpu_post_test_complex (void)
{
int ret = 0;
+ int flag = disable_interrupts();
if (ret == 0)
{
@@ -117,6 +118,9 @@ int cpu_post_test_complex (void)
post_log ("Error at complex test !\n");
}
+ if (flag)
+ enable_interrupts();
+
return ret;
}
diff --git a/post/lib_ppc/cr.c b/post/lib_ppc/cr.c
index 0bd9e74..2c7976a 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;
}
diff --git a/post/lib_ppc/load.c b/post/lib_ppc/load.c
index 86bc223..eccebb7 100644
--- a/post/lib_ppc/load.c
+++ b/post/lib_ppc/load.c
@@ -178,6 +178,7 @@ int cpu_post_test_load (void)
{
int ret = 0;
unsigned int i;
+ int flag = disable_interrupts();
for (i = 0; i < cpu_post_load_size && ret == 0; i++)
{
@@ -246,6 +247,9 @@ int cpu_post_test_load (void)
}
}
+ if (flag)
+ enable_interrupts();
+
return ret;
}
diff --git a/post/lib_ppc/multi.c b/post/lib_ppc/multi.c
index 5d3f584..47135ab 100644
--- a/post/lib_ppc/multi.c
+++ b/post/lib_ppc/multi.c
@@ -44,6 +44,7 @@ int cpu_post_test_multi (void)
{
int ret = 0;
unsigned int i;
+ int flag = disable_interrupts();
if (ret == 0)
{
@@ -72,6 +73,9 @@ int cpu_post_test_multi (void)
post_log ("Error at multi test !\n");
}
+ if (flag)
+ enable_interrupts();
+
return ret;
}
diff --git a/post/lib_ppc/store.c b/post/lib_ppc/store.c
index 09ec485..c96f263 100644
--- a/post/lib_ppc/store.c
+++ b/post/lib_ppc/store.c
@@ -163,6 +163,7 @@ int cpu_post_test_store (void)
{
int ret = 0;
unsigned int i;
+ int flag = disable_interrupts();
for (i = 0; i < cpu_post_store_size && ret == 0; i++)
{
@@ -226,6 +227,9 @@ int cpu_post_test_store (void)
}
}
+ if (flag)
+ enable_interrupts();
+
return ret;
}
diff --git a/post/lib_ppc/string.c b/post/lib_ppc/string.c
index b2daa88..3683ac9 100644
--- a/post/lib_ppc/string.c
+++ b/post/lib_ppc/string.c
@@ -47,6 +47,7 @@ int cpu_post_test_string (void)
{
int ret = 0;
unsigned int i;
+ int flag = disable_interrupts();
if (ret == 0)
{
@@ -97,6 +98,9 @@ int cpu_post_test_string (void)
post_log ("Error at string test !\n");
}
+ if (flag)
+ enable_interrupts();
+
return ret;
}