# Some basic questions on Kernel hardware support (IOMMU, etc)

## nihil39

Hi,

I just want to know if I have to enable the IOMMU related options in the kernel, if I my hardware is capable of using it.

I have a core i3 2310M (i will post the detailed specs later) and an old core2duo whose specs are:

```
 description: Portable Computer

    product: Vostro 1400 ()

    vendor: Winbond Electronics

    serial: H5P753J

    width: 64 bits

    capabilities: smbios-2.4 dmi-2.4 vsyscall32

    configuration: boot=normal chassis=portable uuid=44454C4C-3500-1050-8037-C8C04F35334A

  *-core

       description: Motherboard

       vendor: Winbond Electronics

       physical id: 0

       serial: .H5P753J.              .

     *-firmware

          description: BIOS

          vendor: Winbond Electronics

          physical id: 0

          version: A09

          date: 07/10/2008

          size: 64KiB

          capacity: 960KiB

          capabilities: isa pci pcmcia pnp upgrade shadowing cdboot bootselect int13floppy720 int5printscreen int9keyboard int14serial int17printer int10video acpi usb agp smartbattery biosbootspecification netboot

     *-cpu

          description: CPU

          product: Intel(R) Core(TM)2 Duo CPU     T7300  @ 2.00GHz

          vendor: Intel Corp.

          physical id: 400

          bus info: cpu@0

          slot: Microprocessor

          size: 2001MHz

          capacity: 2001MHz

          width: 64 bits

          clock: 200MHz

          capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida dtherm tpr_shadow vnmi flexpriority cpufreq

          configuration: cores=2 enabledcores=2 threads=2

        *-cache:0

             description: L1 cache

             physical id: 700

             size: 32KiB

             capacity: 32KiB

             capabilities: internal write-back data

        *-cache:1

             description: L2 cache

             physical id: 701

             size: 4MiB

             capacity: 4MiB

             clock: 66MHz (15.0ns)

             capabilities: pipeline-burst internal varies unified

     *-memory

          description: System Memory

          physical id: 1000

          slot: System board or motherboard

          size: 2GiB

        *-bank:0

             description: DIMM DDR Synchronous 667 MHz (1.5 ns)

             product: HYMP512S64CP8-Y5

             vendor: Hynix Semiconductor (Hyundai Electronics)

             physical id: 0

             serial: 04008147

             slot: DIMM_A

             size: 1GiB

             width: 64 bits

             clock: 667MHz (1.5ns)

        *-bank:1

             description: DIMM DDR Synchronous 667 MHz (1.5 ns)

             product: HYMP512S64CP8-Y5

             vendor: Hynix Semiconductor (Hyundai Electronics)

             physical id: 1

             serial: 00003205

             slot: DIMM_B

             size: 1GiB

             width: 64 bits

             clock: 667MHz (1.5ns)

     *-pci

          description: Host bridge

          product: Mobile PM965/GM965/GL960 Memory Controller Hub

          vendor: Intel Corporation

          physical id: 100

          bus info: pci@0000:00:00.0

          version: 0c

          width: 32 bits

          clock: 33MHz

        *-pci:0

             description: PCI bridge

             product: Mobile PM965/GM965/GL960 PCI Express Root Port

             vendor: Intel Corporation

             physical id: 1

             bus info: pci@0000:00:01.0

             version: 0c

             width: 32 bits

             clock: 33MHz

             capabilities: pci pm msi pciexpress normal_decode bus_master cap_list

             configuration: driver=pcieport

             resources: irq:16 ioport:d000(size=4096) memory:fa000000-feafffff ioport:e0000000(size=268435456)

           *-display

                description: VGA compatible controller

                product: G86 [GeForce 8400M GS]

                vendor: NVIDIA Corporation

                physical id: 0

                bus info: pci@0000:01:00.0

                version: a1

                width: 64 bits

                clock: 33MHz

                capabilities: pm msi pciexpress vga_controller bus_master cap_list rom

                configuration: driver=nvidia latency=0

                resources: irq:16 memory:fd000000-fdffffff memory:e0000000-efffffff memory:fa000000-fbffffff ioport:df00(size=128) memory:fc000000-fc01ffff

        *-usb:0

             description: USB controller

             product: 82801H (ICH8 Family) USB UHCI Controller #4

             vendor: Intel Corporation

             physical id: 1a

             bus info: pci@0000:00:1a.0

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: uhci bus_master

             configuration: driver=uhci_hcd latency=0

             resources: irq:20 ioport:6f20(size=32)

        *-usb:1

             description: USB controller

             product: 82801H (ICH8 Family) USB UHCI Controller #5

             vendor: Intel Corporation

             physical id: 1a.1

             bus info: pci@0000:00:1a.1

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: uhci bus_master

             configuration: driver=uhci_hcd latency=0

             resources: irq:21 ioport:6f00(size=32)

        *-usb:2

             description: USB controller

             product: 82801H (ICH8 Family) USB2 EHCI Controller #2

             vendor: Intel Corporation

             physical id: 1a.7

             bus info: pci@0000:00:1a.7

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: pm debug ehci bus_master cap_list

             configuration: driver=ehci_hcd latency=0

             resources: irq:22 memory:fed1c400-fed1c7ff

        *-multimedia

             description: Audio device

             product: 82801H (ICH8 Family) HD Audio Controller

             vendor: Intel Corporation

             physical id: 1b

             bus info: pci@0000:00:1b.0

             version: 02

             width: 64 bits

             clock: 33MHz

             capabilities: pm msi pciexpress bus_master cap_list

             configuration: driver=snd_hda_intel latency=0

             resources: irq:21 memory:febfc000-febfffff

        *-pci:1

             description: PCI bridge

             product: 82801H (ICH8 Family) PCI Express Port 1

             vendor: Intel Corporation

             physical id: 1c

             bus info: pci@0000:00:1c.0

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list

             configuration: driver=pcieport

             resources: irq:16 ioport:2000(size=4096) memory:80000000-801fffff ioport:80200000(size=2097152)

        *-pci:2

             description: PCI bridge

             product: 82801H (ICH8 Family) PCI Express Port 2

             vendor: Intel Corporation

             physical id: 1c.1

             bus info: pci@0000:00:1c.1

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list

             configuration: driver=pcieport

             resources: irq:17 ioport:3000(size=4096) memory:f9f00000-f9ffffff ioport:80400000(size=2097152)

           *-network

                description: Wireless interface

                product: PRO/Wireless 4965 AG or AGN [Kedron] Network Connection

                vendor: Intel Corporation

                physical id: 0

                bus info: pci@0000:0c:00.0

                logical name: wlan0

                version: 61

                serial: 00:13:e8:ad:1c:3f

                width: 64 bits

                clock: 33MHz

                capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless

                configuration: broadcast=yes driver=iwl4965 driverversion=3.4.9-gentoo firmware=228.61.2.24 ip=192.168.0.3 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn

                resources: irq:17 memory:f9ffe000-f9ffffff

        *-pci:3

             description: PCI bridge

             product: 82801H (ICH8 Family) PCI Express Port 4

             vendor: Intel Corporation

             physical id: 1c.3

             bus info: pci@0000:00:1c.3

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list

             configuration: driver=pcieport

             resources: irq:19 ioport:c000(size=4096) memory:f9c00000-f9efffff ioport:f0000000(size=2097152)

        *-pci:4

             description: PCI bridge

             product: 82801H (ICH8 Family) PCI Express Port 6

             vendor: Intel Corporation

             physical id: 1c.5

             bus info: pci@0000:00:1c.5

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list

             configuration: driver=pcieport

             resources: irq:17 ioport:4000(size=4096) memory:f9b00000-f9bfffff ioport:80600000(size=2097152)

           *-network

                description: Ethernet interface

                product: NetLink BCM5906M Fast Ethernet PCI Express

                vendor: Broadcom Corporation

                physical id: 0

                bus info: pci@0000:09:00.0

                logical name: eth0

                version: 02

                serial: 00:1c:23:fd:fe:0e

                capacity: 100Mbit/s

                width: 64 bits

                clock: 33MHz

                capabilities: pm vpd msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation

                configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.123 firmware=sb v3.04 latency=0 link=no multicast=yes port=twisted pair

                resources: irq:17 memory:f9bf0000-f9bfffff

        *-usb:3

             description: USB controller

             product: 82801H (ICH8 Family) USB UHCI Controller #1

             vendor: Intel Corporation

             physical id: 1d

             bus info: pci@0000:00:1d.0

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: uhci bus_master

             configuration: driver=uhci_hcd latency=0

             resources: irq:20 ioport:6f80(size=32)

        *-usb:4

             description: USB controller

             product: 82801H (ICH8 Family) USB UHCI Controller #2

             vendor: Intel Corporation

             physical id: 1d.1

             bus info: pci@0000:00:1d.1

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: uhci bus_master

             configuration: driver=uhci_hcd latency=0

             resources: irq:21 ioport:6f60(size=32)

        *-usb:5

             description: USB controller

             product: 82801H (ICH8 Family) USB UHCI Controller #3

             vendor: Intel Corporation

             physical id: 1d.2

             bus info: pci@0000:00:1d.2

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: uhci bus_master

             configuration: driver=uhci_hcd latency=0

             resources: irq:22 ioport:6f40(size=32)

        *-usb:6

             description: USB controller

             product: 82801H (ICH8 Family) USB2 EHCI Controller #1

             vendor: Intel Corporation

             physical id: 1d.7

             bus info: pci@0000:00:1d.7

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: pm debug ehci bus_master cap_list

             configuration: driver=ehci_hcd latency=0

             resources: irq:20 memory:fed1c000-fed1c3ff

        *-pci:5

             description: PCI bridge

             product: 82801 Mobile PCI Bridge

             vendor: Intel Corporation

             physical id: 1e

             bus info: pci@0000:00:1e.0

             version: f2

             width: 32 bits

             clock: 33MHz

             capabilities: pci subtractive_decode bus_master cap_list

             resources: memory:f9a00000-f9afffff

           *-firewire UNCLAIMED

                description: FireWire (IEEE 1394)

                product: R5C832 IEEE 1394 Controller

                vendor: Ricoh Co Ltd

                physical id: 1

                bus info: pci@0000:03:01.0

                version: 05

                width: 32 bits

                clock: 33MHz

                capabilities: pm ohci bus_master cap_list

                configuration: latency=64 maxlatency=4 mingnt=2

                resources: memory:f9aff800-f9afffff

           *-generic:0

                description: SD Host controller

                product: R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter

                vendor: Ricoh Co Ltd

                physical id: 1.1

                bus info: pci@0000:03:01.1

                version: 22

                width: 32 bits

                clock: 33MHz

                capabilities: pm bus_master cap_list

                configuration: driver=sdhci-pci latency=64

                resources: irq:18 memory:f9aff400-f9aff4ff

           *-generic:1 UNCLAIMED

                description: System peripheral

                product: R5C592 Memory Stick Bus Host Adapter

                vendor: Ricoh Co Ltd

                physical id: 1.2

                bus info: pci@0000:03:01.2

                version: 12

                width: 32 bits

                clock: 33MHz

                capabilities: pm bus_master cap_list

                configuration: latency=64

                resources: memory:f9aff600-f9aff6ff

           *-generic:2 UNCLAIMED

                description: System peripheral

                product: xD-Picture Card Controller

                vendor: Ricoh Co Ltd

                physical id: 1.3

                bus info: pci@0000:03:01.3

                version: 12

                width: 32 bits

                clock: 33MHz

                capabilities: pm bus_master cap_list

                configuration: latency=64

                resources: memory:f9aff700-f9aff7ff

        *-isa

             description: ISA bridge

             product: 82801HM (ICH8M) LPC Interface Controller

             vendor: Intel Corporation

             physical id: 1f

             bus info: pci@0000:00:1f.0

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: isa bus_master cap_list

             configuration: latency=0

        *-ide:0

             description: IDE interface

             product: 82801HM/HEM (ICH8M/ICH8M-E) IDE Controller

             vendor: Intel Corporation

             physical id: 1f.1

             bus info: pci@0000:00:1f.1

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: ide bus_master

             configuration: driver=ata_piix latency=0

             resources: irq:16 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:6fa0(size=16)

        *-ide:1

             description: IDE interface

             product: 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode]

             vendor: Intel Corporation

             physical id: 1f.2

             bus info: pci@0000:00:1f.2

             version: 02

             width: 32 bits

             clock: 66MHz

             capabilities: ide pm bus_master cap_list

             configuration: driver=ata_piix latency=0

             resources: irq:17 ioport:6eb0(size=8) ioport:6eb8(size=4) ioport:6ec0(size=8) ioport:6ec8(size=4) ioport:6ee0(size=16) ioport:eff0(size=16)

        *-serial UNCLAIMED

             description: SMBus

             product: 82801H (ICH8 Family) SMBus Controller

             vendor: Intel Corporation

             physical id: 1f.3

             bus info: pci@0000:00:1f.3

             version: 02

             width: 32 bits

             clock: 33MHz

             configuration: latency=0

             resources: memory:febfbf00-febfbfff ioport:10c0(size=32)

  *-battery

       product: DELL MN12777

       vendor: Panasonic

       physical id: 1

       slot: Sys. Battery Bay

       capacity: 51000mWh

       configuration: voltage=11.1V

```

