Jump to content

VT-d problems in macOS


badbrain
 Share

58 posts in this topic

Recommended Posts

3 hours ago, Max.1974 said:

ACPI Dump and my DMAR comes out (apparently) without defects.

Intel Serie 500+ has no RM regions.

  • Thanks 1
Link to comment
Share on other sites

After disabling the DMAR table mods in my hack's EFI, I am seeing consistently (albeit slightly) improved GeekBench 6 Metal benchmarks (Radeon RX 560x).  Benchmarks showing this improvement are repeatable.  Is this what others would have expected?  Note that my hack does not require the DMAR table modification or OC's DisableIoMapper quirk when VT-d is enabled in BIOS.  My original and modified DMAR tables are attached.  My current EFI is also attached. 

 

My hack's config is as follows:

  • HP EliteDesk 800 G4 Mini (Intel Q370 Chipset, Intel i5-8600 CPU, 32GB DDR4-2666 RAM)
  • Radeon RX 560x 4GB Mobile dGPU
  • non-headless iGPU FrameBuffer (0x3e920000)
  • SMBIOS macMini8,1

 

EDIT: Thank you @ird for inspecting the attached files and notifiying me about the incorrect original DMAR table that I had posted.  Attached is the correct original DMAR table (which now includes the Reserved XHCI region).

Modified-DMAR.aml.zip EFI-MM81-RX560x-OC100-23.zip Original-DMAR.aml.zip

Edited by deeveedee
Link to comment
Share on other sites

Thanks to @ird for reviewing my previous post and informing me that I had attached the wrong original-DMAR table.  My previous post now attaches the correct original-DMAR table (which includes the Reserved XHCI Region at PCI Path 14,00 as it should).  @ird Asked a question for which I don't know the answer: What is at PCI Path 16,07 (also a Reserved Region in my original-DMAR table that I attached in my previous post)?

 

Reserved Memory Region, PCI Path 16,07

Spoiler

Screenshot2024-07-19at8_46_36AM.png.216a4ba0e54d727889a12d95827bddd7.png

 

 If I inspect IOReg dump, I see IMEI @16.

 

Screenshot2024-07-19at8_42_10AM.thumb.png.ce0f93081e287448c2b14a4634fe9a88.png

Edited by deeveedee
Link to comment
Share on other sites

@Mieze Thank you for the quick response!  Yes, I know what IMEI is.  I was simply stating that my original/unpatched DMAR table includes Reserved Memory Region for PCI Path 16,07 and the closest I could find in IOReg Dump was IMEI @16.   Is the Reserved Memory PCI Path 16,07 for IMEI?

Edited by deeveedee
Link to comment
Share on other sites

2 hours ago, deeveedee said:

@Mieze Thank you for the quick response!  Yes, I know what IMEI is.  I was simply stating that my original/unpatched DMAR table includes Reserved Memory Region for PCI Path 16,07 and the closest I could find in IOReg Dump was IMEI @16.   Is the Reserved Memory PCI Path 16,07 for IMEI?

No, 16.07 is not same as 16.00. They are different devices.

Make Clover's preboot.log and see PCI bus. I dunno how you should do this with OC.

  • Thanks 1
Link to comment
Share on other sites

Based on what has been discussed in this thread so far, is it safe to say that this Dortania documentation (which states that all Reserved Regions should be dropped from the DMAR table) is incorrect?  The "evidence" we have so far is that the DMAR table in a real MacMini8,1 includes a Reserved Region for iGPU @02,00 and Mieze's concerns here that dropping Reserved Regions from DMAR may have unintended consequences.  At a minimum, maybe the Dortania docs need to be revised to suggest that only conflicting Reserved Regions (e.g., XHCI @14,00) should be dropped from DMAR?

 

EDIT: If that is the case and if I needed to patch DMAR for my hack, the original and modified DMAR tables for my hack are as attached.

 

EDIT: See Slice's conclusion here after reviewing my posted MacMini8,1 DMAR.

Modified_DMAR.aml.zip Original_DMAR.aml.zip

Edited by deeveedee
  • Like 1
Link to comment
Share on other sites

On 7/19/2024 at 1:32 PM, deeveedee said:

@Mieze Thank you for the quick response!  Yes, I know what IMEI is.  I was simply stating that my original/unpatched DMAR table includes Reserved Memory Region for PCI Path 16,07 and the closest I could find in IOReg Dump was IMEI @16.   Is the Reserved Memory PCI Path 16,07 for IMEI?

 

On 7/19/2024 at 4:22 PM, Slice said:

No, 16.07 is not same as 16.00. They are different devices.

Make Clover's preboot.log and see PCI bus. I dunno how you should do this with OC.

 

Here's lspci dump from within Linux. Strangely, no 16.07 device shows up on PCI bus:

 

