MBR.c 511 B

1234567891011121314151617
  1. #include "MBR.h"
  2. #include <common/kprint.h>
  3. #include <driver/disk/ahci/ahci.h>
  4. struct MBR_disk_partition_table_t MBR_partition_tables[MBR_MAX_AHCI_CTRL_NUM][MBR_MAX_AHCI_PORT_NUM] = {0};
  5. /**
  6. * @brief 读取磁盘的分区表
  7. *
  8. * @param ahci_ctrl_num ahci控制器编号
  9. * @param ahci_port_num ahci端口编号
  10. * @param buf 输出缓冲区(512字节)
  11. */
  12. int MBR_read_partition_table(struct blk_gendisk *gd, void *buf)
  13. {
  14. return gd->fops->transfer(gd, AHCI_CMD_READ_DMA_EXT, 0, 1, (uint64_t)buf);
  15. }