Linux内核中GENMASK()的实现

Linux内核中GENMASK()的实现,linux,kernel,Linux,Kernel,为什么Linux内核将GENMASK()宏实现为 \define\u GENMASK(h,l)\ ((~UL(0))-(UL(1)>(位/u长-1-(h))) 而不是 #define __GENMASK(h, l) \ (((~UL(0)) << (l) & \ (~UL(0) >> (BITS_PER_LONG - 1 - (h)))) \define\u GENMASK(h,l)\ ((~UL(0))>(位/长-1-(h))) #def

为什么Linux内核将GENMASK()宏实现为

\define\u GENMASK(h,l)\
((~UL(0))-(UL(1)>(位/u长-1-(h)))
而不是

#define __GENMASK(h, l) \
    (((~UL(0)) << (l) & \
     (~UL(0) >> (BITS_PER_LONG - 1 - (h))))
\define\u GENMASK(h,l)\
((~UL(0))>(位/长-1-(h)))
#define __GENMASK(h, l) \
    (((~UL(0)) << (l) & \
     (~UL(0) >> (BITS_PER_LONG - 1 - (h))))