sudo lspci -v
00:00.0 Host bridge: Intel Corporation Device 3ec2 (rev 07)
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: bus master, fast devsel, latency 0
	Capabilities: [e0] Vendor Specific Information: Len=10 <?>
	Kernel driver in use: skl_uncore

00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 122
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00003000-00003fff [size=4K]
	Memory behind bridge: c1200000-c12fffff [size=1M]
	Prefetchable memory behind bridge: 0000004080000000-00000041ffffffff [size=6G]
	Capabilities: [88] Subsystem: Hewlett-Packard Company Device 83e2
	Capabilities: [80] Power Management version 3
	Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [a0] Express Root Port (Slot+), MSI 00
	Capabilities: [100] Virtual Channel
	Capabilities: [140] Root Complex Link
	Capabilities: [d94] Secondary PCI Express
	Kernel driver in use: pcieport

00:02.0 VGA compatible controller: Intel Corporation Device 3e92 (prog-if 00 [VGA controller])
	DeviceName: Onboard IGD
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: bus master, fast devsel, latency 0, IRQ 143
	Memory at c0000000 (64-bit, non-prefetchable) [size=16M]
	Memory at b0000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 4000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: [40] Vendor Specific Information: Len=0c <?>
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [100] Process Address Space ID (PASID)
	Capabilities: [200] Address Translation Service (ATS)
	Capabilities: [300] Page Request Interface (PRI)
	Kernel driver in use: i915
	Kernel modules: i915

00:12.0 Signal processing controller: Intel Corporation Device a379 (rev 10)
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: fast devsel, IRQ 16
	Memory at 4000107000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [50] Power Management version 3
	Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
	Kernel driver in use: intel_pch_thermal
	Kernel modules: intel_pch_thermal

00:14.0 USB controller: Intel Corporation Device a36d (rev 10) (prog-if 30 [XHCI])
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: bus master, medium devsel, latency 0, IRQ 127
	Memory at c1320000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [70] Power Management version 2
	Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: xhci_hcd

00:14.2 RAM memory: Intel Corporation Device a36f (rev 10)
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: fast devsel
	Memory at c1332000 (64-bit, non-prefetchable) [disabled] [size=8K]
	Memory at 4000106000 (64-bit, non-prefetchable) [disabled] [size=4K]
	Capabilities: [80] Power Management version 3

00:16.0 Communication controller: Intel Corporation Device a360 (rev 10)
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: bus master, fast devsel, latency 0, IRQ 135
	Memory at 4000105000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [50] Power Management version 3
	Capabilities: [8c] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [a4] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: mei_me
	Kernel modules: mei_me

00:16.3 Serial controller: Intel Corporation Device a363 (rev 10) (prog-if 02 [16550])
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: 66MHz, fast devsel, IRQ 19
	I/O ports at 4088 [size=8]
	Memory at c1337000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [40] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [50] Power Management version 3
	Kernel driver in use: serial
	Kernel modules: 8250_pci

00:17.0 SATA controller: Intel Corporation Device a352 (rev 10) (prog-if 01 [AHCI 1.0])
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 125
	Memory at c1330000 (32-bit, non-prefetchable) [size=8K]
	Memory at c1336000 (32-bit, non-prefetchable) [size=256]
	I/O ports at 4080 [size=8]
	I/O ports at 4090 [size=4]
	I/O ports at 4060 [size=32]
	Memory at c1335000 (32-bit, non-prefetchable) [size=2K]
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [70] Power Management version 3
	Capabilities: [a8] SATA HBA v1.0
	Kernel driver in use: ahci

00:1b.0 PCI bridge: Intel Corporation Device a32c (rev f0) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 123
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: [disabled]
	Memory behind bridge: c1100000-c11fffff [size=1M]
	Prefetchable memory behind bridge: [disabled]
	Capabilities: [40] Express Root Port (Slot+), MSI 00
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [90] Subsystem: Hewlett-Packard Company Device 83e2
	Capabilities: [a0] Power Management version 3
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Access Control Services
	Capabilities: [150] Precision Time Measurement
	Capabilities: [200] L1 PM Substates
	Capabilities: [220] Secondary PCI Express
	Capabilities: [250] Downstream Port Containment
	Kernel driver in use: pcieport

00:1c.0 PCI bridge: Intel Corporation Device a33f (rev f0) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 124
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: [disabled]
	Memory behind bridge: c1000000-c10fffff [size=1M]
	Prefetchable memory behind bridge: [disabled]
	Capabilities: [40] Express Root Port (Slot+), MSI 00
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [90] Subsystem: Hewlett-Packard Company Device 83e2
	Capabilities: [a0] Power Management version 3
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Access Control Services
	Capabilities: [150] Precision Time Measurement
	Capabilities: [200] L1 PM Substates
	Capabilities: [220] Secondary PCI Express
	Capabilities: [250] Downstream Port Containment
	Kernel driver in use: pcieport

