jalavoui Posted March 30, 2024 Share Posted March 30, 2024 (edited) https://elixir.bootlin.com/linux/latest/source/drivers/pci/controller/vmd.c Trying to start a new project static const struct pci_device_id vmd_ids[] = { {PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_VMD_201D), .driver_data = VMD_FEAT_HAS_MEMBAR_SHADOW_VSCAP,}, {PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_VMD_28C0), .driver_data = VMD_FEAT_HAS_MEMBAR_SHADOW | VMD_FEAT_HAS_BUS_RESTRICTIONS | VMD_FEAT_CAN_BYPASS_MSI_REMAP,}, {PCI_VDEVICE(INTEL, 0x467f), .driver_data = VMD_FEATS_CLIENT,}, {PCI_VDEVICE(INTEL, 0x4c3d), .driver_data = VMD_FEATS_CLIENT,}, {PCI_VDEVICE(INTEL, 0xa77f), .driver_data = VMD_FEATS_CLIENT,}, {PCI_VDEVICE(INTEL, 0x7d0b), .driver_data = VMD_FEATS_CLIENT,}, {PCI_VDEVICE(INTEL, 0xad0b), .driver_data = VMD_FEATS_CLIENT,}, {PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_VMD_9A0B), .driver_data = VMD_FEATS_CLIENT,}, {0,} }; https://github.com/Artoria2e5/SatSmartDriver_kext https://cgit.freebsd.org/src/tree/sys/dev/vmd/vmd.c Edited March 30, 2024 by jalavoui Link to comment https://www.insanelymac.com/forum/topic/359084-intel-volume-management-device/ Share on other sites More sharing options...
jalavoui Posted April 13, 2024 Author Share Posted April 13, 2024 meanwhile the workaround is disable it in bios and the disk will be available as sata device on macos Link to comment https://www.insanelymac.com/forum/topic/359084-intel-volume-management-device/#findComment-2819091 Share on other sites More sharing options...
jalavoui Posted July 29, 2024 Author Share Posted July 29, 2024 (edited) starting code from freebsd/linux todo: a lot Edited August 5, 2024 by jalavoui Link to comment https://www.insanelymac.com/forum/topic/359084-intel-volume-management-device/#findComment-2823445 Share on other sites More sharing options...
jalavoui Posted March 16, 2025 Author Share Posted March 16, 2025 (edited) this is why the device as bugged 32 bits memory bars... guess this afects many other devices that require BAR0 tobe 64 bits on linux this is reg 0x10: [mem 0x6000000000-0x6001ffffff 64bit] on os x... gonna try hack this with some variables using ssdt injection think might be a opencore option to solve this... Edited March 16, 2025 by jalavoui Link to comment https://www.insanelymac.com/forum/topic/359084-intel-volume-management-device/#findComment-2830929 Share on other sites More sharing options...
jalavoui Posted March 23, 2025 Author Share Posted March 23, 2025 (edited) this looks like it is working (detection only) guess a small but important step the mac os "conversion" of bars to 32 bits makes this impossible so injecting linux/windows addresses allows driver to detect devices. check ioregistry for values Edited April 10, 2025 by jalavoui 2 Link to comment https://www.insanelymac.com/forum/topic/359084-intel-volume-management-device/#findComment-2831066 Share on other sites More sharing options...
jalavoui Posted April 10, 2025 Author Share Posted April 10, 2025 (edited) mac os now as accepted the new devices in the pci table. buses start at 0xe0 todo: correct interrupts and bridge setup Edited May 4, 2025 by jalavoui 1 Link to comment https://www.insanelymac.com/forum/topic/359084-intel-volume-management-device/#findComment-2831424 Share on other sites More sharing options...
jalavoui Posted May 1, 2025 Author Share Posted May 1, 2025 (edited) much better IntelVMD.zip Edited October 20, 2025 by jalavoui 1 Link to comment https://www.insanelymac.com/forum/topic/359084-intel-volume-management-device/#findComment-2831966 Share on other sites More sharing options...
jalavoui Posted November 25, 2025 Author Share Posted November 25, 2025 (edited) can apple create a host bridge like linux ? this is the result. the code logic changed a lot IntelVMD.zip Edited February 17 by jalavoui Link to comment https://www.insanelymac.com/forum/topic/359084-intel-volume-management-device/#findComment-2844168 Share on other sites More sharing options...
jalavoui Posted February 14 Author Share Posted February 14 (edited) IONVMeController does some acpi-path checks and if the device not on pci root. it fails great ! IONVMeController also check for acpi-device var if i use apple code to detect devices with configOpParams cp = {.device = fBridgeDevice, .op = kConfigOpScan, .result = nullptr}; i get valid devices with all apple internal properties working but that doesn't help cause then i have 10% of things todo that make it impossible due to apple internal code Edited February 14 by jalavoui Link to comment https://www.insanelymac.com/forum/topic/359084-intel-volume-management-device/#findComment-2847381 Share on other sites More sharing options...
Recommended Posts