From 3aae21ab63efe37cb6c8c94bf011fc3d36b58728 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 20 May 2013 13:14:07 +0200 Subject: [PATCH] virtio: integrate into the build and image * device_manager: scans busses/virtio for network device types and scsi controllers. --- build/jam/HaikuImage | 5 +++++ src/add-ons/kernel/bus_managers/Jamfile | 1 + src/add-ons/kernel/busses/Jamfile | 1 + src/add-ons/kernel/drivers/disk/virtual/Jamfile | 1 + src/system/kernel/device_manager/device_manager.cpp | 2 ++ 5 files changed, 10 insertions(+) diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage index 4a7e1f05a6..3f7f4fc03a 100644 --- a/build/jam/HaikuImage +++ b/build/jam/HaikuImage @@ -188,6 +188,7 @@ SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures acpi_button@x86 ] ; SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures ata@ata pci ps2@x86,x86_64 isa@x86,x86_64 ide@ide scsi config_manager agp_gart@x86 usb firewire@x86 acpi@x86 + virtio ] ; SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs btrfs cdda exfat ext2 fat iso9660 nfs nfs4 attribute_overlay write_overlay ntfs reiserfs@x86 udf googlefs ; @@ -229,6 +230,8 @@ AddFilesToHaikuImage system add-ons kernel busses scsi : ahci ; AddFilesToHaikuImage system add-ons kernel busses usb : uhci ohci ehci ; +AddFilesToHaikuImage system add-ons kernel busses virtio + : virtio_pci@x86 ; AddFilesToHaikuImage system add-ons kernel console : vga_text ; AddFilesToHaikuImage system add-ons kernel debugger : demangle disasm@x86 hangman @@ -250,6 +253,7 @@ if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 { # drivers AddNewDriversToHaikuImage disk scsi : scsi_cd scsi_disk ; +AddNewDriversToHaikuImage disk virtual : virtio_block ; AddNewDriversToHaikuImage power : enhanced_speedstep@x86 ; AddNewDriversToHaikuImage power : acpi_battery@x86 ; #AddNewDriversToHaikuImage display : display_controls@x86 ; @@ -607,6 +611,7 @@ AddBootModuleSymlinksToHaikuImage ide_isa@x86 uhci ohci ehci scsi_cd scsi_disk usb_disk + virtio virtio_pci virtio_block efi_gpt intel bfs diff --git a/src/add-ons/kernel/bus_managers/Jamfile b/src/add-ons/kernel/bus_managers/Jamfile index 319c6317a4..f1de07bb5b 100644 --- a/src/add-ons/kernel/bus_managers/Jamfile +++ b/src/add-ons/kernel/bus_managers/Jamfile @@ -12,3 +12,4 @@ SubInclude HAIKU_TOP src add-ons kernel bus_managers ps2 ; SubInclude HAIKU_TOP src add-ons kernel bus_managers scsi ; SubInclude HAIKU_TOP src add-ons kernel bus_managers tty ; SubInclude HAIKU_TOP src add-ons kernel bus_managers usb ; +SubInclude HAIKU_TOP src add-ons kernel bus_managers virtio ; diff --git a/src/add-ons/kernel/busses/Jamfile b/src/add-ons/kernel/busses/Jamfile index 7f3e607e7b..2c9ee48853 100644 --- a/src/add-ons/kernel/busses/Jamfile +++ b/src/add-ons/kernel/busses/Jamfile @@ -10,3 +10,4 @@ if $(HAIKU_ATA_STACK) = 1 { SubInclude HAIKU_TOP src add-ons kernel busses agp_gart ; SubInclude HAIKU_TOP src add-ons kernel busses scsi ; SubInclude HAIKU_TOP src add-ons kernel busses usb ; +SubInclude HAIKU_TOP src add-ons kernel busses virtio ; diff --git a/src/add-ons/kernel/drivers/disk/virtual/Jamfile b/src/add-ons/kernel/drivers/disk/virtual/Jamfile index 7952c77f19..6165da530d 100644 --- a/src/add-ons/kernel/drivers/disk/virtual/Jamfile +++ b/src/add-ons/kernel/drivers/disk/virtual/Jamfile @@ -3,3 +3,4 @@ SubDir HAIKU_TOP src add-ons kernel drivers disk virtual ; #SubInclude HAIKU_TOP src add-ons kernel drivers disk virtual fmap ; SubInclude HAIKU_TOP src add-ons kernel drivers disk virtual nbd ; SubInclude HAIKU_TOP src add-ons kernel drivers disk virtual remote_disk ; +SubInclude HAIKU_TOP src add-ons kernel drivers disk virtual virtio_block ; diff --git a/src/system/kernel/device_manager/device_manager.cpp b/src/system/kernel/device_manager/device_manager.cpp index ec71aa1294..27e04080f1 100644 --- a/src/system/kernel/device_manager/device_manager.cpp +++ b/src/system/kernel/device_manager/device_manager.cpp @@ -1552,6 +1552,7 @@ device_node::_GetNextDriverPath(void*& cookie, KPath& _path) switch (subType) { case PCI_scsi: _AddPath(*stack, "busses", "scsi"); + _AddPath(*stack, "busses", "virtio"); break; case PCI_ide: _AddPath(*stack, "busses", "ata"); @@ -1583,6 +1584,7 @@ device_node::_GetNextDriverPath(void*& cookie, KPath& _path) break; case PCI_network: _AddPath(*stack, "drivers", "net"); + _AddPath(*stack, "busses", "virtio"); break; case PCI_display: _AddPath(*stack, "drivers", "graphics");