On 05/14/2017 11:58 PM, Ian Zimmerman wrote:
> On 2017-05-14 20:07, Corbin Bird wrote:
> 
>> Background / System Info : 2 systems.
>> Chipset 990FX, FX-9590 ( -march=bdver2 / Fam15h )
>> Chipset 790FX, PhenomII 980 ( -march=amdfam10 / Fam10h )
>> Gentoo x86_64, multilib, Kernel 4.9.x
>> IOMMU enabled in UEFI, BIOS.
> 
>> General Info : ( if you don't know already ... )
>>
>> The 990FX / 790FX Chipset doesn't have a GART / AGP Aperature or IOMMU
>> in it.  The CPU contains the original K8 IOMMU ( v1 ) engineered /
>> converted from a GART.
>>
>> Standard output in '/var/log/dmesg'.
>>
>>> [    0.000000] AGP: No AGP bridge found
>>> [    0.926911] PCI-DMA: Disabling AGP.
>>> [    0.927142] PCI-DMA: aperture base @ b4000000 size 65536 KB
>>> [    0.927263] PCI-DMA: using GART IOMMU.
>>> [    0.927376] PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
> 
> I know we have been over this in an earlier thread "Another x11
> problem", but I am still very confused.
> 
> What BIOS do you have, on the computer that is BIOS based?  I assume you
> have one BIOS based and one EFI based, although you don't really say
> that.  I am asking because the setup screen of my BIOS (Award modular)
> doesn't mention any of these things at all.
> 
> Another source of my confusion is that my computer appears to work _now_
> without setting any additional kernel options.  The problem I had (X11
> turning the screen all black and never coming back) seems to have fixed
> itself with an upgrade of either kernel, X11, or radeon firmware, I
> don't remember which (and I probably never knew for sure which).
> 
> There are some 2 or 3 BIOS upgrades for my motherboard (GA-880GM-D2H)
> but they are all ancient anyway, from 2011 - the same year I built the
> computer, and the description Gigabyte gives sounds irrelevant to this
> stuff, so I never changed the BIOS.
> 
> I have looked at the kernel docs you recommend, but they leave a lot to
> be desired in the clarity department.  For example, the general
> kernel-parameters doc lists a iommu=pt option, without explanation but
> tagged with [X86][IA-64].  But the x86_64/boot-options doc doesn't
> mention this value at all.
> 
> I guess my high-level confusion is that I don't understand the
> relationships between all these bits of hardware, and I also don't
> understand why the automatic setup that Linux does wouldn't result in a
> normally working system.  So there's no aperture, so steal 64M of
> addresses from RAM.  Big deal, no?  What's the problem?
> 
> Finally, in your last article in that earlier thread you said that I
> should turn on multiple APICs in the kernel.  But I can find no kernel
> option for that.  What's the exact CONFIG_* symbol to tweak?
> 
> Thanks.
> 

----

Answer #1 :

Asrock, Extreme6, 990FX, UEFI, AMD FX-9590
Gigabyte, GA-MA790FX-UD5P, 790FX, BIOS, AMD PhenomII x4 980

Update the BIOS on that motherboard. Gigabyte doesn't state everything
done by their BIOS updates. The IOMMU enable option was added to the
BIOS at a later date on the GA-MA790FX-UD5P.

Gigabyte has long been known to ship 'broken for Linux' e820 firmware.
'e820' is basically the APG Aperature setup in the firmware.
Gigabyte kills OR overrides the IOMMU support in the firmware, to setup
the AGP Aperature.

Closed source / binary video drivers WANT an AGP Aperature.
The kernel wants an IOMMU on x86_64, as an IOMMU.
Squabbling over memory, and I/O, used for what, by whom, yes?

That is why I mentioned 'the monkey wrench'.

----

Answer #2 :

Here is what to look for, ( x2 APIC answer )

> 
> kernel 4.9.x, make menuconfig ... ( look just under "Symmetric 
> multi-processing support" )
> 
>          Processor type and features  --->     
>   │ │                                                      [*] Symmetric 
> multi-processing support                                                      
>                                  │ │  
>   │ │                                                      [*] Support x2apic 
>                                                                               
>                             │ │  
>   │ │                                                      [*] Enable MPS 
> table                                                                         
>                                 │ │  
>   │ │                                                      [ ] Support for 
> extended (non-PC) x86 platforms                                               
>                                │ │  
>   │ │                                                      [ ] Intel Low 
> Power Subsystem Support                                                       
>                                  │ │  
>   │ │                                                      [ ] AMD 
> ACPI2Platform devices support                                                 
>                                        │ │  
>   │ │                                                      < > Intel SoC IOSF 
> Sideband support for SoC platforms                                            
>                             │ │  
>   │ │                                                      [*] Single-depth 
> WCHAN output                                                                  
>                               │ │  
>   │ │                                                      [ ] Linux guest 
> support  ----                                                                 
>                                │ │  
>   │ │                                                          Processor 
> family (AMD Piledriver)  --->                                                 
>                                  │ │  
>   │ │                                                      [*] Old AMD GART 
> IOMMU support                                                                 
>                               │ │  
>   │ │                                                      [ ] IBM Calgary 
> IOMMU support                                                                 
>                                │ │  
>   │ │                                                      (8) Maximum number 
> of CPUs                                                                       
>                             │ │  


>   │ │                                                      [*] Symmetric 
> multi-processing support                                                      
>                                  │ │  
>   │ │                                                      [*] Support x2apic 
>                                                                               
>                             │ │  
>   │ │                                                      [*] Enable MPS 
> table                                                                         
>                                 │ │  
>   │ │                                                      [ ] Support for 
> extended (non-PC) x86 platforms                                               
>                                │ │  
>   │ │                                                      [ ] Intel Low 
> Power Subsystem Support                                                       
>                                  │ │  
>   │ │                                                      [ ] AMD 
> ACPI2Platform devices support                                                 
>                                        │ │  
>   │ │                                                      < > Intel SoC IOSF 
> Sideband support for SoC platforms                                            
>                             │ │  
>   │ │                                                      [*] Single-depth 
> WCHAN output                                                                  
>                               │ │  
>   │ │                                                      [ ] Linux guest 
> support  ----                                                                 
>                                │ │  
>   │ │                                                          Processor 
> family (AMD 61xx/7x50/PhenomX3/X4/II/K10)  --->                               
>                                  │ │  
>   │ │                                                      [*] Old AMD GART 
> IOMMU support                                                                 
>                               │ │  
>   │ │                                                      [ ] IBM Calgary 
> IOMMU support                                                                 
>                                │ │  
>   │ │                                                      (4) Maximum number 
> of CPUs  


>   │ │                                                      [*] Symmetric 
> multi-processing support                                                      
>                                  │ │  
>   │ │                                                      [*] Support x2apic 
>                                                                               
>                             │ │  
>   │ │                                                      [*] Enable MPS 
> table                                                                         
>                                 │ │  
>   │ │                                                      [ ] Support for 
> extended (non-PC) x86 platforms                                               
>                                │ │  
>   │ │                                                      [ ] Intel Low 
> Power Subsystem Support                                                       
>                                  │ │  
>   │ │                                                      [ ] AMD 
> ACPI2Platform devices support                                                 
>                                        │ │  
>   │ │                                                      < > Intel SoC IOSF 
> Sideband support for SoC platforms                                            
>                             │ │  
>   │ │                                                      [*] Single-depth 
> WCHAN output                                                                  
>                               │ │  
>   │ │                                                      [ ] Linux guest 
> support  ----                                                                 
>                                │ │  
>   │ │                                                          Processor 
> family (AMD Barcelona)  --->                                                  
>                                  │ │  
>   │ │                                                      [*] Old AMD GART 
> IOMMU support   
>   │ │                                                      [ ] IBM Calgary 
> IOMMU support
>   │ │                                                      (4) Maximum number 
> of CPUs  

>   
> ( from '/usr/src/linux/.config', look at the fifth item in this list ... )
> #
> # Processor type and features
> #
> CONFIG_ZONE_DMA=y
> CONFIG_SMP=y
> CONFIG_X86_FEATURE_NAMES=y
> CONFIG_X86_FAST_FEATURE_TESTS=y
> CONFIG_X86_X2APIC=y
> CONFIG_X86_MPPARSE=y

-----

Check / set this kernel parameter for the PhenomII ( Fam10h / amdfam10
CPUs )
( from '/usr/src/linux/Documentation/kernel-parameters.txt' )

>       pci=option[,option...]  [PCI] various PCI subsystem options:

>               check_enable_amd_mmconf [X86] check for and enable
>                               properly configured MMIO access to PCI
>                               config space on AMD family 10h CPU

'/var/log/dmesg' has an error solved by setting this.

----

Corbin


Reply via email to