[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