Messages in this thread | | | Date | Thu, 16 Oct 2014 10:16:33 +0200 | From | Peter Zijlstra <> | Subject | Re: [RFC 1/5] x86: Clean up cr4 manipulation |
| |
On Tue, Oct 14, 2014 at 03:57:35PM -0700, Andy Lutomirski wrote: > +/* Set in this cpu's CR4. */ > +static inline void cr4_set(unsigned long mask) > +{ > + unsigned long cr4; > + > + cr4 = read_cr4(); > + cr4 |= mask; > + write_cr4(cr4); > +} > + > +/* Clear in this cpu's CR4. */ > +static inline void cr4_clear(unsigned long mask) > +{ > + unsigned long cr4; > + > + cr4 = read_cr4(); > + cr4 &= ~mask; > + write_cr4(cr4); > +}
I would have called these cr4_or() and cr4_nand(). When first reading this I expected cr4_set() to be a pure write_cr4() and cr4_clear() to do write_cr4(0) -- which obviously doesn't make too much sense.
cr4_{set,clear}_mask() might maybe be clearer but is more typing, and the logical ops as suggested should have unambiguous meaning.
| |