lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 3 Feb 2010 17:19:48 +0200
From:	Marin Mitov <mitov@...p.bas.bg>
To:	FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>
Cc:	linux-kernel@...r.kernel.org, mingo@...e.hu, davej@...hat.com
Subject: Re: [BUG] agpgart-amd64 not initialized in 2.6.33-rc5 if iommu=allowed in kernel command line

On Tuesday 02 February 2010 05:49:20 pm FUJITA Tomonori wrote:
> On Tue, 2 Feb 2010 20:23:40 +0900
> FUJITA Tomonori <fujita.tomonori@....ntt.co.jp> wrote:
> 
> > > If CONFIG_AGP_AMD64=m  it works (I have agp)  with no kernel command
> > > line parameters. If I boot to no graphics (runlevel 3 in slackware), 
> > > lsmod output is:
> > > 
> > > amd64_agp               7463  1
> > > agpgart                   27765  1 amd64_agp
> > > 
> > > amd64_agp is in use (not known by who), cannot be unloaded and I cannot 
> > > test load/unload.
> > > 
> > > If CONFIG_AGP_AMD64=m and  iommu=allowed is in kernel command line
> > > I have no agp.
> > > dmesg:
> > > [drm:mga_do_agp_dma_bootstrap] *ERROR* Unable to acquire AGP: -19
> > 
> > This works with 2.6.32, right?  The following patch works?
> 
> Duh, sorry, please this instead:

Sorry to be late.

First, the patch do not apply cleanly on  2.6.33-rc6 (I'm running now).
I have to apply the patch in:

http://lkml.org/lkml/2010/1/25/4

first, then to apply:

http://lkml.org/lkml/2010/2/2/241

over it. 

In this configuration (both patches applied) it works for me with/without kernel 
command line (iommu=allowed + ....) when either amd64-agp is built in the kernel 
(CONFIG_AGP_AMD64=y), or as a module (CONFIG_AGP_AMD64=m).

> > > lsmod output:
> > > 
> > > amd64_agp               7463  1
> > > agpgart                   27765  1 amd64_agp

I have still amd64_agp used, so I cannot test load/unload  amd64_agp:

Thanks,

Marin Mitov

> 
> diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c
> index 34cf04e..fd50ead 100644
> --- a/drivers/char/agp/amd64-agp.c
> +++ b/drivers/char/agp/amd64-agp.c
> @@ -767,16 +767,19 @@ int __init agp_amd64_init(void)
>  
>  static int __init agp_amd64_mod_init(void)
>  {
> +#ifndef MODULE
>  	if (gart_iommu_aperture)
>  		return agp_bridges_found ? 0 : -ENODEV;
> -
> +#endif
>  	return agp_amd64_init();
>  }
>  
>  static void __exit agp_amd64_cleanup(void)
>  {
> +#ifndef MODULE
>  	if (gart_iommu_aperture)
>  		return;
> +#endif
>  	if (aperture_resource)
>  		release_resource(aperture_resource);
>  	pci_unregister_driver(&agp_amd64_pci_driver);
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