Adds support for the Hyper-V SCSI controller as part of the hyperv_scsi
driver. This driver enables the use of Hyper-V generation 2 VMs as
the SCSI controller is the only storage method supported.
IDE hard disks can be supported in the future on generation 1 VMs by
this driver, but this will require a mechansim to prevent the ATA
bus manager from handling hard disks and conflicting with this one.
Change-Id: Iabb9c0471578caf1ef80754f39a09e1ce0eb4249
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10504
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Currently when querying ACPI for the PCI interrupt routing table,
PNP0A03 is always used. Some systems such as X99/C610 and newer
HEDT platforms have multiple PCI host bridges, including PCI and
PCIe. This may result in the incorrect PCI bridge being queried
for routing, causing a failure during IO-APIC configuration.
This change moves to query PNP0A08 first, falling back to PNP0A03
as needed for older systems. This should resolve#19981.
Change-Id: I2ac5d5e74626787fb28d4a209027e142158d1c66
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10557
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Currently the IO-APIC is fully initialized after PCI initialization
resulting in the IO-APIC not being initialized on systems without a
PCI bus (i.e. Hyper-V Gen2 VMs). This change moves IO-APIC
initialization to occur during early init, deferring PCI interrupt
enumeration and routing until after PCI initialization has been
completed.
Change-Id: I00be0be05d2e7668c3c6bc7af3afc4ff8d04a129
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10414
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: X512 X512 <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Some devices such as graphics and PCI passthrough bridges require
MMIO space. Add this as a device node attribute if present.
Change-Id: Id374ff61c29c1ccad10e3a7f3f7053c14d02aa5e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10483
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Currently the size of the bitmap cursor passed to the accelerant
is the upper bounds coordinate. This is incorrect and should be
the actual size of the cursor.
Change-Id: I7be05a78125d0c22843c2ace56a8ab5bda67a014
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10456
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Currently, a packet being read is split into header and data buffers.
Change to a single buffer to simplify logic in drivers, especially
for those that receive packets with variable sized headers.
This change also implements the pending send size functionality for
the receive buffer.
Change-Id: Ic4a3698fcfe813fbcf4fd9c1941102b5adaeb3b2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10418
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Change default interrupt value to be invalid, current default is a
valid interrupt on x86 platforms.
Change-Id: Ieecf7bcbc6b0aeb4fe62a505ae9765c73ecaa74c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10401
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Some hypervisors claim to implement/advertise Hyper-V i.e. Xen and
VirtualBox. Check for all required features when probing to prevent
loading on hypervisors that do not fully comply with Hyper-V
specifications.
Change-Id: I7c1188a433cad5eff91dcffe9520a55926d0f4b5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10400
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Haiku currently does not have any form of Hyper-V guest support, and
this change begins work toward #16664.
This change implements initial VMBus bus/device structure and functions.
Change-Id: I2d081f55e99da479d9bc5084f1815ade6cc77fe2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10333
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Fallback to DBG2 if SPCR is not present while discovering UART serial
devices. DBG2 is newer than SPCR but does not provide the same
information, and it appears that both can exist on the same system.
This has only been tested in Hyper-V which exposes DBG2.
Change-Id: I6a75114f4287b6db289b544c3b80a66a625fb6c6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10354
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Hyper-V does not use the standard hypervisor CPUID leaf for TSC
frequency reporting, causing time drift on Gen1 VMs as the PIT is
considered unreliable. Gen2 VMs do not emulate a PIT and require
the use of this MSR.
Change-Id: I38cbdb9f8de7259b5cb4bc195d0e6585d76782c2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10339
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>