Error in set_cp0_ functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello All,

There appears to be an error in the new set_cp0_ functions in
the mipsregs.h file.

#define __BUILD_SET_CP0(name,register)                          \
extern __inline__ unsigned int                                  \
set_cp0_##name(unsigned int set)                                \
{                                                               \
        unsigned int res;                                       \
                                                                \
        res = read_32bit_cp0_register(register);                \
        res |= ~set;                                            \
        write_32bit_cp0_register(register, res);                \
                                                                \
        return res;                                             \
}                                                               \

The line
	res |= ~set;
will set every bit except the bit you want to set.

It should be changed to
	res |= set;

Also in the mipsregs.h file the line

#define ST0_UM                 <1   <<  4)

should probably be

#define ST0_UM                 (1   <<  4)

I hope this helps.

Dan Aizenstros
Software Engineer
V3 Semiconductor Corp.


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux