Hi Viswa,
I need to write PCI Bus Driver for MIPS Embedded Processor. In my case PCI is a built-in device, need to know the details about writing
PCI Enumeration -- i.e configuring and enumerating PCI Devices.
Have a look at the sources ;-) The PCI driver is already there in
OpenBIOS. See openbios-devel/drivers/pci.* To get it >working for a new platform, you basically need to adapt openbios-devel/include/<arch>/pci.h
Note: The driver does not do much at the moment. IE ROM probing does
not work correctly. See the issue tracker for >more details:
https://www.openbios.org/roundup/openbios/
Do you have OpenBIOS running on MIPS hardware?
YES I have OpenBIOS running on MIPS Hardware... Running on RAM. I had taken lot older Kernel I believe the director structure doesn't have Drivers directory. openbios-latest.tar been using this tar also removed lot of unwanted Directories like Tokenizer detok fcc but right now after the changes my directory contents Looks like this.
openbios: kernel Makefile obj-mips README
openbios/kernel: arch Documentation forth include kernel Makefile plugins README Rules.make util
openbios/kernel/arch: amd64 mips ppc unix x86
openbios/kernel/arch/amd64: boot.S builtin.c console.c include Kconfig Makefile mboot.S multiboot.c plainboot.c
openbios/kernel/arch/amd64/include: io.h multiboot.h
openbios/kernel/arch/mips: boot.S builtin.c console.c include Makefile proto.h txsio.h
openbios/kernel/arch/mips/include: io.h kxmips.h multiboot.h mipsreg.h mipreg.h
openbios/kernel/arch/ppc: Kconfig Makefile
openbios/kernel/arch/unix: Kconfig Makefile plugins.c unix.c
openbios/kernel/arch/x86: boot.S builtin.c console.c include Kconfig Makefile mboot.S multiboot.c plainboot.c
openbios/kernel/arch/x86/include: io.h multiboot.h
openbios/kernel/Documentation: AUTHORS Changelog.stepan COPYING dictformat.txt glossary.txt initializers.txt TODO
openbios/kernel/forth: administration apic.fs bootstrap.fs builtin.fs debugging device fract.fs hayes.fs interpreter.fs lib Makefile memory.fs packages pci.fs start.fs system test.fs testsuite util vocabulary.fs
openbios/kernel/forth/administration: banner.fs callback.fs devices.fs help.fs iocontrol.fs Makefile nvram.fs README reset.fs script.fs security.fs selftest.fs userboot.fs
openbios/kernel/forth/debugging: client.fs fcode.fs firmware.fs Makefile see.fs
openbios/kernel/forth/device: builtin.fs device.fs display.fs extra.fs fcode.fs feval.fs font.fs logo.fs Makefile missing other.fs package.fs pathres.fs preof.fs property.fs README.device structures.fs table.fs terminal.fs tree.fs
openbios/kernel/forth/lib: cbindings.fs lists.fs Makefile split.fs string.fs
openbios/kernel/forth/packages: deblocker.fs disklabel.fs Kconfig Makefile obp-tftp.fs packages.fs README terminal-emulator.fs
openbios/kernel/forth/system: ciface.fs dummy.fs main.fs Makefile
openbios/kernel/forth/testsuite: framebuffer-test.fs Makefile memory-testsuite.fs README splitfunc-testsuite.fs
openbios/kernel/forth/util: Makefile pci.fs util.fs
openbios/kernel/include: config.h dict.h plugins.h stack.h sysinclude.h
openbios/kernel/kernel: bootstrap.c dict.c forth.c internal.c Kconfig lib.c Makefile openbios.c primitives.c stack.c
openbios/kernel/obj-mips: dict.o lib.o openbios.o primitives.o Rules.arch stack.o types.h
openbios/kernel/plugins: Kconfig loader.c Makefile plugin_pci plugin_qt
openbios/kernel/plugins/plugin_pci: Makefile plugin_pci.c plugin_pci.h
openbios/kernel/plugins/plugin_qt: fcode.h logo.xpm Makefile pciconfig.h plugin_qt.cpp plugin_qt.h plugin_qt.pro qt_main.cpp qt_rom.fs
openbios/kernel/util: bin2hex.c types.sh
openbios/obj-mips: kernel
openbios/obj-mips/kernel: bin2hex boot.o bootstrap bootstrap.dict bootstrap.log builtin.o console.o dictionary.h dict.o ld.script lib.o loader loader.nostrip loader.o openbios.full openbios.full.nostrip openbios.o openfirmware.dict openfirmware.fs openfirmware.log primitives.o Rules.arch stack.o temp types.h unix unix.nostrip
Should there be any base enumeration to be written in C program if so
where is the hook Point in Openbios kernel and then rest in Forth or everything (configuring, enumerating, Reading and writing) needs to
be
implemented in Forth using PCI Bus Binding according to Open
Firmware.
See the existing driver.
Anyway I keep on adding hooks to the same kernel instead of once again making Changes for cross compilation in the new kernel. If u can give me the links and Changes needs to be applied I'll do it myself....
Regards Viswa
-- OpenBIOS http://openbios.org/ Mailinglist: http://lists.openbios.org/ Free your System - May the Forth be with you
The information contained in this e-mail message and in any annexure is confidential to the recipient and may contain privileged information. If you are not the intended recipient, please notify the sender and delete the message along with any annexure. You should not disclose, copy or otherwise use the information contained in the message or any annexure. Any views expressed in this e-mail are those of the individual sender except where the sender specifically states them to be the views of SoCrates Software India Pvt Ltd., Bangalore.