diff options
Diffstat (limited to 'src/parisc/parisc.c')
-rw-r--r-- | src/parisc/parisc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/parisc/parisc.c b/src/parisc/parisc.c index faedd28..b54e4be 100644 --- a/src/parisc/parisc.c +++ b/src/parisc/parisc.c @@ -992,12 +992,14 @@ static int pdc_coproc(unsigned int *arg) { unsigned long option = ARG1; unsigned long *result = (unsigned long *)ARG2; - unsigned char mask; + unsigned long mask; switch (option) { case PDC_COPROC_CFG: memset(result, 0, 32 * sizeof(unsigned long)); - mask = ~((1 << (8-smp_cpus))-1); - /* set bit per cpu in ccr_functional and ccr_present: */ + /* Set one bit per cpu in ccr_functional and ccr_present. + Ignore that specification only mentions 8 bits for cr10 + and set all FPUs functional */ + mask = -1UL; mtctl(mask, 10); /* initialize cr10 */ result[0] = mask; result[1] = mask; |