| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
| |
Start to migrate private symbols to bsp/bspimpl.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
configuration space
This patch fundamentally results from enhancements to the pc386 BSP
to support systems which do **NOT** have the legacy PCI BIOS. The
patch adds support for detecting when legacy PCI BIOS is not
present and then using IO space to access to PCI Configuration Space.
This resulted in dynamically selected between two implementations
of PCI and refactoring out the shared methods.
This patch adds shared implementations of pci_bus_count() and
pci_find_device(). Subsequent patches will remove implementations
of these methods in other BSPs where possible.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This first step eliminates the following as public APIs for the pc386
BSP:
+ pcib_conf_read8
+ pcib_conf_read16
+ pcib_conf_read32
+ pcib_conf_write8
+ pcib_conf_write16
+ pcib_conf_write32
The if_fxp.c driver uses these enough where I provided local macros
to allow the code to be mostly unmodified. On other architectures
these names have been used privately. It will take multiple patches
to completely eliminate these symbols from the RTEMS source tree.
The focus of the first effort is just to eliminate these as a public
pc386 API so support can be added for systems without legacy PCI BIOS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current algorithm scans all PCI busses (0..ff)
and all devices (0..31) on each bus for bridges
and determines the maximum of all subordinate
busses encountered.
However, the algorithm does not scan all functions
present in multi-function devices -- I have a PCI express
root complex (82801H) where multiple (non-zero index)
functions are 'PCI bridges' whose subordinate bus number is
missed by the original algorithm.
This commit makes sure that the scan
is extended to all functions of multi-function
devices.
See #2067
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ libbsp/sparc/shared/include/pci.h was largely a copy of
an older version of the cpukit pci.h. Removed much of the
contents and included <rtems/pci.h>.
+ sparc/*/pci*.c - Move to <rtems/pci.h> required updating
to use uint32_t for dword accesses.
+ Rename PCI_MULTI_FUNCTION to PCI_HEADER_TYPE_MULTI_FUNCTION
+ Define PCI_HEADER_TYPE_MULTI_FUNCTION in cpukit pci.h and remove
PCI_MULTI_FUNCTION definitions in C files.
+ Move PCI_INVALID_VENDORDEVICEID definitions from various C files
to cpukit pci.h
|
|
|
|
|
|
|
|
|
|
|
|
| |
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
|
|
| |
* shared/pci/pcibios.c: Make pcib_find_by_devid static.
|
|
|
|
|
|
|
| |
* shared/comm/gdb_glue.c, shared/comm/i386-stub.c,
shared/comm/i386_io.h, shared/comm/uart.c, shared/irq/idt.c,
shared/pci/pcibios.c:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
|
|
|
| |
PR 1483/cpukit
* shared/pci/pcibios.c: Rename pci_config into rtems_pci_config_t.
|
| |
|
|
|
|
|
| |
PR 1445/BSPs
* shared/pci/pcibios.c: Rename indirect_pci_* into BSP_pci_*.
|
|
|
|
|
| |
* shared/comm/i386-stub-glue.c, shared/comm/uart.c, shared/irq/irq.c,
shared/pci/pcibios.c: Fixed warnings.
|
|
|
|
| |
Convert to using stdint fixed-size types.
|
|
|
|
|
| |
-1 on failure, not just non-zero status. I found that
some driver(s) [e.g. dec21140] explicitely check for -1.
|
|
|
|
|
| |
* shared/pci/pcibios.c: replaced pci_find_device implementation by a
pcibios call which already provides the functionality
|
|
|
|
| |
* pci/pcibios.c: Eliminate unsigned8.
|
|
|
|
|
|
| |
* pci/pcibios.c, pci/pcibios.h: Corrected spacing
Name modifications for a generic PCI interface
Added wrapper routines for pci read/write configuration data
|
|
|
|
| |
* pci/pcibios.c: Reformatted.
|
|
|
|
|
| |
* pci/pcibios.c, pci/pcibios.h: Continue PCI API unification. All use
pci_find_device().
|
|
|
|
|
| |
* shared/pci/pcibios.c, shared/pci/pcibios.h: Make PCI initialize
function part of the unified PCI API as pci_initialize().
|
|
|
|
|
| |
PR 608/bsps
* pci/pcibios.c: BusCountPCI().
|
| |
|
| |
|
|
|
|
| |
* pci/pcibios.c: Convert to using c99 fixed size types.
|
|
|
|
|
|
|
| |
PR 428/bsps
PR 432/bsps
* pci/pcibios.c, pci/pcibios.h: Added BSP_pci_Find_Device() which
is copied from motorola_shared.
|
|
|
|
| |
* pci/pcibios.c: #include <string.h>.
|
|
|
|
|
|
|
| |
* pci/pcibios.c: Per PR262, removed all asserts so probes for
devices that are not present will work. This lets you have
multiple PCI Ethernet drivers in an application and dynamically
use the one for the card othat is present.
|
|
moves pieces of the pc386 bsp up to a shared level for all i386 BSPs
and modifies the i386ex BSP to use those shared pieces. Serial remote
debugging is included for both targets. Erik's notes:
There are several workarounds in it:
1) #define NEXT_GAS is hardcoded in pc386/start/start.s
2) #define NEXT_GAS is hardcoded in i386ex/start/start.s
3) #define NEW_GAS is hardcoded in pc386/start16.s
4) #undef __assert and redeclare _assert hardcoded in console.c for
both pc386 and i386ex due to my egcs1.1b ~ newlib problem. Should have
modified t-rtems.cfg ( no time )
I've tested pc386 with both video and serial consoles and GDB remote.
All work fine, except that GDB acts weird. ( re: other posting)
I hope this will work for you. It took quite some time to locate the
autoconf error. The remainder was just grunt work.
Unfortunately, I think I've unwound the removal of the IBMPCInitVideo
stuff. Sorry. I REALLY can't spend more time... I've been at this
conversion to 4.0 locally and updating the release since Sept. 8th, and
have yet to compile my network driver.... This is as much as I can do
right now.
I look forward to the next patch to really test i368ex. I did make sure
that the sample tests worked for pc386.
|