| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Adjust build support files to new directory layout.
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
|
|
|
| |
BSPs can use the bsp_fatal_extension() to provide BSP-specific fatal
error handling. There is no need for a _BSP_Fatal_error().
Close #3246.
|
|
|
|
|
|
|
|
| |
Due to a new rtems_panic() implementation, it is possible to replace the
PowerPC-specific BSP_panic() with rtems_panic(). Remove BSP_panic()
implementations.
Close #3245.
|
| |
|
| |
|
|
|
|
|
|
| |
Merge RTEMS_FATAL_SOURCE_BSP_GENERIC and RTEMS_FATAL_SOURCE_BSP_SPECIFIC
into new fatal source RTEMS_FATAL_SOURCE_BSP. This makes it easier to
figure out the code position given a fatal source and code.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of SPRG0 (= special purpose register 272) use the new global
symbol _PPC_INTERRUPT_DISABLE_MASK to store the interrupt disable mask.
The benefit is that it is now possible to disable interrupts without
further run-time initialization in boot_card().
At least on Freescale e500 cores this leads also to a faster execution
since the mfmsr and mfspr instruction require four cycles to complete.
The instructions to load the mask value can execute while the mfmsr is
in progress.
|
|
|
|
|
|
|
|
|
| |
Add a CPU counter interface to allow access to a free-running counter.
It is useful to measure short time intervals. This can be used for
example to enable profiling of critical low-level functions.
Add two busy wait functions rtems_counter_delay_ticks() and
rtems_counter_delay_nanoseconds() implemented via the CPU counter.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The clock driver used previously the bsp_clicks_per_usec value. For a
33333333Hz time base frequency this leads to a relative error of one per
cent for example due to integer truncation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am: Added custom memcpy(). Update for network sources.
* configure.ac: Enable interrupt driven Termios for all BSPs.
* ide/pcmcia_ide.c: Disable broken DMA support.
* include/bsp.h: Fixed NEED_LOW_LEVEL_INIT define. Set default
console baud to 115200.
* include/irq.h, irq/irq.c: Fixed interrupt handling to avoid the
following problems: 1. multiple invokation of peripheral interrupt
handlers, 2. missing synchronization after mask write and enabling of
external exceptions, and 3. logic overhead.
* network_5200/network.c: Added MII interface. Fixed controller
restart after FIFO errors. Performance improvements.
* start/start.S: Fixed ROM startup. Initialize XLB arbiter for all
BSPs.
* startup/bspstart.c: Special intialization for MPC5200B (B variant).
Install standard alignment handler.
* startup/cpuinit.c, startup/linkcmds.brs5l, startup/linkcmds.dp2,
startup/linkcmds.icecube, startup/linkcmds.pm520_cr825,
startup/linkcmds.pm520_ze30: Avoid accesses outside the RAM area.
|
|
|
|
| |
* configure.ac, startup/bspstart.c: Use standard cache BSP options.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* beatnik/include/bsp.h, beatnik/irq/irq.h, beatnik/pci/gt_pci_init.c,
ep1a/console/polled_io.c, ep1a/irq/openpic_xxx_irq.c,
gen5200/include/irq.h, gen5200/irq/irq.c, gen5200/startup/bspstart.c,
haleakala/irq/irq.c, mbx8xx/irq/irq.c, mbx8xx/irq/irq.h,
motorola_powerpc/include/bsp.h, mpc8260ads/irq/irq.c,
mpc8260ads/irq/irq.h, mvme3100/include/bsp.h, mvme3100/irq/irq.h,
mvme3100/start/start.S, mvme5500/include/bsp.h, mvme5500/irq/irq.h,
psim/include/bsp.h, psim/include/coverhd.h, psim/irq/irq.h,
psim/shmsupp/addrconv.c, psim/shmsupp/getcfg.c,
psim/startup/linkcmds, psim/tools/psim-gdb-top.in,
psim/tools/psim-top.in, psim/tools/runtest-top.in, qemuppc/irq/irq.h,
score603e/irq/irq.c, shared/bootloader/bootldr.h,
shared/bootloader/em86.c, shared/bootloader/em86real.S,
shared/bootloader/exception.S, shared/bootloader/head.S,
shared/bootloader/lib.c, shared/bootloader/misc.c,
shared/bootloader/mm.c, shared/bootloader/pci.c,
shared/console/console.c, shared/console/consoleIo.h,
shared/console/inch.c, shared/console/keyboard.h,
shared/console/polled_io.c, shared/irq/i8259.c, shared/irq/irq.h,
shared/irq/openpic_i8259_irq.c, shared/motorola/motorola.c,
shared/motorola/motorola.h, shared/openpic/openpic.c,
shared/openpic/openpic.h, shared/pci/pci.c,
shared/residual/residual.c, shared/start/start.S, ss555/irq/irq.h:
Fix typo where license said found in found in.
|
|
|
|
|
|
|
|
| |
* include/u-boot.h: Removed file.
* include/u-boot-config.h: New file.
* include/bsp.h, start/start.S, startup/bspstart.c: Use new U-Boot
support.
* Makefile.am, preinstall.am: Reflect changes above.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* Makefile.am, startup/bspstart.c: Rename BSP specific idle thread to
bsp_idle_thread and split into its own file.
* startup/bspidle.c: New file.
|
|
|
|
|
| |
* include/bsp.h, startup/bspstart.c: Rename _Thread_Idle_body to
bsp_idle_thread.
|
|
|
|
|
| |
* include/bsp.h, startup/bspstart.c: Change prototype of IDLE thread to
consistently return void * and take a uintptr_t argument.
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac, console/console.c, include/bsp.h,
startup/bspstart.c: Use standardized bsp_cleanup() which can
optionally print a message, poll for user to press key, and call
bsp_reset(). Using this eliminates the various bsp_cleanup()
implementations which had their own implementation and variety of
string constants.
* startup/bspreset.c: New file.
* startup/bspclean.c: Removed.
|
|
|
|
|
|
|
| |
* Makefile.am, include/bsp.h, network_5200/network.c, start/start.S,
startup/bspstart.c, startup/cpuinit.c: Use top level shared
bsp_get_work_area() implementation. Augment it to know about U-Boot.
* startup/bspgetworkarea.c: Removed.
|
|
|
|
|
| |
* clock/clock.c, startup/bspstart.c: Remove unnecessary includes of
rtems/libcsupport.h and rtems/libio.h.
|
|
|
|
|
|
|
| |
* Makefile.am, startup/bspstart.c: Use shared bsp_get_work_area() in
its own file and rely on BSP Framework to perform more
initialization.
* startup/bspgetworkarea.c: New file.
|
|
|
|
| |
exception and interrupt code.
|
| |
|
|
|
|
|
|
| |
* include/bsp.h, irq/irq.c, irq/irq_init.c, startup/bspclean.c,
startup/bspstart.c: Slightly better names for IRQ benchmarking. Make
sure the routines are present all the time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* startup/bspstart.c: Add capability for bootcard.c BSP Initialization
Framework to ask the BSP where it has memory for the RTEMS Workspace
and C Program Heap. These collectively are referred to as work area.
If the BSP supports this, then it does not have to include code to
split the available memory between the two areas. This reduces the
amount of code in the BSP specific bspstart.c file. Additionally, the
shared framework can initialize the C Library, call
rtems_debug_enable(), and dirty the work area memory. Until most/all
BSPs support this new capability, if the BSP supports this, it should
call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
When the transition is complete, this autoconf macro can be removed.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* startup/bspstart.c: Refactored and renamed initialization routines to
rtems_initialize_data_structures, rtems_initialize_before_drivers,
rtems_initialize_device_drivers, and
rtems_initialize_start_multitasking. This opened the sequence up so
that bootcard() could provide a more robust and flexible framework
which is easier to explain and understand. This also lays the
groundwork for sharing the division of available memory between the
RTEMS workspace and heap and the C library initialization across all
BSPs.
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac, irq/irq.c, startup/bspclean.c, startup/bspstart.c: Add
ALLOW_IRQ_NESTING option. The MPC5200 has a settle time after
acknowledging the IRQs and currently the BSP does not account for
that. After acknowledging an interrupt, it currently gets a second
spurious IRQ a significant percentage of the time. Rename to
BENCHMARK_IRQ_PROCESSING and get it working again. Under one test
load, not nesting interrupts resulted in a 50% reduction in the
number of IRQs and an ~30% reduction in time spent in IRQs.
|
|
|
|
|
|
| |
* irq/irq.c, startup/bspclean.c, startup/bspstart.c: I give. The code
is now in conditionally so I can avoid putting it in accidently
again.
|
|
|
|
|
|
|
| |
* bsp_specs, clock/clock.c, include/bsp.h, irq/irq.c,
startup/bspclean.c, startup/bspstart.c: Eliminate copies of the
Configuration Table. Use the RTEMS provided accessor macros to obtain
configuration fields.
|
|
|
|
|
|
| |
* startup/bspstart.c: Move interrupt_stack_size field from CPU Table to
Configuration Table. Eliminate CPU Table from all ports. Delete
references to CPU Table in all forms.
|
|
|
|
|
|
|
|
|
| |
* startup/bspstart.c: Moved most of the remaining CPU Table fields to
the Configuration Table. This included pretasking_hook,
predriver_hook, postdriver_hook, idle_task, do_zero_of_workspace,
extra_mpci_receive_server_stack, stack_allocate_hook, and
stack_free_hook. As a side-effect of this effort some multiprocessing
code was made conditional and some style clean up occurred.
|
|
|
|
| |
* startup/bspstart: removed _Cpu_table.exceptions_in_RAM.
|
|
|
|
|
|
| |
* clock/clock.c, startup/bspstart.c: Eliminate PowerPC specific
elements from the CPU Table. They have been replaced with variables
named bsp_XXX as needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add Embedded Planets EP5200 which is the same as the Freescale
5200Lite (a.k.a. IceCube) evaluation board.
* Makefile.am: Add linkcmds.ep5200.
Add -DMPC5200_BAPI_LIBC_HEADERS to remove some warnings in bestcomm.
* preinstall.am: Add linkcmds.ep5200.
* clock/clock.c: Correct math for prescaler/counter when bus speed
is high enough to require multiple passes of loop.
* console/console.c: Use same math for initial baud rate as when it
is changed via ioctl. When HAS_UBOOT is defined, initialize console
to the same baud as it was with U-Boot.
* include/bsp.h: Add EP5200 and console boot baud support.
* include/mpc5200.h: Spacing.
* startup/bspstart.c: If HAS_UBOOT and SHOW_MORE_INIT_SETTINGS are
both defined, dump the U-Boot BD info structure.
* vectors/vectors.S: ep5200 cannot use vectors segment. When loading
it, U-Boot freezes. Besides, U-Boot can automatically start the BSP
so we do not have to run from board reset.
* startup/linkcmds.ep5200: New file.
|
|
|
|
|
|
|
|
|
| |
* clock/clock.c, console/console.c, ide/pcmcia_ide.c, irq/irq.c,
irq/irq.h, irq/irq_asm.S, irq/irq_init.c, nvram/nvram.c,
nvram/nvram.h, slicetimer/slicetimer.c, startup/bspstart.c,
vectors/vectors.h, vectors/vectors_init.c: Correct license URL and/or
fix mistake in copyright notice. Both of these mistakes appear to be
from code submitted after these changes were made previously.
|
|
|
|
|
|
| |
* startup/bspstart.c: Remove assignments of
Cpu_table.do_zero_of_workspace to TRUE since TRUE is the default
value in boot_card.c
|
| |
|
| |
|
| |
|
|
submission).
|