@ -60,23 +60,23 @@ static int part_mac_read_pdb (block_dev_desc_t *dev_desc, int part, mac_partitio
*/
int test_part_mac ( block_dev_desc_t * dev_desc )
{
mac_driver_desc_t ddesc ;
mac_partition_t mpart ;
ALLOC_CACHE_ALIGN_BUFFER ( mac_driver_desc_t , ddesc , 1 ) ;
ALLOC_CACHE_ALIGN_BUFFER ( mac_partition_t , mpart , 1 ) ;
ulong i , n ;
if ( part_mac_read_ddb ( dev_desc , & ddesc ) ) {
if ( part_mac_read_ddb ( dev_desc , ddesc ) ) {
/* error reading Driver Desriptor Block, or no valid Signature */
return ( - 1 ) ;
}
n = 1 ; /* assuming at least one partition */
for ( i = 1 ; i < = n ; + + i ) {
if ( ( dev_desc - > block_read ( dev_desc - > dev , i , 1 , ( ulong * ) & mpart ) ! = 1 ) | |
( mpart . signature ! = MAC_PARTITION_MAGIC ) ) {
if ( ( dev_desc - > block_read ( dev_desc - > dev , i , 1 , ( ulong * ) mpart ) ! = 1 ) | |
( mpart - > signature ! = MAC_PARTITION_MAGIC ) ) {
return ( - 1 ) ;
}
/* update partition count */
n = mpart . map_count ;
n = mpart - > map_count ;
}
return ( 0 ) ;
}
@ -85,20 +85,20 @@ int test_part_mac (block_dev_desc_t *dev_desc)
void print_part_mac ( block_dev_desc_t * dev_desc )
{
ulong i , n ;
mac_driver_desc_t ddesc ;
mac_partition_t mpart ;
ALLOC_CACHE_ALIGN_BUFFER ( mac_driver_desc_t , ddesc , 1 ) ;
ALLOC_CACHE_ALIGN_BUFFER ( mac_partition_t , mpart , 1 ) ;
ldiv_t mb , gb ;
if ( part_mac_read_ddb ( dev_desc , & ddesc ) ) {
if ( part_mac_read_ddb ( dev_desc , ddesc ) ) {
/* error reading Driver Desriptor Block, or no valid Signature */
return ;
}
n = ddesc . blk_count ;
n = ddesc - > blk_count ;
mb = ldiv ( n , ( ( 1024 * 1024 ) / ddesc . blk_size ) ) ; /* MB */
mb = ldiv ( n , ( ( 1024 * 1024 ) / ddesc - > blk_size ) ) ; /* MB */
/* round to 1 digit */
mb . rem * = 10 * ddesc . blk_size ;
mb . rem * = 10 * ddesc - > blk_size ;
mb . rem + = 512 * 1024 ;
mb . rem / = 1024 * 1024 ;
@ -112,10 +112,10 @@ void print_part_mac (block_dev_desc_t *dev_desc)
" DeviceType=0x%x, DeviceId=0x%x \n \n "
" #: type name "
" length base (size) \n " ,
ddesc . blk_size ,
ddesc . blk_count ,
ddesc - > blk_size ,
ddesc - > blk_count ,
mb . quot , mb . rem , gb . quot , gb . rem ,
ddesc . dev_type , ddesc . dev_id
ddesc - > dev_type , ddesc - > dev_id
) ;
n = 1 ; /* assuming at least one partition */
@ -124,25 +124,25 @@ void print_part_mac (block_dev_desc_t *dev_desc)
char c ;
printf ( " %4ld: " , i ) ;
if ( dev_desc - > block_read ( dev_desc - > dev , i , 1 , ( ulong * ) & mpart ) ! = 1 ) {
if ( dev_desc - > block_read ( dev_desc - > dev , i , 1 , ( ulong * ) mpart ) ! = 1 ) {
printf ( " ** Can't read Partition Map on %d:%ld ** \n " ,
dev_desc - > dev , i ) ;
return ;
}
if ( mpart . signature ! = MAC_PARTITION_MAGIC ) {
if ( mpart - > signature ! = MAC_PARTITION_MAGIC ) {
printf ( " ** Bad Signature on %d:%ld - "
" expected 0x%04x, got 0x%04x \n " ,
dev_desc - > dev , i , MAC_PARTITION_MAGIC , mpart . signature ) ;
dev_desc - > dev , i , MAC_PARTITION_MAGIC , mpart - > signature ) ;
return ;
}
/* update partition count */
n = mpart . map_count ;
n = mpart - > map_count ;
c = ' k ' ;
bytes = mpart . block_count ;
bytes / = ( 1024 / ddesc . blk_size ) ; /* kB; assumes blk_size == 512 */
bytes = mpart - > block_count ;
bytes / = ( 1024 / ddesc - > blk_size ) ; /* kB; assumes blk_size == 512 */
if ( bytes > = 1024 ) {
bytes > > = 10 ;
c = ' M ' ;
@ -153,10 +153,10 @@ void print_part_mac (block_dev_desc_t *dev_desc)
}
printf ( " %20.32s %-18.32s %10u @ %-10u (%3ld%c) \n " ,
mpart . type ,
mpart . name ,
mpart . block_count ,
mpart . start_block ,
mpart - > type ,
mpart - > name ,
mpart - > block_count ,
mpart - > start_block ,
bytes , c
) ;
}
@ -231,23 +231,23 @@ static int part_mac_read_pdb (block_dev_desc_t *dev_desc, int part, mac_partitio
int get_partition_info_mac ( block_dev_desc_t * dev_desc , int part , disk_partition_t * info )
{
mac_driver_desc_t ddesc ;
mac_partition_t mpart ;
ALLOC_CACHE_ALIGN_BUFFER ( mac_driver_desc_t , ddesc , 1 ) ;
ALLOC_CACHE_ALIGN_BUFFER ( mac_partition_t , mpart , 1 ) ;
if ( part_mac_read_ddb ( dev_desc , & ddesc ) ) {
if ( part_mac_read_ddb ( dev_desc , ddesc ) ) {
return ( - 1 ) ;
}
info - > blksz = ddesc . blk_size ;
info - > blksz = ddesc - > blk_size ;
if ( part_mac_read_pdb ( dev_desc , part , & mpart ) ) {
if ( part_mac_read_pdb ( dev_desc , part , mpart ) ) {
return ( - 1 ) ;
}
info - > start = mpart . start_block ;
info - > size = mpart . block_count ;
memcpy ( info - > type , mpart . type , sizeof ( info - > type ) ) ;
memcpy ( info - > name , mpart . name , sizeof ( info - > name ) ) ;
info - > start = mpart - > start_block ;
info - > size = mpart - > block_count ;
memcpy ( info - > type , mpart - > type , sizeof ( info - > type ) ) ;
memcpy ( info - > name , mpart - > name , sizeof ( info - > name ) ) ;
return ( 0 ) ;
}