From patchwork Mon Jan 28 08:59:25 2013
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Piotr Wilczek
X-Patchwork-Id: 216125
X-Patchwork-Delegate: trini@ti.com
Return-Path:
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
Received: from theia.denx.de (theia.denx.de [85.214.87.163])
by ozlabs.org (Postfix) with ESMTP id F33132C007C
for ;
Mon, 28 Jan 2013 20:00:34 +1100 (EST)
Received: from localhost (localhost [127.0.0.1])
by theia.denx.de (Postfix) with ESMTP id C47F14A02E;
Mon, 28 Jan 2013 10:00:24 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at theia.denx.de
Received: from theia.denx.de ([127.0.0.1])
by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id 9QkaJvl9Mo8x; Mon, 28 Jan 2013 10:00:24 +0100 (CET)
Received: from theia.denx.de (localhost [127.0.0.1])
by theia.denx.de (Postfix) with ESMTP id 301CE4A0B8;
Mon, 28 Jan 2013 10:00:13 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
by theia.denx.de (Postfix) with ESMTP id D54ED4A0AF
for ; Mon, 28 Jan 2013 10:00:10 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at theia.denx.de
Received: from theia.denx.de ([127.0.0.1])
by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id Oq3M6q3Z+i3c for ;
Mon, 28 Jan 2013 09:59:59 +0100 (CET)
X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5
NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested)
Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25])
by theia.denx.de (Postfix) with ESMTP id 83F0F4A0A9
for ; Mon, 28 Jan 2013 09:59:51 +0100 (CET)
Received: from epcpsbgm2.samsung.com (epcpsbgm2 [203.254.230.27])
by mailout2.samsung.com
(Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit
(built Nov
17 2011)) with ESMTP id <0MHB00GD1VNO2GA0@mailout2.samsung.com> for
u-boot@lists.denx.de; Mon, 28 Jan 2013 17:59:48 +0900 (KST)
X-AuditID: cbfee61b-b7fb06d000000f28-55-51063e044a59
Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA)
with SMTP id D9.A5.03880.40E36015;
Mon, 28 Jan 2013 17:59:48 +0900 (KST)
Received: from mcdsrvbld02.digital.local ([106.116.37.23])
by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01
(7.0.4.24.0) 64bit (built Nov 17 2011))
with ESMTPA id <0MHB00HLGVN69Z00@mmp2.samsung.com> for
u-boot@lists.denx.de; Mon, 28 Jan 2013 17:59:48 +0900 (KST)
From: Piotr Wilczek
To: u-boot@lists.denx.de
Date: Mon, 28 Jan 2013 09:59:25 +0100
Message-id: <1359363565-19313-3-git-send-email-p.wilczek@samsung.com>
X-Mailer: git-send-email 1.7.10
In-reply-to: <1359363565-19313-1-git-send-email-p.wilczek@samsung.com>
References: <1359363565-19313-1-git-send-email-p.wilczek@samsung.com>
X-Brightmail-Tracker:
H4sIAAAAAAAAA+NgFnrEJMWRmVeSWpSXmKPExsVy+t9jQV0WO7ZAg7+fDCze7u1kd2D0OHtn
B2MAYxSXTUpqTmZZapG+XQJXxrJtfUwFi/kq2r5MZW9g3M3dxcjJISFgInF7zgJWCFtM4sK9
9WxdjFwcQgLTGSV2/1sPlhASWMwksWVuEYjNJqAtsfzNG0YQW0RAQuJX/1VGkAZmgVeMElM+
7AVq4OAQFjCQ+DlXHaSGRUBVovf5DbA5vAKuEp2TjzBCLJOXeHq/jw3E5hRwk9j2/j7ULleJ
O58nME9g5F3AyLCKUTS1ILmgOCk910ivODG3uDQvXS85P3cTI9jnz6R3MK5qsDjEKMDBqMTD
+yONJVCINbGsuDL3EKMEB7OSCG/MGdZAId6UxMqq1KL8+KLSnNTiQ4zSHCxK4ryMp54ECAmk
J5akZqemFqQWwWSZODilGhh7DVbPuK0Xz7lsStNl6+1XmaQOX11bN8HN962M3e6QpJIl3f/a
El76/73IMCdgq/iL3A3dNldjDaMuZ7TZn1/xV0psv1XQyqDMX4zMxV6HGxmO+Lp432VY+eGa
YNnc/yx/9yk88fa9tEkqwY1dN+jIzh9zpV8ydTXHTLj550Wei2+xklGAwnIlluKMREMt5qLi
RAAqeavn9QEAAA==
Cc: Stephen Warren ,
Piotr Wilczek ,
Kyungmin Park , Tom Rini
Subject: [U-Boot] [PATCH 2/2] gpt: fix partion size limit
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: U-Boot discussion
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
MIME-Version: 1.0
Sender: u-boot-bounces@lists.denx.de
Errors-To: u-boot-bounces@lists.denx.de
Currently, in gpt command, partion size is converted from string
to unsigned long type using 'ustrtol' function. That type limits
the partition size to 4GB.
This patch changes the conversion function to 'ustrtoll' to return
unsigned long long type.
Signed-off-by: Piotr Wilczek
Signed-off-by: Kyungmin Park
---
common/cmd_gpt.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/common/cmd_gpt.c b/common/cmd_gpt.c
index da7705d..efd7934 100644
--- a/common/cmd_gpt.c
+++ b/common/cmd_gpt.c
@@ -27,6 +27,7 @@
#include
#include
#include
+#include
#ifndef CONFIG_PARTITION_UUIDS
#error CONFIG_PARTITION_UUIDS must be enabled for CONFIG_CMD_GPT to be enabled
@@ -131,6 +132,7 @@ static int set_gpt_info(block_dev_desc_t *dev_desc,
int p_count;
disk_partition_t *parts;
int errno = 0;
+ uint64_t size_ll, start_ll;
debug("%s: MMC lba num: 0x%x %d\n", __func__,
(unsigned int)dev_desc->lba, (unsigned int)dev_desc->lba);
@@ -217,8 +219,8 @@ static int set_gpt_info(block_dev_desc_t *dev_desc,
}
if (extract_env(val, &p))
p = val;
- parts[i].size = ustrtoul(p, &p, 0);
- parts[i].size /= dev_desc->blksz;
+ size_ll = ustrtoull(p, &p, 0);
+ parts[i].size = lldiv(size_ll, dev_desc->blksz);
free(val);
/* start address */
@@ -226,8 +228,8 @@ static int set_gpt_info(block_dev_desc_t *dev_desc,
if (val) { /* start address is optional */
if (extract_env(val, &p))
p = val;
- parts[i].start = ustrtoul(p, &p, 0);
- parts[i].start /= dev_desc->blksz;
+ start_ll = ustrtoull(p, &p, 0);
+ parts[i].start = lldiv(start_ll, dev_desc->blksz);
free(val);
}
}