Re: [U-Boot] [PATCH] Don't wrap to negative after 2G sectors

2016-01-13 Thread Tom Rini
On Tue, Aug 25, 2015 at 03:24:13PM -0400, Stefan Monnier wrote:

> 
> Signed-off-by: Stefan Monnier 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] Don't wrap to negative after 2G sectors

2016-01-13 Thread Stefan Monnier
>> Signed-off-by: Stefan Monnier 
> Sorry for the delay:
> Reviewed-by: Tom Rini 

Great, thank you!


Stefan
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] Don't wrap to negative after 2G sectors

2016-01-13 Thread Tom Rini
On Tue, Aug 25, 2015 at 03:24:13PM -0400, Stefan Monnier wrote:

> 
> Signed-off-by: Stefan Monnier 

Sorry for the delay:
Reviewed-by: Tom Rini 

And I'll pop in a short commit message.  I also need to test this with
one of the toolchains that errors out when we try and mix hard and soft
float stuff (I don't see any dangerous math in the patch context but
just to be safe).  Thanks! 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] Don't wrap to negative after 2G sectors

2016-01-12 Thread Stefan Monnier
Ping yet again!?


Stefan

> "Stefan" == Stefan Monnier  writes:

> Signed-off-by: Stefan Monnier 
> ---
>  disk/part_dos.c | 29 +
>  include/ide.h   |  8 
>  2 files changed, 21 insertions(+), 16 deletions(-)

> diff --git a/disk/part_dos.c b/disk/part_dos.c
> index 89263d3..6280660 100644
> --- a/disk/part_dos.c
> +++ b/disk/part_dos.c
> @@ -26,7 +26,7 @@
 
>  /* Convert char[4] in little endian format to the host format integer
>   */
> -static inline int le32_to_int(unsigned char *le32)
> +static inline unsigned int le32_to_int(unsigned char *le32)
>  {
>  return ((le32[3] << 24) +
>   (le32[2] << 16) +
> @@ -47,13 +47,14 @@ static inline int is_bootable(dos_partition_t *p)
>   return p->boot_ind == 0x80;
>  }
 
> -static void print_one_part(dos_partition_t *p, int ext_part_sector,
> +static void print_one_part(dos_partition_t *p, lbaint_t ext_part_sector,
>  int part_num, unsigned int disksig)
>  {
> - int lba_start = ext_part_sector + le32_to_int (p->start4);
> - int lba_size  = le32_to_int (p->size4);
> + lbaint_t lba_start = ext_part_sector + le32_to_int (p->start4);
> + lbaint_t lba_size  = le32_to_int (p->size4);
 
> - printf("%3d\t%-10d\t%-10d\t%08x-%02x\t%02x%s%s\n",
> + printf("%3d\t%-10" LBAFlength "u\t%-10" LBAFlength
> + "u\t%08x-%02x\t%02x%s%s\n",
>   part_num, lba_start, lba_size, disksig, part_num, p->sys_ind,
>   (is_extended(p->sys_ind) ? " Extd" : ""),
>   (is_bootable(p) ? " Boot" : ""));
> @@ -102,7 +103,8 @@ int test_part_dos (block_dev_desc_t *dev_desc)
>  /*  Print a partition that is relative to its Extended partition table
>   */
>  static void print_partition_extended(block_dev_desc_t *dev_desc,
> -  int ext_part_sector, int relative,
> +  lbaint_t ext_part_sector,
> +  lbaint_t relative,
>int part_num, unsigned int disksig)
>  {
>   ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);
> @@ -110,7 +112,7 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
>   int i;
 
>   if (dev_desc->block_read(dev_desc->dev, ext_part_sector, 1, (ulong *) 
> buffer) != 1) {
> - printf ("** Can't read partition table on %d:%d **\n",
> + printf ("** Can't read partition table on %d:" LBAFU " **\n",
dev_desc-> dev, ext_part_sector);
>   return;
>   }
> @@ -149,7 +151,8 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
>   pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET);
>   for (i = 0; i < 4; i++, pt++) {
>   if (is_extended (pt->sys_ind)) {
> - int lba_start = le32_to_int (pt->start4) + relative;
> + lbaint_t lba_start
> + = le32_to_int (pt->start4) + relative;
 
>   print_partition_extended(dev_desc, lba_start,
>   ext_part_sector == 0  ? lba_start : relative,
> @@ -163,8 +166,9 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
 
>  /*  Print a partition that is relative to its Extended partition table
>   */
> -static int get_partition_info_extended (block_dev_desc_t *dev_desc, int 
> ext_part_sector,
> -  int relative, int part_num,
> +static int get_partition_info_extended (block_dev_desc_t *dev_desc,
> +  lbaint_t ext_part_sector,
> +  lbaint_t relative, int part_num,
>int which_part, disk_partition_t *info,
>unsigned int disksig)
>  {
> @@ -174,7 +178,7 @@ static int get_partition_info_extended (block_dev_desc_t 
> *dev_desc, int ext_part
>   int dos_type;
 
>   if (dev_desc->block_read (dev_desc->dev, ext_part_sector, 1, (ulong *) 
> buffer) != 1) {
> - printf ("** Can't read partition table on %d:%d **\n",
> + printf ("** Can't read partition table on %d:" LBAFU " **\n",
dev_desc-> dev, ext_part_sector);
>   return -1;
>   }
> @@ -250,7 +254,8 @@ static int get_partition_info_extended (block_dev_desc_t 
> *dev_desc, int ext_part
>   pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET);
>   for (i = 0; i < 4; i++, pt++) {
>   if (is_extended (pt->sys_ind)) {
> - int lba_start = le32_to_int (pt->start4) + relative;
> + lbaint_t lba_start
> + = le32_to_int (pt->start4) + relative;
 
>   return get_partition_info_extended (dev_desc, lba_start,
>ext_part_sector == 0 ? lba_start : relative,
> diff --git a/include/ide.h b/include/ide.h
> index 

Re: [U-Boot] [PATCH] Don't wrap to negative after 2G sectors

2015-10-03 Thread Stefan Monnier
I haven't received any answer from anyone about my patch.
What am I doing wrong?


Stefan


> "Stefan" == Stefan Monnier  writes:

> Signed-off-by: Stefan Monnier 
> ---
>  disk/part_dos.c | 29 +
>  include/ide.h   |  8 
>  2 files changed, 21 insertions(+), 16 deletions(-)

> diff --git a/disk/part_dos.c b/disk/part_dos.c
> index cf1a36e..adde68a 100644
> --- a/disk/part_dos.c
> +++ b/disk/part_dos.c
> @@ -25,7 +25,7 @@
 
>  /* Convert char[4] in little endian format to the host format integer
>   */
> -static inline int le32_to_int(unsigned char *le32)
> +static inline unsigned int le32_to_int(unsigned char *le32)
>  {
>  return ((le32[3] << 24) +
>   (le32[2] << 16) +
> @@ -46,13 +46,14 @@ static inline int is_bootable(dos_partition_t *p)
>   return p->boot_ind == 0x80;
>  }
 
> -static void print_one_part(dos_partition_t *p, int ext_part_sector,
> +static void print_one_part(dos_partition_t *p, lbaint_t ext_part_sector,
>  int part_num, unsigned int disksig)
>  {
> - int lba_start = ext_part_sector + le32_to_int (p->start4);
> - int lba_size  = le32_to_int (p->size4);
> + lbaint_t lba_start = ext_part_sector + le32_to_int (p->start4);
> + lbaint_t lba_size  = le32_to_int (p->size4);
 
> - printf("%3d\t%-10d\t%-10d\t%08x-%02x\t%02x%s%s\n",
> + printf("%3d\t%-10" LBAFlength "u\t%-10" LBAFlength
> + "u\t%08x-%02x\t%02x%s%s\n",
>   part_num, lba_start, lba_size, disksig, part_num, p->sys_ind,
>   (is_extended(p->sys_ind) ? " Extd" : ""),
>   (is_bootable(p) ? " Boot" : ""));
> @@ -101,7 +102,8 @@ int test_part_dos (block_dev_desc_t *dev_desc)
>  /*  Print a partition that is relative to its Extended partition table
>   */
>  static void print_partition_extended(block_dev_desc_t *dev_desc,
> -  int ext_part_sector, int relative,
> +  lbaint_t ext_part_sector,
> +  lbaint_t relative,
>int part_num, unsigned int disksig)
>  {
>   ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);
> @@ -109,7 +111,7 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
>   int i;
 
>   if (dev_desc->block_read(dev_desc->dev, ext_part_sector, 1, (ulong *) 
> buffer) != 1) {
> - printf ("** Can't read partition table on %d:%d **\n",
> + printf ("** Can't read partition table on %d:" LBAFU " **\n",
dev_desc-> dev, ext_part_sector);
>   return;
>   }
> @@ -148,7 +150,8 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
>   pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET);
>   for (i = 0; i < 4; i++, pt++) {
>   if (is_extended (pt->sys_ind)) {
> - int lba_start = le32_to_int (pt->start4) + relative;
> + lbaint_t lba_start
> + = le32_to_int (pt->start4) + relative;
 
>   print_partition_extended(dev_desc, lba_start,
>   ext_part_sector == 0  ? lba_start : relative,
> @@ -162,8 +165,9 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
 
>  /*  Print a partition that is relative to its Extended partition table
>   */
> -static int get_partition_info_extended (block_dev_desc_t *dev_desc, int 
> ext_part_sector,
> -  int relative, int part_num,
> +static int get_partition_info_extended (block_dev_desc_t *dev_desc,
> +  lbaint_t ext_part_sector,
> +  lbaint_t relative, int part_num,
>int which_part, disk_partition_t *info,
>unsigned int disksig)
>  {
> @@ -173,7 +177,7 @@ static int get_partition_info_extended (block_dev_desc_t 
> *dev_desc, int ext_part
>   int dos_type;
 
>   if (dev_desc->block_read (dev_desc->dev, ext_part_sector, 1, (ulong *) 
> buffer) != 1) {
> - printf ("** Can't read partition table on %d:%d **\n",
> + printf ("** Can't read partition table on %d:" LBAFU " **\n",
dev_desc-> dev, ext_part_sector);
>   return -1;
>   }
> @@ -249,7 +253,8 @@ static int get_partition_info_extended (block_dev_desc_t 
> *dev_desc, int ext_part
>   pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET);
>   for (i = 0; i < 4; i++, pt++) {
>   if (is_extended (pt->sys_ind)) {
> - int lba_start = le32_to_int (pt->start4) + relative;
> + lbaint_t lba_start
> + = le32_to_int (pt->start4) + relative;
 
>   return get_partition_info_extended (dev_desc, lba_start,
>ext_part_sector == 0 ? lba_start : relative,
> 

Re: [U-Boot] [PATCH] Don't wrap to negative after 2G sectors

2015-10-03 Thread Fabio Estevam
On Sat, Oct 3, 2015 at 5:58 PM, Stefan Monnier  wrote:
> I haven't received any answer from anyone about my patch.
> What am I doing wrong?

I would suggest you to resend it and put Tom Rini on Cc.

Also, a commit log is always useful.

Regards,

Fabio Estevam
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] Don't wrap to negative after 2G sectors

2015-09-08 Thread Stefan Monnier
Any chance this can make it into 2015.10?


Stefan


> "Stefan" == Stefan Monnier  writes:

> Signed-off-by: Stefan Monnier 
> ---
>  disk/part_dos.c | 29 +
>  include/ide.h   |  8 
>  2 files changed, 21 insertions(+), 16 deletions(-)

> diff --git a/disk/part_dos.c b/disk/part_dos.c
> index cf1a36e..adde68a 100644
> --- a/disk/part_dos.c
> +++ b/disk/part_dos.c
> @@ -25,7 +25,7 @@
 
>  /* Convert char[4] in little endian format to the host format integer
>   */
> -static inline int le32_to_int(unsigned char *le32)
> +static inline unsigned int le32_to_int(unsigned char *le32)
>  {
>  return ((le32[3] << 24) +
>   (le32[2] << 16) +
> @@ -46,13 +46,14 @@ static inline int is_bootable(dos_partition_t *p)
>   return p->boot_ind == 0x80;
>  }
 
> -static void print_one_part(dos_partition_t *p, int ext_part_sector,
> +static void print_one_part(dos_partition_t *p, lbaint_t ext_part_sector,
>  int part_num, unsigned int disksig)
>  {
> - int lba_start = ext_part_sector + le32_to_int (p->start4);
> - int lba_size  = le32_to_int (p->size4);
> + lbaint_t lba_start = ext_part_sector + le32_to_int (p->start4);
> + lbaint_t lba_size  = le32_to_int (p->size4);
 
> - printf("%3d\t%-10d\t%-10d\t%08x-%02x\t%02x%s%s\n",
> + printf("%3d\t%-10" LBAFlength "u\t%-10" LBAFlength
> + "u\t%08x-%02x\t%02x%s%s\n",
>   part_num, lba_start, lba_size, disksig, part_num, p->sys_ind,
>   (is_extended(p->sys_ind) ? " Extd" : ""),
>   (is_bootable(p) ? " Boot" : ""));
> @@ -101,7 +102,8 @@ int test_part_dos (block_dev_desc_t *dev_desc)
>  /*  Print a partition that is relative to its Extended partition table
>   */
>  static void print_partition_extended(block_dev_desc_t *dev_desc,
> -  int ext_part_sector, int relative,
> +  lbaint_t ext_part_sector,
> +  lbaint_t relative,
>int part_num, unsigned int disksig)
>  {
>   ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);
> @@ -109,7 +111,7 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
>   int i;
 
>   if (dev_desc->block_read(dev_desc->dev, ext_part_sector, 1, (ulong *) 
> buffer) != 1) {
> - printf ("** Can't read partition table on %d:%d **\n",
> + printf ("** Can't read partition table on %d:" LBAFU " **\n",
dev_desc-> dev, ext_part_sector);
>   return;
>   }
> @@ -148,7 +150,8 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
>   pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET);
>   for (i = 0; i < 4; i++, pt++) {
>   if (is_extended (pt->sys_ind)) {
> - int lba_start = le32_to_int (pt->start4) + relative;
> + lbaint_t lba_start
> + = le32_to_int (pt->start4) + relative;
 
>   print_partition_extended(dev_desc, lba_start,
>   ext_part_sector == 0  ? lba_start : relative,
> @@ -162,8 +165,9 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
 
>  /*  Print a partition that is relative to its Extended partition table
>   */
> -static int get_partition_info_extended (block_dev_desc_t *dev_desc, int 
> ext_part_sector,
> -  int relative, int part_num,
> +static int get_partition_info_extended (block_dev_desc_t *dev_desc,
> +  lbaint_t ext_part_sector,
> +  lbaint_t relative, int part_num,
>int which_part, disk_partition_t *info,
>unsigned int disksig)
>  {
> @@ -173,7 +177,7 @@ static int get_partition_info_extended (block_dev_desc_t 
> *dev_desc, int ext_part
>   int dos_type;
 
>   if (dev_desc->block_read (dev_desc->dev, ext_part_sector, 1, (ulong *) 
> buffer) != 1) {
> - printf ("** Can't read partition table on %d:%d **\n",
> + printf ("** Can't read partition table on %d:" LBAFU " **\n",
dev_desc-> dev, ext_part_sector);
>   return -1;
>   }
> @@ -249,7 +253,8 @@ static int get_partition_info_extended (block_dev_desc_t 
> *dev_desc, int ext_part
>   pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET);
>   for (i = 0; i < 4; i++, pt++) {
>   if (is_extended (pt->sys_ind)) {
> - int lba_start = le32_to_int (pt->start4) + relative;
> + lbaint_t lba_start
> + = le32_to_int (pt->start4) + relative;
 
>   return get_partition_info_extended (dev_desc, lba_start,
>ext_part_sector == 0 ? lba_start : relative,
> diff --git a/include/ide.h 

Re: [U-Boot] [PATCH] Don't wrap to negative after 2G sectors

2015-09-03 Thread Stefan Monnier
Ping?


Stefan

> "Stefan" == Stefan Monnier  writes:

> Signed-off-by: Stefan Monnier 
> ---
>  disk/part_dos.c | 29 +
>  include/ide.h   |  8 
>  2 files changed, 21 insertions(+), 16 deletions(-)

> diff --git a/disk/part_dos.c b/disk/part_dos.c
> index cf1a36e..adde68a 100644
> --- a/disk/part_dos.c
> +++ b/disk/part_dos.c
> @@ -25,7 +25,7 @@
 
>  /* Convert char[4] in little endian format to the host format integer
>   */
> -static inline int le32_to_int(unsigned char *le32)
> +static inline unsigned int le32_to_int(unsigned char *le32)
>  {
>  return ((le32[3] << 24) +
>   (le32[2] << 16) +
> @@ -46,13 +46,14 @@ static inline int is_bootable(dos_partition_t *p)
>   return p->boot_ind == 0x80;
>  }
 
> -static void print_one_part(dos_partition_t *p, int ext_part_sector,
> +static void print_one_part(dos_partition_t *p, lbaint_t ext_part_sector,
>  int part_num, unsigned int disksig)
>  {
> - int lba_start = ext_part_sector + le32_to_int (p->start4);
> - int lba_size  = le32_to_int (p->size4);
> + lbaint_t lba_start = ext_part_sector + le32_to_int (p->start4);
> + lbaint_t lba_size  = le32_to_int (p->size4);
 
> - printf("%3d\t%-10d\t%-10d\t%08x-%02x\t%02x%s%s\n",
> + printf("%3d\t%-10" LBAFlength "u\t%-10" LBAFlength
> + "u\t%08x-%02x\t%02x%s%s\n",
>   part_num, lba_start, lba_size, disksig, part_num, p->sys_ind,
>   (is_extended(p->sys_ind) ? " Extd" : ""),
>   (is_bootable(p) ? " Boot" : ""));
> @@ -101,7 +102,8 @@ int test_part_dos (block_dev_desc_t *dev_desc)
>  /*  Print a partition that is relative to its Extended partition table
>   */
>  static void print_partition_extended(block_dev_desc_t *dev_desc,
> -  int ext_part_sector, int relative,
> +  lbaint_t ext_part_sector,
> +  lbaint_t relative,
>int part_num, unsigned int disksig)
>  {
>   ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);
> @@ -109,7 +111,7 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
>   int i;
 
>   if (dev_desc->block_read(dev_desc->dev, ext_part_sector, 1, (ulong *) 
> buffer) != 1) {
> - printf ("** Can't read partition table on %d:%d **\n",
> + printf ("** Can't read partition table on %d:" LBAFU " **\n",
dev_desc-> dev, ext_part_sector);
>   return;
>   }
> @@ -148,7 +150,8 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
>   pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET);
>   for (i = 0; i < 4; i++, pt++) {
>   if (is_extended (pt->sys_ind)) {
> - int lba_start = le32_to_int (pt->start4) + relative;
> + lbaint_t lba_start
> + = le32_to_int (pt->start4) + relative;
 
>   print_partition_extended(dev_desc, lba_start,
>   ext_part_sector == 0  ? lba_start : relative,
> @@ -162,8 +165,9 @@ static void print_partition_extended(block_dev_desc_t 
> *dev_desc,
 
>  /*  Print a partition that is relative to its Extended partition table
>   */
> -static int get_partition_info_extended (block_dev_desc_t *dev_desc, int 
> ext_part_sector,
> -  int relative, int part_num,
> +static int get_partition_info_extended (block_dev_desc_t *dev_desc,
> +  lbaint_t ext_part_sector,
> +  lbaint_t relative, int part_num,
>int which_part, disk_partition_t *info,
>unsigned int disksig)
>  {
> @@ -173,7 +177,7 @@ static int get_partition_info_extended (block_dev_desc_t 
> *dev_desc, int ext_part
>   int dos_type;
 
>   if (dev_desc->block_read (dev_desc->dev, ext_part_sector, 1, (ulong *) 
> buffer) != 1) {
> - printf ("** Can't read partition table on %d:%d **\n",
> + printf ("** Can't read partition table on %d:" LBAFU " **\n",
dev_desc-> dev, ext_part_sector);
>   return -1;
>   }
> @@ -249,7 +253,8 @@ static int get_partition_info_extended (block_dev_desc_t 
> *dev_desc, int ext_part
>   pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET);
>   for (i = 0; i < 4; i++, pt++) {
>   if (is_extended (pt->sys_ind)) {
> - int lba_start = le32_to_int (pt->start4) + relative;
> + lbaint_t lba_start
> + = le32_to_int (pt->start4) + relative;
 
>   return get_partition_info_extended (dev_desc, lba_start,
>ext_part_sector == 0 ? lba_start : relative,
> diff --git a/include/ide.h b/include/ide.h
> index d5e05e9..f9b43cb 100644