00:1f.0 ISA bridge: Intel Corporation Device a306 (rev 10)
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: bus master, fast devsel, latency 0

00:1f.3 Audio device: Intel Corporation Device a348 (rev 10)
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: bus master, fast devsel, latency 64, IRQ 145
	Memory at 4000100000 (64-bit, non-prefetchable) [size=16K]
	Memory at 4000000000 (64-bit, non-prefetchable) [size=1M]
	Capabilities: [50] Power Management version 3
	Capabilities: [80] Vendor Specific Information: Len=14 <?>
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci_intel_cnl

00:1f.4 SMBus: Intel Corporation Device a323 (rev 10)
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: medium devsel, IRQ 16
	Memory at 4000104000 (64-bit, non-prefetchable) [size=256]
	I/O ports at efa0 [size=32]
	Kernel driver in use: i801_smbus
	Kernel modules: i2c_i801

00:1f.5 Serial bus controller [0c80]: Intel Corporation Device a324 (rev 10)
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: fast devsel
	Memory at fe010000 (32-bit, non-prefetchable) [size=4K]

00:1f.6 Ethernet controller: Intel Corporation Device 15bb (rev 10)
	DeviceName: Onboard Lan
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: bus master, fast devsel, latency 0, IRQ 134
	Memory at c1300000 (32-bit, non-prefetchable) [size=128K]
	Capabilities: [c8] Power Management version 3
	Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Kernel driver in use: e1000e
	Kernel modules: e1000e

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 67ff (rev ef) (prog-if 00 [VGA controller])
	Subsystem: Hewlett-Packard Company Device 83e2
	Flags: bus master, fast devsel, latency 0, IRQ 144
	Memory at 4100000000 (64-bit, prefetchable) [size=4G]
	Memory at 4080000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 3000 [size=256]
	Memory at c1200000 (32-bit, non-prefetchable) [size=256K]
	Expansion ROM at c1260000 [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
	Capabilities: [58] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [150] Advanced Error Reporting
	Capabilities: [200] Physical Resizable BAR
	Capabilities: [270] Secondary PCI Express
	Capabilities: [2b0] Address Translation Service (ATS)
	Capabilities: [2c0] Page Request Interface (PRI)
	Capabilities: [2d0] Process Address Space ID (PASID)
	Capabilities: [320] Latency Tolerance Reporting
	Capabilities: [328] Alternative Routing-ID Interpretation (ARI)
	Capabilities: [370] L1 PM Substates
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu

01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device aae0
	Subsystem: Hewlett-Packard Company Device aae0
	Flags: bus master, fast devsel, latency 0, IRQ 136
	Memory at c1240000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
	Capabilities: [58] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [150] Advanced Error Reporting
	Capabilities: [328] Alternative Routing-ID Interpretation (ARI)
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

02:00.0 Non-Volatile memory controller: Device 1e4b:1602 (rev 01) (prog-if 02 [NVM Express])
	Subsystem: Device 1e4b:1602
	Flags: bus master, fast devsel, latency 0, IRQ 16, NUMA node 0
	Memory at c1100000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
	Capabilities: [50] MSI: Enable- Count=1/32 Maskable+ 64bit+
	Capabilities: [70] Express Endpoint, MSI 1f
	Capabilities: [b0] MSI-X: Enable+ Count=17 Masked-
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [148] Device Serial Number 00-00-00-00-00-00-00-00
	Capabilities: [158] Power Budgeting <?>
	Capabilities: [168] Alternative Routing-ID Interpretation (ARI)
	Capabilities: [178] Secondary PCI Express
	Capabilities: [198] Physical Layer 16.0 GT/s <?>
	Capabilities: [1bc] Lane Margining at the Receiver <?>
	Capabilities: [220] Latency Tolerance Reporting
	Capabilities: [228] L1 PM Substates
	Capabilities: [238] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?>
	Capabilities: [338] Vendor Specific Information: ID=0001 Rev=1 Len=038 <?>
	Capabilities: [370] Data Link Feature <?>
	Kernel driver in use: nvme

03:00.0 Network controller: Intel Corporation Device 2526 (rev 29)
	Subsystem: Intel Corporation Device 0014
	Flags: bus master, fast devsel, latency 0, IRQ 19
	Memory at c1000000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [c8] Power Management version 3
	Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [40] Express Endpoint, MSI 00
	Capabilities: [80] MSI-X: Enable+ Count=16 Masked-
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [14c] Latency Tolerance Reporting
	Capabilities: [154] L1 PM Substates
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi

 

  • Thanks 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...