Re: [U-Boot] [PATCH] common/memsize.c: Increase save array for supporting memory size > 4GB
On 06/19/2018 07:52 AM, Chee, Tien Fong wrote: > On Mon, 2018-06-18 at 12:59 -0400, Tom Rini wrote: >> On Wed, Jun 13, 2018 at 03:32:43PM +0800, tien.fong.c...@intel.com >> wrote: >> >>> >>> From: Tien Fong Chee >>> >>> In ARM 64-bits, memory size can be supported is more than 4GB, >>> hence increasing save array is needed to cope with testing larger >>> memory. >>> >>> Signed-off-by: Tien Fong Chee >>> --- >>> common/memsize.c |2 +- >>> 1 files changed, 1 insertions(+), 1 deletions(-) >>> >>> diff --git a/common/memsize.c b/common/memsize.c >>> index 5670e95..b091203 100644 >>> --- a/common/memsize.c >>> +++ b/common/memsize.c >>> @@ -26,7 +26,7 @@ DECLARE_GLOBAL_DATA_PTR; >>> long get_ram_size(long *base, long maxsize) >>> { >>> volatile long *addr; >>> - long save[31]; >>> + long save[BITS_PER_LONG]; >>> long save_base; >>> long cnt; >>> long val; >> Since BITS_PER_LONG is 32 or 64, shouldn't we use B_P_L - 1 here? Or >> are you saying there's also a case where this is wrong on 32bit >> today? > As long as the array is large enough to cope with shifting > implementation, then it should be fine. For 32-bit, only 31 units in > array required for storing 31 shifting values, and this apply for 64- > bit also as long as the implementation of first shifting value is not > change(cnt = (maxsize / sizeof(long)) >> 1). > IMO, for simplifying and safety purpose(may be one day implementation > change to "cnt = (maxsize / sizeof(long))", above B_P_L is still > workable. That's BS reasoning and just sloppy programming. I agree with Tom. -- Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH] common/memsize.c: Increase save array for supporting memory size > 4GB
On Mon, 2018-06-18 at 12:59 -0400, Tom Rini wrote: > On Wed, Jun 13, 2018 at 03:32:43PM +0800, tien.fong.c...@intel.com > wrote: > > > > > From: Tien Fong Chee > > > > In ARM 64-bits, memory size can be supported is more than 4GB, > > hence increasing save array is needed to cope with testing larger > > memory. > > > > Signed-off-by: Tien Fong Chee > > --- > > common/memsize.c |2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/common/memsize.c b/common/memsize.c > > index 5670e95..b091203 100644 > > --- a/common/memsize.c > > +++ b/common/memsize.c > > @@ -26,7 +26,7 @@ DECLARE_GLOBAL_DATA_PTR; > > long get_ram_size(long *base, long maxsize) > > { > > volatile long *addr; > > - long save[31]; > > + long save[BITS_PER_LONG]; > > long save_base; > > long cnt; > > long val; > Since BITS_PER_LONG is 32 or 64, shouldn't we use B_P_L - 1 here? Or > are you saying there's also a case where this is wrong on 32bit > today? As long as the array is large enough to cope with shifting implementation, then it should be fine. For 32-bit, only 31 units in array required for storing 31 shifting values, and this apply for 64- bit also as long as the implementation of first shifting value is not change(cnt = (maxsize / sizeof(long)) >> 1). IMO, for simplifying and safety purpose(may be one day implementation change to "cnt = (maxsize / sizeof(long))", above B_P_L is still workable. > Thanks! > ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH] common/memsize.c: Increase save array for supporting memory size > 4GB
On Wed, Jun 13, 2018 at 03:32:43PM +0800, tien.fong.c...@intel.com wrote: > From: Tien Fong Chee > > In ARM 64-bits, memory size can be supported is more than 4GB, > hence increasing save array is needed to cope with testing larger memory. > > Signed-off-by: Tien Fong Chee > --- > common/memsize.c |2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/common/memsize.c b/common/memsize.c > index 5670e95..b091203 100644 > --- a/common/memsize.c > +++ b/common/memsize.c > @@ -26,7 +26,7 @@ DECLARE_GLOBAL_DATA_PTR; > long get_ram_size(long *base, long maxsize) > { > volatile long *addr; > - long save[31]; > + long save[BITS_PER_LONG]; > long save_base; > long cnt; > long val; Since BITS_PER_LONG is 32 or 64, shouldn't we use B_P_L - 1 here? Or are you saying there's also a case where this is wrong on 32bit today? Thanks! -- Tom signature.asc Description: PGP signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH] common/memsize.c: Increase save array for supporting memory size > 4GB
From: Tien Fong Chee In ARM 64-bits, memory size can be supported is more than 4GB, hence increasing save array is needed to cope with testing larger memory. Signed-off-by: Tien Fong Chee --- common/memsize.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/common/memsize.c b/common/memsize.c index 5670e95..b091203 100644 --- a/common/memsize.c +++ b/common/memsize.c @@ -26,7 +26,7 @@ DECLARE_GLOBAL_DATA_PTR; long get_ram_size(long *base, long maxsize) { volatile long *addr; - long save[31]; + long save[BITS_PER_LONG]; long save_base; long cnt; long val; -- 1.7.7.4 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot