You'd better commit the additional commet made by Eirc.
/* For a non bridge resource granularity and alignment are the same. * For a bridge resource align is the largest needed alignment below * the bridge. While the granularity is simply how many low bits of
the
* address cannot be set. */
YH.
-----邮件原件----- 发件人: ron minnich [mailto:rminnich@lanl.gov] 发送时间: 2004年3月10日 20:24 收件人: Eric W. Biederman 抄送: YhLu; 'LinuxBIOS' 主题: Re: 答复: Prefmem of bus 3
On 10 Mar 2004, Eric W. Biederman wrote:
It has the additional comment:
/* Get the resource granularity */ gran = 1UL << resource->gran;
/* For a non bridge resource granularity and alignment are the same. * For a bridge resource align is the largest needed alignment below * the bridge. While the granularity is simply how many low bits of
the
* address cannot be set. */
/* Get the limit (rounded up) */ limit = base + ((resource->size + gran - 1UL) & ~(gran - 1UL)) -1UL;
not to worry, Ollie and I fixed it too. We're going to have some real collisions when you commit.
We are using the round() function for clarity, e.g. limit = base + round(resource->size, gran) - 1UL;
ron