Changeset 81089 in vbox for trunk/src/VBox/Devices/PC/BIOS
- Timestamp:
- Sep 30, 2019 10:21:06 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 133695
- Location:
- trunk/src/VBox/Devices/PC/BIOS
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/Makefile.kmk
r76553 r81089 79 79 $(VBoxPcBios32_0_OUTDIR)/VBoxPcBios32.lib \ 80 80 orgs.asm 81 82 ifdef VBOX_WITH_VIRTIO_SCSI_BIOS 83 VBoxPcBios386_DEFS += \ 84 VBOX_WITH_VIRTIO_SCSI 85 VBoxPcBios386_SOURCES += \ 86 virtio.c 87 endif 88 81 89 #$(VBoxPcBios32_1_TARGET) - reference is lost when extending the target. weird. 82 90 -
trunk/src/VBox/Devices/PC/BIOS/ebda.h
r78406 r81089 89 89 #endif 90 90 91 #define BX_MAX_STORAGE_DEVICES (BX_MAX_ATA_DEVICES + BX_MAX_SCSI_DEVICES + BX_MAX_AHCI_DEVICES) 91 #ifdef VBOX_WITH_VIRTIO_SCSI 92 /* Four should be enough for now */ 93 #define BX_MAX_VIRTIO_SCSI_DEVICES 4 94 95 /* An AHCI device starts always at BX_MAX_ATA_DEVICES + BX_MAX_SCSI_DEVICES. */ 96 #define VBOX_IS_VIRTIO_SCSI_DEVICE(device_id) (device_id >= (BX_MAX_ATA_DEVICES + BX_MAX_SCSI_DEVICES + BX_MAX_AHCI_DEVICES)) 97 #define VBOX_GET_VIRTIO_SCSI_DEVICE(device_id) (device_id - (BX_MAX_ATA_DEVICES + BX_MAX_SCSI_DEVICES + BX_MAX_AHCI_DEVICES)) 98 #else 99 #define BX_MAX_VIRTIO_SCSI_DEVICES 0 100 #endif 101 102 #define BX_MAX_STORAGE_DEVICES (BX_MAX_ATA_DEVICES + BX_MAX_SCSI_DEVICES + BX_MAX_AHCI_DEVICES + BX_MAX_VIRTIO_SCSI_DEVICES) 92 103 93 104 /* Generic storage device types. These depend on the controller type and … … 200 211 #endif 201 212 213 #ifdef VBOX_WITH_VIRTIO_SCSI 214 215 /* VirtIO SCSI specific device information. */ 216 typedef struct { 217 uint8_t target; /* Target ID. */ 218 } virtio_scsi_dev_t; 219 220 #endif 221 202 222 /* Generic disk information. */ 203 223 typedef struct { … … 276 296 #endif 277 297 298 #ifdef VBOX_WITH_VIRTIO_SCSI 299 /* VirtIO SCSI bus-specific device information. */ 300 virtio_scsi_dev_t virtiodev[BX_MAX_VIRTIO_SCSI_DEVICES]; 301 uint8_t virtio_devcnt; /* Number of VirtIO devices. */ 302 uint16_t virtio_seg; /* Segment of VirtIO data block. */ 303 #endif 304 278 305 dpte_t dpte; /* Buffer for building a DPTE. */ 279 306 } bio_dsk_t; … … 308 335 fdpt_t fdpt1; 309 336 337 #ifndef VBOX_WITH_VIRTIO_SCSI /** @todo For development only, need to find a real solution to voercome the 1KB limit. */ 310 338 uint8_t filler2[0xC4]; 339 #endif 311 340 312 341 bio_dsk_t bdisk; /* Disk driver data (ATA/SCSI/AHCI). */ -
trunk/src/VBox/Devices/PC/BIOS/orgs.asm
r76553 r81089 144 144 extrn _ahci_init:near 145 145 endif 146 ifdef VBOX_WITH_VIRTIO_SCSI 147 extrn _virtio_scsi_init:near 148 endif 146 149 if VBOX_BIOS_CPU ge 80286 147 150 extrn _int15_blkmove:near … … 645 648 endif 646 649 650 ifdef VBOX_WITH_VIRTIO_SCSI 651 ; VirtIO-SCSI driver setup 652 call _virtio_scsi_init 653 endif 654 647 655 ;; floppy setup 648 656 call floppy_post
Note:
See TracChangeset
for help on using the changeset viewer.