diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/block.c | 17 | ||||
-rw-r--r-- | src/block.h | 1 | ||||
-rw-r--r-- | src/post.c | 22 |
3 files changed, 19 insertions, 21 deletions
diff --git a/src/block.c b/src/block.c index b4530fc..515ac9d 100644 --- a/src/block.c +++ b/src/block.c @@ -9,7 +9,6 @@ #include "block.h" // process_op #include "hw/ata.h" // process_ata_op #include "hw/ahci.h" // process_ahci_op -#include "hw/blockcmd.h" // cdb_* #include "hw/esp-scsi.h" // esp_scsi_process_op #include "hw/lsi-scsi.h" // lsi_scsi_process_op #include "hw/megasas.h" // megasas_process_op @@ -487,6 +486,22 @@ fill_edd(struct segoff_s edd, struct drive_s *drive_gf) * Disk driver dispatch ****************************************************************/ +void +block_setup(void) +{ + floppy_setup(); + ata_setup(); + ahci_setup(); + sdcard_setup(); + ramdisk_setup(); + virtio_blk_setup(); + virtio_scsi_setup(); + lsi_scsi_setup(); + esp_scsi_setup(); + megasas_setup(); + pvscsi_setup(); +} + // Fallback handler for command requests not implemented by drivers int default_process_op(struct disk_op_s *op) diff --git a/src/block.h b/src/block.h index 2ff359f..8f4c1aa 100644 --- a/src/block.h +++ b/src/block.h @@ -111,6 +111,7 @@ void map_hd_drive(struct drive_s *drive); void map_cd_drive(struct drive_s *drive); struct int13dpt_s; int fill_edd(struct segoff_s edd, struct drive_s *drive_gf); +void block_setup(void); int default_process_op(struct disk_op_s *op); int process_op(struct disk_op_s *op); int send_disk_op(struct disk_op_s *op); @@ -6,24 +6,17 @@ // This file may be distributed under the terms of the GNU LGPLv3 license. #include "biosvar.h" // SET_BDA +#include "block.h" // block_setup #include "bregs.h" // struct bregs #include "config.h" // CONFIG_* #include "e820map.h" // e820_add #include "fw/paravirt.h" // qemu_cfg_preinit #include "fw/xen.h" // xen_preinit -#include "hw/ahci.h" // ahci_setup -#include "hw/ata.h" // ata_setup -#include "hw/esp-scsi.h" // esp_scsi_setup -#include "hw/lsi-scsi.h" // lsi_scsi_setup -#include "hw/megasas.h" // megasas_setup -#include "hw/pvscsi.h" // pvscsi_setup #include "hw/pic.h" // pic_setup #include "hw/ps2port.h" // ps2port_setup #include "hw/rtc.h" // rtc_write #include "hw/serialio.h" // serial_debug_preinit #include "hw/usb.h" // usb_setup -#include "hw/virtio-blk.h" // virtio_blk_setup -#include "hw/virtio-scsi.h" // virtio_scsi_setup #include "malloc.h" // malloc_init #include "memmap.h" // SYMBOL #include "output.h" // dprintf @@ -134,21 +127,10 @@ device_hardware_setup(void) { usb_setup(); ps2port_setup(); + block_setup(); lpt_setup(); serial_setup(); - - floppy_setup(); - ata_setup(); - ahci_setup(); - sdcard_setup(); cbfs_payload_setup(); - ramdisk_setup(); - virtio_blk_setup(); - virtio_scsi_setup(); - lsi_scsi_setup(); - esp_scsi_setup(); - megasas_setup(); - pvscsi_setup(); } static void |