| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Close #2824.
|
|
|
|
|
|
| |
The MPC5XX support uses a legacy interrupt/exception infrastructure.
Close #2819.
|
|
|
|
| |
Update #2751.
|
|
|
|
| |
Update #2751.
|
|
|
|
|
|
|
|
|
| |
Use a processor-specific interrupt frame during context switches in case
the executing thread is longer executes on the processor and the heir
thread is about to start execution. During this period we must not use
a thread stack for interrupt processing.
Update #2809.
|
|
|
|
|
|
|
| |
Rename ppc_exc_min_frame to CPU_Interrupt_frame. Move it and the
corresponding defines to <rtems/score/cpuimpl.h>.
Update #2809.
|
|
|
|
|
|
|
| |
The only remaining user of CPU_Interrupt_frame on PowerPC is the mpc5xx
support. Move it to here.
Update #2809.
|
|
|
|
|
|
|
| |
This type is not relevant for the code since only a pointer is passed
around.
Update #2809.
|
|
|
|
|
|
| |
Move CPU_Interrupt_frame related defines to <rtems/score/cpuimpl.h>.
Update #2809.
|
|
|
|
|
|
|
|
| |
Rename SPARC-specific CPU_Minimum_stack_frame to
SPARC_Minimum_stack_frame. Rename SPARC-specific
CPU_MINIMUM_STACK_FRAME_SIZE to SPARC_MINIMUM_STACK_FRAME_SIZE.
Update #2809.
|
|
|
|
|
|
|
|
| |
Rename SPARC64-specific CPU_Minimum_stack_frame to
SPARC64_Minimum_stack_frame. Rename SPARC64-specific
CPU_MINIMUM_STACK_FRAME_SIZE to SPARC64_MINIMUM_STACK_FRAME_SIZE.
Update #2809.
|
|
|
|
| |
Avoid duplicate mips_vector_isr_handlers() declarations.
|
|
|
|
|
|
| |
Use the previously unused TPIDRPRW register to get the per-CPU control
of the current processor. This avoids instructions in
GET_SELF_CPU_CONTROL which are not available in Thumb mode.
|
| |
|
|
|
|
|
|
|
|
| |
Add _CPU_Get_current_per_CPU_control() on SMP configurations. Use SPRG0
for the current per-CPU control. This reduces the code size by three
instructions and is slightly faster.
Update #2805.
|
|
|
|
| |
Update #2797.
|
|
|
|
| |
Close #2800.
|
|
|
|
|
|
| |
CONFIGURE_INTERRUPT_STACK_SIZE
closes #2801.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The text and data sections may have different alignment requirements.
Support a data section alignment greater than 16.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The single write to memory or ioport output are mostly
atomic operations already. The proper memory synchronization barrier
should be used around them to guarantee ordering (sync or eieio
on PowerPC for example) but because I have not found settable
portable primitive only compiler barrier is used.
It should be enough on x86 because the externally visible order
should be/is guaranteed to be preserved on x86 architecture.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When GCC option -march is not specifies i386-rtems toolchain
defaults to i386 architecture instruction set. It does not
provide atomic instructions which results in really inefficient
atomic_fetch_or even on UP build.
SMP build is broken with i386 set because libatomic and GCC
generate infinite loop for __atomic_fetch_add_4 used
in rtems_interrupt_lock_acquire
__atomic_fetch_add_4:
push %ebp
mov %esp,%ebp
movl $0x5,0x10(%ebp)
pop %ebp
jmp __atomic_fetch_add_4
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The global state of enabled and disabled interrupts has to hold
interrupts really disabled by drivers and system. If the state is
combined with interrupts temporarily disabled because they are
processed at given time then it is impossible to maintain state
by interrupt handlers in drivers.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The GNU linker does not allow a nonconstant expression for a region
length.
|
|
|
|
| |
Update #2695.
|
|
|
|
| |
Prevent garbage collection of interrupt vector table.
|
| |
|
| |
|
|
|
|
| |
startup and selftest.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
HalCoGen generated files.
The configuration is specific for TMS570LS3137 based HDK.
Pins configuration can be easily changed in
rtems/c/src/lib/libbsp/arm/tms570/hwinit/init_pinmux.c
file.
The list tms570_selftest_par_list in the file
rtems/c/src/lib/libbsp/arm/tms570/hwinit/bspstarthooks-hwinit.c
specifies peripherals which health status is examined
by parity self-test at BSP start-up. It can be easily
modified for other TMS570 family members variants same
as the selection of other tests in bspstarthooks-hwinit.c.
|
|
|
|
|
|
|
|
| |
Generated header file ti_herc/reg_spi.h contains complete registers
and fields set for Ti MibSPI peripheral.
Care has to be taken that only TMS570_SPI1, TMS570_SPI3 and TMS570_SPI5
are of this complete multibuffer type. TMS570_SPI2 and TMS570_SPI4
have substantial part of registers removed but else they are compatible.
|
|
|
|
|
|
|
|
| |
The symbol can be used by bsp_start_hook_0 when complete
RAM memory is initialization and overwritten during BSP
self-test. The test overwrites even memory used to store
return address / link register and regular resturn from
bsp_start_hook_0 is not possible then.
|
|
|
|
|
|
|
|
|
|
|
| |
Tested to work with QEMU provided Intel i82557b network controller emulation.
qemu-system-x86_64 -enable-kvm -kernel $APP_BINARY \
-vga cirrus \
-append "--console=/dev/com1" \
-serial stdio \
-net nic,vlan=1,macaddr=be:be:be:10:00:01,model=i82557b \
-net tap,ifname=tap1,vlan=1,script=no,downscript=no
|
|
|
|
|
|
|
| |
more available on i386.
This change is required to build RTEMS with classic "--enable-networking"
and link applications/tests which reference RTEMS_BSP_NETWORK_DRIVER_ATTACH.
|
|
|
|
|
|
|
|
| |
This makes the new Termios devices independent of device major/minor
numbers. It enables BSP independent Termios device drivers which may
reside in the cpukit domain. These drivers require an IMFS and do not
work with the device file system. However, the device file system
should go away in the future.
|