misc cleanup
[rpi-open-firmware.git] / arm_chainloader / drivers / mbr_disk.cc
index 2f2d021..ff24b1f 100644 (file)
@@ -37,12 +37,6 @@ struct MbrPartition {
        uint8_t         part_ehd;               /* end head */\r
        uint8_t         part_esect;             /* end sector */\r
        uint8_t         part_ecyl;              /* end cylinder */\r
-#if 0\r
-       uint16_t        part_start_lo;          /* absolute starting ... */\r
-       uint16_t        part_start_hi;          /* ... sector number */\r
-       uint16_t        part_size_lo;           /* partition size ... */\r
-       uint16_t        part_size_hi;           /* ... in sectors */\r
-#endif\r
        uint32_t part_start;\r
        uint32_t part_size;\r
 } __attribute__((packed));\r
@@ -55,27 +49,13 @@ struct Mbr {
        uint16_t         mbr_sig;\r
 } __attribute__((packed));\r
 \r
-static_assert(sizeof(Mbr) >= 512, "What the fuck");\r
-\r
-#define MBR_FAT16 0x04 \r
-#define MBR_FAT32 0x0B \r
+#define MBR_FAT16 0x04\r
+#define MBR_FAT32 0x0B\r
 #define MBR_FAT32_INT13 0x0C\r
 #define MBR_FAT16_INT13 0x0E\r
 #define MBR_LINUX 0x83\r
 #define MBR_NTFS 0x07\r
 \r
-static const char* mbr_fs_to_string(int fs) {\r
-       switch (fs) {\r
-               case MBR_FAT32: return "FAT32"; \r
-               case MBR_FAT32_INT13: return "FAT32-INT13"; \r
-               case MBR_FAT16_INT13: return "FAT16-INT13";\r
-               case MBR_FAT16: return "FAT16";\r
-               case MBR_LINUX: return "Linux (ext2/ext3)";\r
-               case MBR_NTFS: return "NTFS";\r
-               default: return "<Unknown>";\r
-       }\r
-}\r
-\r
 struct MbrImpl {\r
        Mbr* mbr;\r
        BlockDevice* mmc;\r
@@ -96,7 +76,7 @@ struct MbrImpl {
        inline int get_partition_type(uint8_t volume) {\r
                if (volume > 3)\r
                        return 0;\r
-               return mbr->mbr_part[volume].part_typ;  \r
+               return mbr->mbr_part[volume].part_typ;\r
        }\r
 \r
        bool read_block(uint8_t volume, uint32_t sector, uint32_t* buf) {\r
@@ -114,28 +94,19 @@ struct MbrImpl {
        void read_mbr() {\r
                logf("Reading master boot record ...\n");\r
 \r
-               if (!mmc->read_block(0, mbr)) {\r
+               if (!mmc->read_block(0, mbr))\r
                        panic("unable to read master boot record from the SD card");\r
-               }\r
 \r
-               if (!validate_signature()) {\r
-                        panic("invalid master boot record signature (got 0x%x)", mbr->mbr_sig);\r
-               }\r
-\r
-               logf("MBR contents:\n");\r
-\r
-               for (int i = 0; i < 4; i++) {\r
-                       MbrPartition& p = mbr->mbr_part[i];\r
-                       printf("    %d: %s at:%d size:%d\n", i, mbr_fs_to_string(p.part_typ), p.part_start, p.part_size);\r
-               }\r
+               if (!validate_signature())\r
+                       panic("invalid master boot record signature (got 0x%x)", mbr->mbr_sig);\r
        }\r
 \r
        MbrImpl() {\r
                mbr = new Mbr;\r
                mmc = get_sdhost_device();\r
-               if (!mmc) {\r
+               if (!mmc)\r
                        panic("parent block device not initilalized!");\r
-               }\r
+\r
                read_mbr();\r
                logf("Disk ready!\n");\r
        }\r
@@ -159,13 +130,13 @@ DSTATUS disk_initialize (BYTE pdrv) {
 \r
        BYTE pt = g_MbrDisk.get_partition_type(pdrv);\r
        switch (pt) {\r
-               case MBR_FAT32_INT13:\r
-               case MBR_FAT16_INT13:\r
-               case MBR_FAT32:\r
-               case MBR_FAT16:\r
-                       logf("Mounting FAT partition %d of type 0x%x\n", pdrv, pt);\r
-                       g_FatFsDiskInitialized = true;\r
-                       return static_cast<DRESULT>(0);\r
+       case MBR_FAT32_INT13:\r
+       case MBR_FAT16_INT13:\r
+       case MBR_FAT32:\r
+       case MBR_FAT16:\r
+               logf("Mounting FAT partition %d of type 0x%x\n", pdrv, pt);\r
+               g_FatFsDiskInitialized = true;\r
+               return static_cast<DRESULT>(0);\r
        }\r
        logf("Disk %d isn't a FAT volume (partition type is 0x%x)!\n", pdrv, pt);\r
        return STA_NOINIT;\r
@@ -176,8 +147,7 @@ DSTATUS disk_status (BYTE pdrv) {
 }\r
 \r
 DRESULT disk_read (BYTE pdrv, BYTE* buff, DWORD sector, UINT count) {\r
-       while (count--)\r
-       {\r
+       while (count--) {\r
                g_MbrDisk.read_block(pdrv, sector, buff);\r
                sector++;\r
                buff += g_MbrDisk.get_block_size();\r
@@ -186,21 +156,20 @@ DRESULT disk_read (BYTE pdrv, BYTE* buff, DWORD sector, UINT count) {
 }\r
 \r
 DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff) {\r
-       switch (cmd)\r
-       {\r
-               case CTRL_SYNC:\r
-                       return (DRESULT)0;\r
-               case GET_SECTOR_SIZE:\r
-                       *(WORD*)buff = g_MbrDisk.get_block_size();\r
-                       return (DRESULT)0;\r
-\r
-               case GET_SECTOR_COUNT:\r
-                       *(WORD*)buff = 0;\r
-                       return (DRESULT)0;\r
-\r
-               case GET_BLOCK_SIZE:\r
-                       *(WORD*)buff = 1;\r
-                       return (DRESULT)0;\r
+       switch (cmd) {\r
+       case CTRL_SYNC:\r
+               return (DRESULT)0;\r
+       case GET_SECTOR_SIZE:\r
+               *(WORD*)buff = g_MbrDisk.get_block_size();\r
+               return (DRESULT)0;\r
+\r
+       case GET_SECTOR_COUNT:\r
+               *(WORD*)buff = 0;\r
+               return (DRESULT)0;\r
+\r
+       case GET_BLOCK_SIZE:\r
+               *(WORD*)buff = 1;\r
+               return (DRESULT)0;\r
        }\r
        return RES_PARERR;\r
 }\r
This page took 0.031022 seconds and 4 git commands to generate.