// mbr_ext_offset: 在MBR中的扩展分区记录里的偏移地址
// lba_partition_table: 扩展分区的真实偏移地址
void read_partition_table(ide_drive_t *drv, uint32_t mbr_ext_offset, uint32_t lba_partition_table, int depth) {
- disk_request_t r;
+ // disk_request_t r;
char *sect = kmalloc(SECT_SIZE, 0);
#if 1
s->cnt++;
} else {
semaphore_waiter_t *waiter = list_first_entry(&s->wait_list, semaphore_waiter_t, list);
+ assert(waiter != 0);
list_del(&waiter->list);
task_t *task = waiter->task;
r.pos = sect_nr;
r.count = 1;
r.buf = disk_buf1;
+ r.bb = 0;
+
send_disk_request(&r);
// verify_hd_data(sect_nr, disk_buf1, current->name);
r.pos = sect_nr;
r.count = 1;
r.buf = disk_buf2;
+ r.bb = 0;
+
send_disk_request(&r);
- // verify_hd_data(sect_nr, disk_buf2, current->name);
+ // verify_hd_data(sect_nr, disk_buf2, current->name);
for (int i = 0; i < 1; i++) {
asm("hlt;");