[PATCH 000/111] GRLIB/LEON RTEMS RCC patches
Daniel Hellstrom
daniel at gaisler.com
Fri Feb 27 08:42:53 UTC 2015
On 02/26/2015 05:58 PM, Gedare Bloom wrote:
> On Thu, Feb 26, 2015 at 11:38 AM, Daniel Hellstrom <daniel at gaisler.com> wrote:
>> Hi,
>>
>> I have rebased and tested briefly the RTEMS code that we have used on LEON2/3/4
>> on RTEMS-4.10 during the last couple of years. A couple of years ago most stuff
>> that did not depend on the PCI and Driver Manager layers were submitted so most
>> patches are SPARC BSP specific this time. GCC-4.9 compiler warnings fixes are
>> applied at the end.
>>
> Is this all intended for 4.11? We are hopefully close to a release,
> but bug-fixes can be made in dot releases.
If the community accepts it.
> I intend to focus on the non-SPARC parts.
>
> You can feel free to turn some of the code-related TODOs into possible
> GSoC/SOCIS projects if you won't get around to them soon. There is a
> page related to this effort here:
> https://devel.rtems.org/wiki/Developer/Projects/Open/MergeLEON
Ok. These patches are basically the MergeLEON project.
>
> It would be great if you can update that wiki page.
I will update the wiki page in a couple of weeks time.
>> The patches are also available in the RCC Git repository
>> git.rtems.org/danielh/rcc.git under the rcc-1.3-0 branch.
>>
>> Note that many drivers depend on both libpci and the driver manager. Including
>> a subset of the major patches will most likely cause a lot of work.
>>
>>
>> LIBPCI
>>
>> A PCI library developed according to the PCI 2.2 and later 2.3 standard. The
>> Library has been used on LEON2 big PCI endian and various LEON3 systems both
>> big and little endian PCI systems. Located in cpukit/libpci and built only on
>> sparc targets. It replaces the current RTEMS PCI implementation for SPARC BSP.
>> Brief documentation is included but no tests. Some "new" features:
>> * Host driver interface
>> * Access library: I/O, registers over memory and configuration space accesses
>> * IRQ library: default IRQ routing, host driver overridable
>> * PCI Configuration: Builtin, read from PnP (from BIOS) and auto PnP config
>> where RTEMS is responsible for setting up the PCI configuration.
>> * Auto config library:
>> - BAR sorting to shrink PCI address space. May be needed on embeeded systems.
>> - Multi-bus support (PCI-to-PCI Bridge)
>> - PCI bus enumreration
>> - ...
>> * PCI bus and devices RAM tree that describes the PCI bus set up using the
>> bus topology discovered.
>> * PCI command to list current configuration, prints input to builtin
>> configuration, help debug host driver by doing config space accesses.
>>
>> The LEON BSP contains four PCI host bridge drivers and their uses:
>> * AT697-LEON PCI (ATMEL)
>> * GRLIB PCIF (ACTEL AX designs)
>> * GRLIB GRPCI (UT699, UT699e, UT700, etc.)
>> * GRPCI GRPCI2 (most new designs, leon4-n2x, gr740)
>>
>> TODO:
>> * LIBPCI tests
>> * Add custom extension points (callback) on PCI configuration so that user/BSP
>> can override, add to or skip PCI device configuration performed by auto/read
>> config libraries.
>>
>>
>> LIBDRVMGR
>>
>> A Driver Manager to make driver development easier and adds a platform
>> independent way of doing device discovery, device driver configuration,
>> initialization order (4 levels) and other related services like interrupt
>> support, address translation, system device architecture/topology operations.
>> Bus drivers are responsible for implementing the bus services and device
>> drivers (called drivers) to interface to a specific bus type.
>>
>> The driver manager is enabled using the --enable-drvmgr configuration option.
>> The LEON2/3/NGMP BSPs support both modes. Not using the driver manager makes
>> the footprint a minimum. One can still use it but the user is responsible to
>> initializes it manually from the Init task for example. Enabling it will
>> initialize it during RTEMS start-up and low-level drivers such as IRQ, Timer
>> and UART could be implemented using the manager. The BSP will get a init
>> callback for each level to install services dependent on drivers initialized
>> in a specific level.
>>
>> A shell command can be used to list information and presents of buses, devices,
>> bus drivers, device drivers, bus topology, test translation service etc.
>>
>> Currently there exists bus drivers for:
>> * PCI by accessing either PCI PnP via configuration space or PCI bus/device
>> tree in RAM. (pcibus)
>> * AMBA PnP (ambapp)
>> * LEON2 AMBA (leon2_amba)
>>
>> The ambapp bus model is used by several GRLIB PCI peripherals since the AMBA
>> PnP bus is accessed over PCI, named AMBA-over-PCI. In this case the on-chip
>> ambapp drivers can be reused with minor updates on address translation on a
>> LEON system.
>>
>> TODO:
>> * tests.
>> * port documentation from RCC manuals to RTEMS doc/ directory.
>> * redesign/simplify the driver registration configuration in drvmgr_confdefs.h.
>> * a generic bus driver to support a hardcoded setup that can be used for
>> most systems.
>> * investigate to use RTEMS objects as devices
>> * default bus/device tree locking shuold perhaps
>>
>>
> There has been some discussion in the past to provide something like
> FreeBSDs busspace API. Is this drvmgr something like it?
Yes it is like it but simpler. I haven't looked at FreeBSD's solution, but most OSes have some structured form of doing this. I think it was mentioned the first time I submitted the DrvMgr in 2009.
Porting a driver from one bus model to another is probably easier than porting the original code to any bus model.
>> DRIVERS
>>
>> * Updates on existing drivers by converting to use the driver manager + fixes
>> * New GRLIB/LEON drivers, most using the DrvMgr
>>
>> TODO:
>> * find a way to port the existing 250 pages PDF driver manual into a BSP
>> specific RTEMS document. The manual has been written in docbook.
>>
> A docbook manual is probably fine at least to start. What is important
> is that it produces a PDF and that someone maintains it. :) If you can
> provide the necessary scripts to re-build the manual then we can
> automate it with the other manuals (that are supposed to be built.)
Ok. Interesting for the BSP documentation.
>> TEST STATUS
>>
>> Most of the drivers have been available for several years and received fixes
>> along the way. They have not been tested on this version of RTEMS yet. I expect
>> to make fixes as drivers are tested.
>>
>> The RTEMS tests test the BSP initialization and the Timer and UART drivers
>> based on the driver manager.
>>
>> The following is a summary of the test results on the GR712RC in four configs
>> (single-core, single-core with drvmgr, smp, smp with drvmgr). Most are known
>> not to work since before and does no not depend on the which configuration
>> run except spcbssched03 which fails only on SMP.
>>
>> # Result Test ExecRes ConsoleRes ExitCode1 ExitCode2
>> # FAIL: ./fstests/fsdosfsname01 OK FAIL 5 0
>> # FAIL: ./libtests/crypt01 FAIL FAIL N/A N/A
>> # FAIL: ./psxtests/psx04 OK FAIL 5 0
>> # FAIL: ./psxtests/psxgetrusage01 OK FAIL 5 0
>> # FAIL: ./psxtests/psxualarm FAIL FAIL N/A N/A
>> # FAIL: ./sptests/sp12 OK FAIL 0 25
>> # FAIL: ./sptests/sp20 OK FAIL 5 6
>> # FAIL: ./sptests/sp31 OK FAIL 5 20
>> # FAIL: ./sptests/spcbssched03 OK FAIL 5 0
>> #
>> # DISABLED: dl01 dl02
>> #
>> # SUMMARY
>> # Tests failing: 9
>> # Tests successful: 530
>>
> Thanks for the testing summary. It will be important to figure out how
> to exercise the drvmgr and PCI libraries to get proper coverage
> testing done.
I think the easiest solution is to create a fake host bridge driver that implements a set of fake PCI buses and devices. This way we could let the PCI library scan the fake devices and use the DrvMgr
PCI bus model to create devices. A test PCI device driver could be united and attached to the device by the driver manager. That would give us a good starting point for testing both the pci library
and driver manager.
> Probably it will take me awhile to sort through the patches. I'll be
> working on it in chunks as I find time.
Its only the first ones that are not SPARC specific.
Thanks for your comments.
Daniel H
>> ---
>> aclocal/enable-drvmgr.m4 | 12 +
>> c/src/aclocal/enable-drvmgr.m4 | 12 +
>> c/src/lib/libbsp/shared/bspdriverlevelhook.c | 16 +
>> c/src/lib/libbsp/shared/include/bootcard.h | 2 +
>> c/src/lib/libbsp/sparc/Makefile.am | 137 +-
>> c/src/lib/libbsp/sparc/erc32/include/bsp.h | 7 +
>> c/src/lib/libbsp/sparc/leon2/Makefile.am | 154 +-
>> c/src/lib/libbsp/sparc/leon2/cchip/cchip.c | 375 ---
>> c/src/lib/libbsp/sparc/leon2/include/at697_pci.h | 26 +
>> c/src/lib/libbsp/sparc/leon2/include/bsp.h | 19 +
>> c/src/lib/libbsp/sparc/leon2/include/cchip.h | 42 -
>> c/src/lib/libbsp/sparc/leon2/include/rasta.h | 132 -
>> c/src/lib/libbsp/sparc/leon2/pci/at697_pci.c | 659 +++++
>> c/src/lib/libbsp/sparc/leon2/pci/pci.c | 730 -----
>> c/src/lib/libbsp/sparc/leon2/preinstall.am | 234 ++-
>> c/src/lib/libbsp/sparc/leon2/rasta/rasta.c | 386 ---
>> .../lib/libbsp/sparc/leon2/startup/bsppredriver.c | 70 +
>> c/src/lib/libbsp/sparc/leon3/Makefile.am | 150 +-
>> c/src/lib/libbsp/sparc/leon3/amba/amba.c | 74 +-
>> c/src/lib/libbsp/sparc/leon3/clock/ckinit.c | 21 +-
>> c/src/lib/libbsp/sparc/leon3/console/console.c | 10 +
>> .../libbsp/sparc/leon3/console/printk_support.c | 2 +-
>> c/src/lib/libbsp/sparc/leon3/include/bsp.h | 21 +-
>> c/src/lib/libbsp/sparc/leon3/include/leon.h | 61 +
>> c/src/lib/libbsp/sparc/leon3/include/watchdog.h | 49 +
>> c/src/lib/libbsp/sparc/leon3/pci/pci.c | 613 ----
>> c/src/lib/libbsp/sparc/leon3/preinstall.am | 197 ++-
>> .../lib/libbsp/sparc/leon3/startup/bsppredriver.c | 32 +-
>> c/src/lib/libbsp/sparc/leon3/startup/cpucounter.c | 55 +-
>> c/src/lib/libbsp/sparc/leon3/timer/watchdog.c | 90 +
>> c/src/lib/libbsp/sparc/shared/1553/b1553brm.c | 1995 ++++++++------
>> c/src/lib/libbsp/sparc/shared/1553/b1553brm_pci.c | 135 -
>> .../lib/libbsp/sparc/shared/1553/b1553brm_rasta.c | 117 -
>> c/src/lib/libbsp/sparc/shared/1553/b1553rt.c | 856 ++++++
>> c/src/lib/libbsp/sparc/shared/1553/gr1553b.c | 305 ++
>> c/src/lib/libbsp/sparc/shared/1553/gr1553bc.c | 1674 +++++++++++
>> c/src/lib/libbsp/sparc/shared/1553/gr1553bm.c | 519 ++++
>> c/src/lib/libbsp/sparc/shared/1553/gr1553rt.c | 1262 +++++++++
>> c/src/lib/libbsp/sparc/shared/amba/ahbstat.c | 206 ++
>> c/src/lib/libbsp/sparc/shared/amba/ambapp_names.c | 56 +-
>> c/src/lib/libbsp/sparc/shared/analog/gradcdac.c | 578 ++++
>> c/src/lib/libbsp/sparc/shared/ascs/grascs.c | 615 +++++
>> c/src/lib/libbsp/sparc/shared/can/canmux.c | 197 ++
>> c/src/lib/libbsp/sparc/shared/can/grcan.c | 1747 ++++++------
>> c/src/lib/libbsp/sparc/shared/can/grcan_rasta.c | 100 -
>> c/src/lib/libbsp/sparc/shared/can/occan.c | 1184 +++++----
>> c/src/lib/libbsp/sparc/shared/can/occan_pci.c | 65 -
>> c/src/lib/libbsp/sparc/shared/can/satcan.c | 714 +++++
>> c/src/lib/libbsp/sparc/shared/drvmgr/ambapp_bus.c | 749 +++++
>> .../libbsp/sparc/shared/drvmgr/ambapp_bus_grlib.c | 227 ++
>> .../libbsp/sparc/shared/drvmgr/ambapp_bus_leon2.c | 265 ++
>> .../sparc/shared/drvmgr/get_resarray_count.c | 20 +
>> .../libbsp/sparc/shared/drvmgr/leon2_amba_bus.c | 448 +++
>> c/src/lib/libbsp/sparc/shared/gpio/gpiolib.c | 271 ++
>> c/src/lib/libbsp/sparc/shared/gpio/grgpio.c | 449 +++
>> c/src/lib/libbsp/sparc/shared/i2c/i2cmst.c | 355 ++-
>> c/src/lib/libbsp/sparc/shared/include/ahbstat.h | 76 +
>> c/src/lib/libbsp/sparc/shared/include/ambapp_ids.h | 45 +-
>> .../lib/libbsp/sparc/shared/include/apbuart_cons.h | 16 +
>> .../lib/libbsp/sparc/shared/include/apbuart_pci.h | 47 -
>> .../libbsp/sparc/shared/include/apbuart_rasta.h | 47 -
>> c/src/lib/libbsp/sparc/shared/include/b1553brm.h | 37 +-
>> .../lib/libbsp/sparc/shared/include/b1553brm_pci.h | 61 -
>> .../libbsp/sparc/shared/include/b1553brm_rasta.h | 61 -
>> c/src/lib/libbsp/sparc/shared/include/b1553rt.h | 79 +
>> c/src/lib/libbsp/sparc/shared/include/canmux.h | 32 +
>> c/src/lib/libbsp/sparc/shared/include/cons.h | 42 +
>> .../sparc/shared/include/drvmgr/ambapp_bus.h | 134 +
>> .../sparc/shared/include/drvmgr/ambapp_bus_grlib.h | 36 +
>> .../libbsp/sparc/shared/include/drvmgr/bspcommon.h | 28 +
>> .../sparc/shared/include/drvmgr/leon2_amba_bus.h | 95 +
>> c/src/lib/libbsp/sparc/shared/include/genirq.h | 107 +
>> c/src/lib/libbsp/sparc/shared/include/gpiolib.h | 94 +
>> c/src/lib/libbsp/sparc/shared/include/gptimer.h | 30 +
>> c/src/lib/libbsp/sparc/shared/include/gr1553b.h | 367 +++
>> c/src/lib/libbsp/sparc/shared/include/gr1553bc.h | 250 ++
>> .../libbsp/sparc/shared/include/gr1553bc_list.h | 707 +++++
>> c/src/lib/libbsp/sparc/shared/include/gr1553bm.h | 204 ++
>> c/src/lib/libbsp/sparc/shared/include/gr1553rt.h | 434 +++
>> c/src/lib/libbsp/sparc/shared/include/gr_701.h | 51 +
>> .../lib/libbsp/sparc/shared/include/gr_leon4_n2x.h | 61 +
>> .../libbsp/sparc/shared/include/gr_rasta_adcdac.h | 52 +
>> .../lib/libbsp/sparc/shared/include/gr_rasta_io.h | 52 +
>> .../sparc/shared/include/gr_rasta_spw_router.h | 48 +
>> .../libbsp/sparc/shared/include/gr_rasta_tmtc.h | 103 +
>> .../lib/libbsp/sparc/shared/include/gr_tmtc_1553.h | 55 +
>> c/src/lib/libbsp/sparc/shared/include/gradcdac.h | 227 ++
>> c/src/lib/libbsp/sparc/shared/include/grascs.h | 92 +
>> c/src/lib/libbsp/sparc/shared/include/grcan.h | 19 +-
>> .../lib/libbsp/sparc/shared/include/grcan_rasta.h | 29 -
>> c/src/lib/libbsp/sparc/shared/include/grctm.h | 171 ++
>> c/src/lib/libbsp/sparc/shared/include/greth.h | 146 +
>> c/src/lib/libbsp/sparc/shared/include/grgpio.h | 25 +
>> c/src/lib/libbsp/sparc/shared/include/grpci.h | 31 +
>> c/src/lib/libbsp/sparc/shared/include/grpci2.h | 61 +
>> c/src/lib/libbsp/sparc/shared/include/grpwm.h | 127 +
>> c/src/lib/libbsp/sparc/shared/include/grslink.h | 148 +
>> c/src/lib/libbsp/sparc/shared/include/grspw.h | 57 +-
>> c/src/lib/libbsp/sparc/shared/include/grspw_pci.h | 53 -
>> c/src/lib/libbsp/sparc/shared/include/grspw_pkt.h | 671 +++++
>> .../lib/libbsp/sparc/shared/include/grspw_rasta.h | 53 -
>> .../lib/libbsp/sparc/shared/include/grspw_router.h | 107 +
>> c/src/lib/libbsp/sparc/shared/include/grtc.h | 155 ++
>> c/src/lib/libbsp/sparc/shared/include/grtm.h | 245 ++
>> c/src/lib/libbsp/sparc/shared/include/i2cmst.h | 24 +-
>> c/src/lib/libbsp/sparc/shared/include/mctrl.h | 26 +
>> .../sparc/shared/include/network_interface_add.h | 47 +
>> c/src/lib/libbsp/sparc/shared/include/occan.h | 13 +-
>> c/src/lib/libbsp/sparc/shared/include/occan_pci.h | 46 -
>> c/src/lib/libbsp/sparc/shared/include/pci.h | 56 -
>> c/src/lib/libbsp/sparc/shared/include/pcif.h | 15 +
>> c/src/lib/libbsp/sparc/shared/include/satcan.h | 142 +
>> c/src/lib/libbsp/sparc/shared/include/spictrl.h | 126 +
>> c/src/lib/libbsp/sparc/shared/include/spwcuc.h | 188 ++
>> c/src/lib/libbsp/sparc/shared/include/tlib.h | 190 ++
>> c/src/lib/libbsp/sparc/shared/irq/genirq.c | 246 ++
>> c/src/lib/libbsp/sparc/shared/mem/mctrl.c | 212 ++
>> c/src/lib/libbsp/sparc/shared/net/README | 7 +
>> c/src/lib/libbsp/sparc/shared/net/greth.c | 1483 ++++++++++
>> .../sparc/shared/net/network_interface_add.c | 62 +
>> c/src/lib/libbsp/sparc/shared/pci/gr_701.c | 590 ++++
>> c/src/lib/libbsp/sparc/shared/pci/gr_leon4_n2x.c | 761 +++++
>> .../lib/libbsp/sparc/shared/pci/gr_rasta_adcdac.c | 665 +++++
>> c/src/lib/libbsp/sparc/shared/pci/gr_rasta_io.c | 863 ++++++
>> .../libbsp/sparc/shared/pci/gr_rasta_spw_router.c | 669 +++++
>> c/src/lib/libbsp/sparc/shared/pci/gr_rasta_tmtc.c | 867 ++++++
>> c/src/lib/libbsp/sparc/shared/pci/gr_tmtc_1553.c | 569 ++++
>> c/src/lib/libbsp/sparc/shared/pci/grpci.c | 725 +++++
>> c/src/lib/libbsp/sparc/shared/pci/grpci2.c | 919 ++++++
>> .../libbsp/sparc/shared/pci/pci_memreg_sparc_be.c | 27 +
>> .../libbsp/sparc/shared/pci/pci_memreg_sparc_le.c | 28 +
>> c/src/lib/libbsp/sparc/shared/pci/pcif.c | 586 ++++
>> c/src/lib/libbsp/sparc/shared/pci/pcifinddevice.c | 51 -
>> c/src/lib/libbsp/sparc/shared/pwm/grpwm.c | 853 ++++++
>> c/src/lib/libbsp/sparc/shared/slink/grslink.c | 661 +++++
>> c/src/lib/libbsp/sparc/shared/spi/spictrl.c | 1017 +++++++
>> c/src/lib/libbsp/sparc/shared/spw/grspw.c | 2900 +++++++++++---------
>> c/src/lib/libbsp/sparc/shared/spw/grspw_pci.c | 132 -
>> c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c | 2917 ++++++++++++++++++++
>> c/src/lib/libbsp/sparc/shared/spw/grspw_rasta.c | 158 --
>> c/src/lib/libbsp/sparc/shared/spw/grspw_router.c | 561 ++++
>> c/src/lib/libbsp/sparc/shared/time/grctm.c | 409 +++
>> c/src/lib/libbsp/sparc/shared/time/spwcuc.c | 369 +++
>> c/src/lib/libbsp/sparc/shared/timer/gptimer.c | 541 ++++
>> c/src/lib/libbsp/sparc/shared/timer/tlib.c | 77 +
>> c/src/lib/libbsp/sparc/shared/timer/tlib_ckinit.c | 283 ++
>> c/src/lib/libbsp/sparc/shared/tmtc/grtc.c | 1959 +++++++++++++
>> c/src/lib/libbsp/sparc/shared/tmtc/grtm.c | 1590 +++++++++++
>> c/src/lib/libbsp/sparc/shared/uart/apbuart_cons.c | 690 +++++
>> c/src/lib/libbsp/sparc/shared/uart/apbuart_pci.c | 44 -
>> c/src/lib/libbsp/sparc/shared/uart/apbuart_rasta.c | 43 -
>> c/src/lib/libbsp/sparc/shared/uart/cons.c | 189 ++
>> c/src/make/configure.ac | 1 +
>> configure.ac | 1 +
>> cpukit/Makefile.am | 10 +
>> cpukit/aclocal/enable-drvmgr.m4 | 12 +
>> cpukit/configure.ac | 19 +
>> cpukit/libdrvmgr/Makefile.am | 33 +
>> cpukit/libdrvmgr/README | 112 +
>> cpukit/libdrvmgr/drvmgr.c | 643 +++++
>> cpukit/libdrvmgr/drvmgr.h | 965 +++++++
>> cpukit/libdrvmgr/drvmgr_by_id.c | 33 +
>> cpukit/libdrvmgr/drvmgr_by_name.c | 37 +
>> cpukit/libdrvmgr/drvmgr_confdefs.h | 310 +++
>> cpukit/libdrvmgr/drvmgr_dev_by_name.c | 34 +
>> cpukit/libdrvmgr/drvmgr_drvinf.c | 148 +
>> cpukit/libdrvmgr/drvmgr_for_each_dev.c | 104 +
>> cpukit/libdrvmgr/drvmgr_for_each_list_dev.c | 44 +
>> cpukit/libdrvmgr/drvmgr_func.c | 42 +
>> cpukit/libdrvmgr/drvmgr_func_call.c | 21 +
>> cpukit/libdrvmgr/drvmgr_init.c | 26 +
>> cpukit/libdrvmgr/drvmgr_internal.h | 70 +
>> cpukit/libdrvmgr/drvmgr_list.c | 67 +
>> cpukit/libdrvmgr/drvmgr_list.h | 79 +
>> cpukit/libdrvmgr/drvmgr_lock.c | 38 +
>> cpukit/libdrvmgr/drvmgr_print.c | 457 +++
>> cpukit/libdrvmgr/drvmgr_res.c | 102 +
>> cpukit/libdrvmgr/drvmgr_rw.c | 52 +
>> cpukit/libdrvmgr/drvmgr_translate.c | 149 +
>> cpukit/libdrvmgr/drvmgr_translate_check.c | 35 +
>> cpukit/libdrvmgr/drvmgr_unregister.c | 186 ++
>> cpukit/libmisc/Makefile.am | 3 +-
>> cpukit/libmisc/shell/main_drvmgr.c | 426 +++
>> cpukit/libmisc/shell/main_pci.c | 525 ++++
>> cpukit/libmisc/shell/shellconfig.h | 25 +
>> cpukit/libpci/CHANGES | 46 +
>> cpukit/libpci/Makefile.am | 51 +
>> cpukit/libpci/README | 4 +
>> cpukit/libpci/pci.h | 375 +++
>> cpukit/libpci/pci/access.h | 351 +++
>> cpukit/libpci/pci/cfg.h | 244 ++
>> cpukit/libpci/pci/cfg_auto.h | 59 +
>> cpukit/libpci/pci/cfg_peripheral.h | 20 +
>> cpukit/libpci/pci/cfg_read.h | 22 +
>> cpukit/libpci/pci/cfg_static.h | 22 +
>> cpukit/libpci/pci/ids.h | 802 ++++++
>> cpukit/libpci/pci/ids_extra.h | 21 +
>> cpukit/libpci/pci/irq.h | 105 +
>> cpukit/libpci/pci_access.c | 74 +
>> cpukit/libpci/pci_access_func.c | 73 +
>> cpukit/libpci/pci_access_io.c | 48 +
>> cpukit/libpci/pci_access_mem.c | 22 +
>> cpukit/libpci/pci_access_mem_be.c | 67 +
>> cpukit/libpci/pci_access_mem_le.c | 66 +
>> cpukit/libpci/pci_bus.c | 567 ++++
>> cpukit/libpci/pci_bus.h | 160 ++
>> cpukit/libpci/pci_cfg.c | 55 +
>> cpukit/libpci/pci_cfg_auto.c | 1014 +++++++
>> cpukit/libpci/pci_cfg_peripheral.c | 32 +
>> cpukit/libpci/pci_cfg_print_code.c | 172 ++
>> cpukit/libpci/pci_cfg_read.c | 357 +++
>> cpukit/libpci/pci_cfg_static.c | 157 ++
>> cpukit/libpci/pci_find.c | 52 +
>> cpukit/libpci/pci_find_dev.c | 49 +
>> cpukit/libpci/pci_for_each.c | 62 +
>> cpukit/libpci/pci_for_each_child.c | 41 +
>> cpukit/libpci/pci_for_each_dev.c | 18 +
>> cpukit/libpci/pci_get_dev.c | 36 +
>> cpukit/libpci/pci_irq.c | 20 +
>> cpukit/libpci/pci_print.c | 190 ++
>> cpukit/libpci/preinstall.am | 75 +
>> cpukit/preinstall.am | 20 +-
>> cpukit/sapi/include/confdefs.h | 57 +-
>> cpukit/sapi/src/exinit.c | 63 +
>> cpukit/sapi/src/io.c | 4 +
>> cpukit/sapi/src/ioregisterdriver.c | 14 +-
>> cpukit/wrapup/Makefile.am | 3 +-
>> doc/ada_user/Makefile.am | 1 +
>> doc/ada_user/ada_user.texi | 2 +
>> doc/develenv/direct.t | 3 +
>> doc/user/Makefile.am | 9 +-
>> doc/user/c_user.texi | 2 +
>> doc/user/conf.t | 53 +
>> doc/user/libpci.t | 409 +++
>> 234 files changed, 54274 insertions(+), 7665 deletions(-)
>>
>> --
>> 1.7.0.4
>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
More information about the devel
mailing list