mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-11 13:08:31 -04:00
disk: part_dos: print partition UUID in partition list
This information may be useful to compare against command "part uuid", or if you want to manually paste the information into the kernel command-line. Signed-off-by: Stephen Warren <swarren@nvidia.com> [trini: print_one_part / print_part_dos output strings didn't quite match before the changes] Signed-off-by: Tom Rini <trini@ti.com>
This commit is contained in:
parent
304b571130
commit
e2e9b37898
@ -66,13 +66,13 @@ static inline int is_bootable(dos_partition_t *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void print_one_part(dos_partition_t *p, int ext_part_sector,
|
static void print_one_part(dos_partition_t *p, int ext_part_sector,
|
||||||
int part_num)
|
int part_num, unsigned int disksig)
|
||||||
{
|
{
|
||||||
int lba_start = ext_part_sector + le32_to_int (p->start4);
|
int lba_start = ext_part_sector + le32_to_int (p->start4);
|
||||||
int lba_size = le32_to_int (p->size4);
|
int lba_size = le32_to_int (p->size4);
|
||||||
|
|
||||||
printf("%5d\t\t%10d\t%10d\t%2x%s%s\n",
|
printf("%3d\t%-10d\t%-10d\t%08x-%02x\t%02x%s%s\n",
|
||||||
part_num, lba_start, lba_size, p->sys_ind,
|
part_num, lba_start, lba_size, disksig, part_num, p->sys_ind,
|
||||||
(is_extended(p->sys_ind) ? " Extd" : ""),
|
(is_extended(p->sys_ind) ? " Extd" : ""),
|
||||||
(is_bootable(p) ? " Boot" : ""));
|
(is_bootable(p) ? " Boot" : ""));
|
||||||
}
|
}
|
||||||
@ -108,7 +108,7 @@ int test_part_dos (block_dev_desc_t *dev_desc)
|
|||||||
*/
|
*/
|
||||||
static void print_partition_extended(block_dev_desc_t *dev_desc,
|
static void print_partition_extended(block_dev_desc_t *dev_desc,
|
||||||
int ext_part_sector, int relative,
|
int ext_part_sector, int relative,
|
||||||
int part_num)
|
int part_num, unsigned int disksig)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);
|
ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);
|
||||||
dos_partition_t *pt;
|
dos_partition_t *pt;
|
||||||
@ -127,6 +127,9 @@ static void print_partition_extended(block_dev_desc_t *dev_desc,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!ext_part_sector)
|
||||||
|
disksig = le32_to_int(&buffer[DOS_PART_DISKSIG_OFFSET]);
|
||||||
|
|
||||||
/* Print all primary/logical partitions */
|
/* Print all primary/logical partitions */
|
||||||
pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET);
|
pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET);
|
||||||
for (i = 0; i < 4; i++, pt++) {
|
for (i = 0; i < 4; i++, pt++) {
|
||||||
@ -137,7 +140,7 @@ static void print_partition_extended(block_dev_desc_t *dev_desc,
|
|||||||
|
|
||||||
if ((pt->sys_ind != 0) &&
|
if ((pt->sys_ind != 0) &&
|
||||||
(ext_part_sector == 0 || !is_extended (pt->sys_ind)) ) {
|
(ext_part_sector == 0 || !is_extended (pt->sys_ind)) ) {
|
||||||
print_one_part(pt, ext_part_sector, part_num);
|
print_one_part(pt, ext_part_sector, part_num, disksig);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reverse engr the fdisk part# assignment rule! */
|
/* Reverse engr the fdisk part# assignment rule! */
|
||||||
@ -155,7 +158,7 @@ static void print_partition_extended(block_dev_desc_t *dev_desc,
|
|||||||
|
|
||||||
print_partition_extended(dev_desc, lba_start,
|
print_partition_extended(dev_desc, lba_start,
|
||||||
ext_part_sector == 0 ? lba_start : relative,
|
ext_part_sector == 0 ? lba_start : relative,
|
||||||
part_num);
|
part_num, disksig);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -262,8 +265,8 @@ static int get_partition_info_extended (block_dev_desc_t *dev_desc, int ext_part
|
|||||||
|
|
||||||
void print_part_dos (block_dev_desc_t *dev_desc)
|
void print_part_dos (block_dev_desc_t *dev_desc)
|
||||||
{
|
{
|
||||||
printf("Partition Start Sector Num Sectors Type\n");
|
printf("Part\tStart Sector\tNum Sectors\tUUID\t\tType\n");
|
||||||
print_partition_extended(dev_desc, 0, 0, 1);
|
print_partition_extended(dev_desc, 0, 0, 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int get_partition_info_dos (block_dev_desc_t *dev_desc, int part, disk_partition_t * info)
|
int get_partition_info_dos (block_dev_desc_t *dev_desc, int part, disk_partition_t * info)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user