Thanks in advance.Last edited by nihil39 on Tue Oct 16, 2012 9:30 am; edited 1 time in total

----------

## Mad Merlin

Your hardware, unfortunately, does not support an IOMMU (ie, VT-d).

http://ark.intel.com/products/52220/Intel-Core-i3-2310M-Processor-3M-Cache-2_10-GHz

http://ark.intel.com/products/29760/Intel-Core2-Duo-Processor-T7300-4M-Cache-2_00-GHz-800-MHz-FSB

Intel artificially hobbles their motherboard chipsets so that only the most expensive ones support VT-d. Even if your CPU supported VT-d, your motherboard probably wouldn't.

----------

## nihil39

Thanks! 

So IOMMU is basically the VT-d technology. If I don't go wrong VT-x instead (vmx flags in /proc/cpuinfo) defines the support to the KVM.

What about Device Drivers → Voltage and Current Regulators or Generic Dynamic Voltage and Frequency Scaling (DVFS) support? How can I know if my hardware is capable of using these features?

----------

## Mad Merlin

 *nihil39 wrote:*   

> Thanks! 
> 
> So IOMMU is basically the VT-d technology. If I don't go wrong VT-x instead (vmx flags in /proc/cpuinfo) defines the support to the KVM.

 

Yes, VT-d is what Intel calls their IOMMU implementation. VT-x (or AMD's roughly equivalent technology, SVM) is required for KVM. VT-d is required if you want to pass through (for example) PCIe cards directly to the guest (something few people do).

 *nihil39 wrote:*   

> What about Device Drivers → Voltage and Current Regulators or Generic Dynamic Voltage and Frequency Scaling (DVFS) support? How can I know if my hardware is capable of using these features?

 

This I have no idea about.

----------

