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-next>] [day] [month] [year] [list]
Date:	Thu, 27 Aug 2009 19:49:32 +0800
From:	Beng Tan <bengtan1@...il.com>
To:	linux-kernel@...r.kernel.org
Subject: (Re)assignment of PCI BARs

Hi,

I have an issue relating to allocation of PCI resources in the kernel.
My brief question is ... how do I get the kernel to reassign PCI
resources (if that's not already automatic) and/or is it possible to
explicitly reassign a single BAR of a PCI device?

However, my understanding may be incomplete and this question may not
make sense to those who know the kernel better. So, here's some
background.

-- Start background --

I've connected an external PCI Express card to my laptop, but I am
having PCI resource allocation issues.

I have a PE2L (see http://www.hwtools.net/Adapter/PE2L.html)
connecting my laptop's Express Card slot to a Gigabyte ATI Radeon HD
4550. I got the idea from a DIY Vidock thread (see
http://forum.notebookreview.com/showthread.php?t=397667), and the PE2L
is apparently the same as a ViDock2 (see
http://www.villagetronic.com/vidock2/index.html).

My laptop is a Dell 640m (with integrated Intel graphics), and I'm
trying to find a way to hook up 2 external monitors without having to
buy a new system. Hence the external graphics card idea.

-- End background --

The symptom I'm seeing is that the card has BAR 0 unassigned ...

  Region 0: Memory at <unassigned> (64-bit, prefetchable) [disabled]

and indeed, the kernel reports this through dmesg ...

[    6.147093] PCI: Failed to allocate mem resource
#0:10000000@...00000 for 0000:0d:00.0

Full logs are available at:

http://208.100.55.9/coldboot_20090827/dmesg.txt
http://208.100.55.9/coldboot_20090827/iomem.txt
http://208.100.55.9/coldboot_20090827/lspci_vv.txt

Doesn't the kernel reassign PCI resources if the BIOS doesnt do a good
enough job? Or is that not the case in my old kernel (2.6.24)?

Is it possible to force a reassignment of the impacted BAR? For
example, I wrote a small module which wrote to the device's PCI
configuration registers to explcitly reassign BAR 0 to 0xc00000000
(and also bit bashed the connecting bridge to do the same) but ... I'm
not sure if I'm doing it correctly.

I believe the hardware is working fine. X was able to find out about a
monitor attached to the device, but that is all.

And, for reference, you can see someone else's lspci output of the
same card in the first post of
http://ubuntuforums.org/archive/index.php/t-1215318.html.

So, any thoughts for things I can try to diagnose this? Should I try
compiling and running a bleeding edge kernel?

Thank you. Any help is much appreciated.

Beng Tan

ThinkLeft
--
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