| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html
for details.
|
| |
|
| |
|
|
|
|
|
|
|
| |
The drivers are updated to use the new AMBA layer, however the
backwards-compatibility interface (ambapp_old) is used.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old layer had some limitations/problems for multiple AHB
buses since the data structure containing all AMBA devices
were allocated before scanning.
The new layer create devices as they are found and memory is
allocated using malloc() or bsp_early_malloc() during booting.
The old 8 functions for finding a specific AHB-Slave or
APB-Slave device has been replaced with one function,
ambapp_for_each(), which iterates over all devices matching
the specified search options and calls a user provided
function. The new way lowers the footprint and makes searching
more flexible.
The frequency information is now supported, if the frequency
of one device is reported by the user.
More AHB-to-AHB bridges are supported.
The API has been split into several parts in order to lower the
footprint.
The API also introduces the AMBAPP CORE concept, where one
ambapp_core can be created from one AHB Master, AHB Slave
and one APB Slave, at least one device is required for creating
a core.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
| |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation use IRQ number instead of vector number since
some IRQs does not have a unique vector, for example the extended
interrupts all enter the same trap vector entry.
Added support for the LEON3 extended interrupt controller when using
the shared IRQ layer.
ERC32 patches untested.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Regenerate
|
|
|
|
|
|
|
|
|
|
|
|
| |
If bsp_early_malloc() is called early during boot room will be
allocated after BSS END. If the function is called after boot
is will call malloc() instead. The returned memory is not freeable
and always 8-byte aligned.
If the bsp_early_malloc() isn't called the function is not
dragged in and the workspace will be unmodified in size.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When data cache snooping is not present the cache needs
flushing, the SPARC LEON CPUs does not have to ability
to flush individual cache rows and flushing all cache is
expensive. Instead the LDA instruction is used to force
cache miss on individual loads during the IP-align copy
operation required anyway.
GRETH GBIT non-snooping systems are still unsupported,
since it use zero-copy (can deal with unaligned DMA).
Let the bsp.h select if the GRETH driver is supported.
Currently only the LEON2/LEON3 platforms BSPs builds the
driver.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
|
|
|
| |
Moved the intelligence whether the driver is supported or not
completely to the BSP, now that bsp.h is included (even though it
is a driver... hmm). The ERC32 was never supported, so HAS_SMC91111
is not added to erc32/include/bsp.h.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The low level routines can be used in different occasions, it will be
required when accessing PCI.
Note the difference between byteorder.h (inlined functions) and access.S
where the functions will be declared in the library archive librtemscpu.a.
Function names starting with _ are in library and can be referenced by
function pointers.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
|
|
|
|
|
| |
PR 1766/bsps
* clock/ckinit.c: Add missing read of Timer_Counter_1.
|
|
|
|
| |
* Makefile.am: Fix broken path to clockdrv_shell.h.
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: runtest for this BSP obsoleted by
rtems-testing/sim-scripts support. Please use those scripts.
* tools/.cvsignore, tools/ChangeLog, tools/Makefile.am,
tools/configure.ac, tools/runtest.in: Removed.
|
|
|
|
|
|
|
|
|
|
| |
PR 1792/bsps
* src/lib/libbsp/i386/pc386/Makefile.am,
src/lib/libbsp/sparc/erc32/Makefile.am,
src/lib/libbsp/sparc/leon2/Makefile.am,
src/lib/libbsp/sparc/leon3/Makefile.am: Added a generic smp wait
method to sparc and i386 bsps.
* src/lib/libbsp/shared/smp/bspsmp_wait_for.c: New file.
|
|
|
|
|
|
|
|
| |
PR 1795/bsps
* erc32/Makefile.am, leon2/Makefile.am, leon3/Makefile.am: Add
rtems_bsp_delay to sparc bsps.
* erc32/startup/bspdelay.c, leon2/startup/bspdelay.c,
leon3/startup/bspdelay.c: New files.
|
|
|
|
|
|
| |
PR 1783/bsps
* include/bsp.h: Remove dead prototypes of Clock_delay() and delay().
Neither had bodies.
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1729/cpukit
* Makefile.am, configure.ac: Add next step in SMP support. This adds an
allocated array of the Per_CPU structures to support multiple cpus vs
a single instance of the structure which is still used if SMP support
is disabled. Configuration support is also added to explicitly enable
or disable SMP. But SMP can only be enabled for the CPUs which will
support it initially -- SPARC and i386. With the stub BSP support, a
BSP can be run as a single core SMP system from an RTEMS data
structure standpoint.
|
|
|
|
|
|
|
| |
PR 1748/bsps
* clock/ckinit.c: When the clock tick generates an interrupt WHILE we
have interrupts disabled doing a get TOD or uptime, the get
nanoseconds handler was returning a bogusly large number.
|
|
|
|
| |
* configure.ac: Remove RTEMS_CANONICAL_TARGET_CPU.
|
|
|
|
|
| |
* cchip/cchip.c, include/tm27.h, startup/spurious.c:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
|
|
|
| |
* timer/timer.c: Include <rtems/btimer.h>.
Fix benchmark_timer_read() definition.
|
|
|
|
| |
* configure.ac: Require autoconf-2.68, automake-1.11.1.
|
|
|
|
| |
* bsp_specs: Revert accidental commit.
|
|
|
|
|
| |
* leon2/pci/pci.c, leon3/pci/pci.c: Fix typo where license said
found in found in.
|
|
|
|
| |
* bsp_specs: Fix typo where license said found in found in.
|
|
|
|
| |
* Makefile.am: Add bspinit.c from the shared BSP files.
|
|
|
|
| |
* configure.ac: Remove AC_CHECK_SIZEOF([void *]).
|
|
|
|
| |
* configure.ac: Added AC_CHECK_SIZEOF macro.
|
|
|
|
|
|
|
| |
* startup/linkcmds: Include basic linker command file and define only
board specific values. Define RAM and PROM limits only if not defined
by command line arguments.
* Makefile.am, preinstall.am: Reflect changes above.
|
|
|
|
|
| |
PR 1483/cpukit
* pci/pci.c: Rename pci_config into rtems_pci_config_t.
|
|
|
|
|
| |
* console/console.c:
Reflect changes to rtems_termios_callbacks->write.
|
|
|
|
| |
* console/console.c: Let bsp_in_char return int.
|
| |
|
| |
|
|
|
|
|
|
| |
* Makefile.am: sparc/shared/bspstart.c was really leon2 specific. So
move it here.
* startup/bspstart.c: New file.
|
|
|
|
| |
* make/custom/leon2.cfg: Remove RTEMS_BSP_FAMILY.
|
|
|
|
| |
* configure.ac: Don't add -ansi -fasm to CFLAGS.
|
|
|
|
| |
* make/custom/leon2.cfg: New (relocated from /make/custom).
|
|
|
|
|
|
| |
PR 1445/BSPs
* pci/pci.c: Rename pci_[read|write]_config* functions into
BSP_pci_[read|write]_config* and make them static.
|
|
|
|
| |
* pci/pci.c: Add prototypes for BusCountPCI(void), init_pci(void).
|
|
|
|
| |
* configure.ac: Remove RTEMS_BSP_BOOTCARD_OPTIONS.
|
|
|
|
| |
* configure.ac: Fix typo.
|
|
|
|
|
|
|
| |
* Makefile.am, include/bsp.h, startup/setvec.c: Split idle method into
its own file. Properly note to confdefs.h that this BSP has its own
idle thread.
* startup/bspidle.c: New file.
|
|
|
|
|
| |
* cchip/cchip.c, include/cchip.h, include/rasta.h, pci/pci.c: Add CVS
Ids.
|
|
|
|
|
|
| |
* configure.ac: Rename BSP_BOOTCARD_OPTIONS to
RTEMS_BSP_BOOTCARD_OPTIONS. Add RTEMS_BSP_CLEANUP_OPTIONS so all BSPs
have the same options.
|
|
|
|
|
| |
* startup/linkcmds: Start of RTEMS Work Area must be on 16 byte
boundary on the SPARC.
|
|
|
|
|
| |
PR 1391/bsps
* startup/spurious.c: Format was %d but had leading 0x.
|
|
|
|
|
|
| |
PR 1390/bsps
* startup/linkcmds: Fix sections so C++ global constructors and
destructors work with late model (>= 4.3) gcc versions.
|