[OpenBIOS] Basic Questions

Asif Haswarey asif.haswarey at qlogic.com
Thu Aug 24 20:11:01 CEST 2006


John,
 
Ok I'll try to make this as simple as possible for you.
You need 2 things to determine the bus, dev and func numbers:
 
1) OpenFirmware PCI Bus Binding: http://www.openbios.info/docs/bus.pci.pdf
Look at section: 2.1.3 thru 2.2.1; mainly 2.2.1.
 
2) Do the following at the ok prompt:
 
dev /pci/pci8086,7010 at 1,1
.properties
 
Post the contents of the screen on this mailing list (especially the assigned-reg and/or reg
properties and their values).

_____________

Äsif Haswaréy

QLogic Corporation

FCode Driver Development

Phone: 949.389.7607

  Fax: 949.389.6308

asif.haswarey at qlogic.com

 

 


________________________________

From: openbios-bounces at openbios.org [mailto:openbios-bounces at openbios.org] On Behalf Of Fusco, John (GE Healthcare)
Sent: Thursday, August 24, 2006 10:57 AM
To: The OpenBIOS Mailinglist
Subject: Re: [OpenBIOS] Basic Questions


You're right. These words don't exist in openbios.
 
I wish this were a easier to use. Maybe it would catch on then. The "show-devs" word prints devices in a somewhat arbitrary heirarchy. For example:
 
    /pci/pci8086,7010 at 1,1
 
Okay, so I have a PCI device with vendor ID 8086 and device ID 7010. But if I want to read from that device, I need to know the bus, device and function number, which are not listed. So how do I find these unless I already know them up front?
 
This all seems pretty basic to me. It's as if the openbios were going out of its way to make this difficult. Unless someone can show me I'm wrong, I'm about to give up.
 
Thanks,
John



________________________________

	From: openbios-bounces at openbios.org [mailto:openbios-bounces at openbios.org] On Behalf Of Asif Haswarey
	Sent: Thursday, August 24, 2006 12:32 PM
	To: The OpenBIOS Mailinglist
	Subject: Re: [OpenBIOS] Basic Questions
	
	
	John,
	 
	Normally you have to first open the device node (whose pci config space you wish to read).
	That will give you a non-zero value in my-self, ie. an instance handle of the opened node
	will be created and assigned to my-self.
	Example on a SPARC system:
	 
	" /pci at 1f,4000/network at 2" begin-select-dev
	my-space " config-w@" $call-parent .
	 
	That should print out the contents of the register at offset 0 in config space of the network at 2 <mailto:network at 2>  node.
	But most of the words in the example may not exist in the OpenBios implementation.
	I have been wanting to try out OpenBIOS, but I have'nt been able to get to it yet.
	

	_____________

	Äsif Haswaréy

	QLogic Corporation

	FCode Driver Development

	Phone: 949.389.7607

	  Fax: 949.389.6308

	asif.haswarey at qlogic.com

	 


________________________________

	From: openbios-bounces at openbios.org [mailto:openbios-bounces at openbios.org] On Behalf Of Fusco, John (GE Healthcare)
	Sent: Thursday, August 24, 2006 8:13 AM
	To: Asif Haswarey
	Cc: openbios at openbios.org
	Subject: Re: [OpenBIOS] Basic Questions
	
	
	I have a console with an "ok" prompt that I boot with grub. It's an Intel Westville II motherboard - dual Xeon with 7500 chipset.
	 
	Here is where I am stuck. The PCI commands that come with openbios do not comply with the standard, so they are largely undocumented. Looking at the source, I can muddle through although I'm new at Forth. Mabye you can help me with the syntax.
	 
	Here is the output from lspci on Linux for Westville:
	    $ lspci -n
	    00:00.0 0600: 8086:254c (rev 01)
	
	So bus 0 device 0, function 0 has a PCI device. If I read config word zero, I expect something like 8086 or 254c, but what I get is always FFFF. Here is the syntax I am using:
	 
	0 0 pci-c@ . ff
	0 0 pci-w@ . ffff
	0 0 pci-l@ . -1
	 
	What am I doing wrong?
	 
	Thanks,
	John
	 
	 


________________________________

		From: Asif Haswarey [mailto:asif.haswarey at qlogic.com] 
		Sent: Wednesday, August 23, 2006 5:24 PM
		To: Fusco, John (GE Healthcare)
		Cc: openbios at openbios.org
		Subject: RE: [OpenBIOS] Basic Questions
		
		
		John,
		 
		I do not have an environment that you are persuing, ie. Qemu.
		So you will need to clarify a little more.
		Do you have a running OpenBIOS system such that you get to the
		OpenFirmware console specifically at the "ok" prompt?
		 
		-Asif

________________________________

		From: Fusco, John (GE Healthcare) [mailto:John.Fusco at med.ge.com] 
		Sent: Wednesday, August 23, 2006 11:02 AM
		To: Asif Haswarey
		Cc: openbios at openbios.org
		Subject: RE: [OpenBIOS] Basic Questions
		
		
		Yes, that's essentially what I want. The runiso target in the makefile uses qemu. So that part was easy.
		 
		Trying to decipher all the rest of it is where I'm stuck.
		 
		John


________________________________

			From: Asif Haswarey [mailto:asif.haswarey at qlogic.com] 
			Sent: Wednesday, August 23, 2006 12:31 PM
			To: Fusco, John (GE Healthcare)
			Subject: RE: [OpenBIOS] Basic Questions
			
			
			John,
			 
			Exercising the PCI config space is probably what you are looking to do.
			Have you actually been able to install OpenBIOS in your Qemu environment/platform?

			_____________

			Äsif Haswaréy

			QLogic Corporation

			FCode Driver Development

			Phone: 949.389.7607

			  Fax: 949.389.6308

			asif.haswarey at qlogic.com

			 


________________________________

			From: openbios-bounces at openbios.org [mailto:openbios-bounces at openbios.org] On Behalf Of Fusco, John (GE Healthcare)
			Sent: Wednesday, August 23, 2006 10:12 AM
			To: openbios at openbios.org
			Subject: [OpenBIOS] Basic Questions
			
			
			I am investigating the possiblity of using Openbios as a tool to verify our custom PCI designs.
			 
			Specifically what I am interested in is the ability to modify the PCI base address registers and excercise the address decoders on the cards. What I'm after is some basic PCI compliance testing that is hard to do with a full blown OS.
			 
			My problem is that I'm having a tough time with the learning curve of openbios. I'm having trouble figuring out how to do some basic things, like query the BARs of a PCI device. I'm using Qemu as a sandbox to play with openbios, but I can't even figure out how print the value of configuration register zero of a particular device!
			 
			Can anyone steer me in the right direction? Am I wasting my time, or does it sound like Openbios is going to do what I want.
			 
			Thanks,
			John

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openbios.org/pipermail/openbios/attachments/20060824/4b8420ab/attachment-0001.html 


More information about the OpenBIOS mailing list