| Commit message (Collapse) | Author | Files | Lines |
|
Add and use new CPU port define CPU_SIZEOF_POINTER. It must be an
integer literal that can be used by the assembler. This value will be
used to calculate offsets of structure members. These offsets will be
used in assembler code.
The size of a pointer is part of the application binary interface (ABI)
and thus independent of the actual programming language. The compiler
will provide defines to determine the current ABI. We use these defines
to select the appropriate CPU_SIZEOF_POINTER value.
Static assertions in the new file "cpukit/score/src/percpuasm.c" will
ensure that the value of CPU_SIZEOF_POINTER is consistent with the
current compiler settings. Also the offset values used by assembler
code are verfied.
|
|
|
|
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.
|
|
PR 1914/cpukit
* rtems/score/cpu.h: Select timestamp implementation.
|
|
PR 1729/cpukit
* configure.ac, sapi/include/confdefs.h, sapi/src/exinit.c,
score/Makefile.am, score/preinstall.am,
score/cpu/i386/rtems/score/cpu.h, score/cpu/sparc/cpu_asm.S,
score/cpu/sparc/rtems/score/cpu.h,
score/include/rtems/score/basedefs.h,
score/include/rtems/score/context.h,
score/include/rtems/score/percpu.h, score/src/percpu.c,
score/src/thread.c, score/src/threadcreateidle.c: 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.
* aclocal/check-smp.m4, aclocal/enable-smp.m4,
score/include/rtems/bspsmp.h, score/include/rtems/score/smplock.h,
score/src/smp.c, score/src/smplock.c: New files.
|
|
* cpu.c, sse_test.c, rtems/score/cpu.h, rtems/score/i386.h,
rtems/score/interrupts.h:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
* rtems/score/cpu.h: Include <rtems/score/types.h> first.
* rtems/score/types.h: Use <rtems/score/basedefs.h> header file.
|
|
|
|
* cpu.c, cpu_asm.S, rtems/score/cpu.h, sse_test.c:
Added experimental SSE support.
|
|
* rtems/score/cpu.h: Define _CPU_Interrupt_stack_setup() macro
which reserves space for the 'vector' arg to _C_dispatch_isr()
routine and aligns the irq stack to CPU_STACK_ALIGNMENT.
|
|
* rtems/score/cpu.h: Replaced misleading typedef of
CPU_Interrupt_frame by 'void'. The i386 port does not
pass any frame info to the interrupt handlers.
|
|
* score/cpu/i386/rtems/score/cpu.h:
Added #ifdef ASM constructs so that this header can be
included from assembly code.
Increased CPU_STACK_ALIGNMENT to 16 bytes. Gcc maintains
16-byte alignment and it may be a advantageous to provide
initial 16-byte alignment. When using SSE some gcc versions
may produce code that crashes if the stack is not 16-byte aligned.
Make sure _CPU_Context_Initialize() sets the thread stack
up so that it is aligned to CPU_CACHE_ALIGNMENT.
* score/cpu/i386/cpu_asm.S:
Align stack to CPU_CACHE_ALIGNMENT before calling C-code.
|
|
* score/cpu/i386/cpu.c, score/cpu/i386/cpu.h: let the default
exception handler print a stack trace.
|
|
* rtems/score/cpu.h: Add no return atrribute to _CPU_Context_restore()
since it is used for restarting self.
|
|
* cpu.c, rtems/score/cpu.h: Change prototype of IDLE thread to
consistently return void * and take a uintptr_t argument.
|
|
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
|
|
* rtems/score/cpu.h: Remove extraneous spaces.
|
|
* cpu.c: Fix prototypes.
* rtems/score/cpu.h: Use memcpy() initialize FP structure and avoid
many casts and potential warnings.
|
|
|
|
* cpu.c, rtems/score/cpu.h: Correct prototype of Idle threads.
|
|
* rtems/score/cpu.h: Add _CPU_Context_Get_SP() for stack check utility.
|
|
* cpu.c, rtems/score/cpu.h: 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.
|
|
* rtems/score/cpu.h: 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.
|
|
* rtems/score/cpu.h: Eliminate the interrupt_table_segment and
interrupt_table_offset fields in the i386 CPU Table since they are
never read.
|
|
* rtems/score/cpu.h: Remove CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES.
|
|
|
|
* rtems/score/cpu.h: Increase default stack size on i386 from 1K to 4K.
Most i386 targets are not memory strapped so making this a bit large
is not a burden. It lets more tests run. ticker and psxtimer will not
even run with 1K of stack.
|
|
|
|
|
|
* rtems/score/cpu.h: Add doxygen preamble.
* rtems/score/i386.h: Add doxygen preamble.
* rtems/score/idtr.h: Add doxygen preamble.
* rtems/score/interrupts.h: Add doxygen preamble.
* rtems/score/registers.h: Add doxygen preamble.
* rtems/score/types.h: Add doxygen preamble.
|
|
|
|
* cpu.c, cpu_asm.S, rtems/score/cpu.h, rtems/score/interrupts.h:
Convert to using c99 fixed size types.
|
|
* cpu.c, cpu_asm.S, rtems/score/cpu.h, rtems/score/i386.h,
rtems/score/idtr.h, rtems/score/interrupts.h,
rtems/score/registers.h, rtems/score/types.h: URL for license
changed.
|
|
* rtems/score/idtr.h: New file, extracted from libcpu/cpu.h.
* rtems/score/interrupts.h: New file, extracted from libcpu/cpu.h.
* rtems/score/registers.h: New file, moved from libcpu.
* Makefile.am: Reflect changes above.
* cpu.c: Don't include cpuModel.h,
#include <rtems.h>,
#include <rtems/score/i386types.h>,
#include <rtems/score/idtr.h>.
* rtems/score/cpu.h: Don't include libcpu/cpu.h.
#include <rtems/score/interrupts.h>,
#include <rtems/score/registers.h>.
|
|
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h.
* rtems/score/i386types.h: Removed.
* rtems/score/types.h: New file via CVS magic.
* Makefile.am, rtems/score/cpu.h: Account for name change.
|
|
This was tracked as PR91.
* rtems/score/cpu.h: Added CPU_PROVIDES_ISR_IS_IN_PROGRESS macro which
is used to specify if the port uses the standard macro for this (FALSE).
A TRUE setting indicates the port provides its own implementation.
|
|
* rtems/score/cpu.h: Added _CPU_Initialize_vectors().
|
|
a BSP (c4xsim) supporting the simulator included with gdb. This port
was done by Joel Sherrill and Jennifer Averett of OAR Corporation.
Also included with this port is a space/time optimization to eliminate
FP context switch management on CPUs without hardware or software FP.
An issue with this port was that sizeof(unsigned32) = sizeof(unsigned8)
on this CPU. This required addressing alignment checks and assumptions
as well as fixing code that assumed sizeof(unsigned32) == 4.
|
|
|
|
unnecessarily uses any variables defined by the BSP. On this
sweep, use of BSP_Configuration and Cpu_table was eliminated.
A significant part of this modification was the addition of
macros to access fields in the RTEMS configuration structures.
This is necessary to strengthen the division between the BSP independent
parts of RTEMS and the BSPs themselves. This started after
comments and analysis by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
|
|
to correct a typo CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES was actually
typed in as CPU_CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES.
|
|
> 4) rtems-rc-19990202-0.diff /reorg-score-cpu.sh
>
> reorg-score-cpu.sh reorganizes the cpu/<cpu>/* subdirectories in a
> similar manner than previous reorg scripts did. rtems-rc-19990202-0.diff
> contains the diffs after reorg-score-cpu.sh has been run on a
> rtems-19981215 snapshot + my patches up to rtems-rc-19990131-2.diff.
>
> This patch is rather nasty and may break something. However, I've tested
> it for about 10 different target/bsp pairs and believe to have shaken
> out most bugs.
I wonder about the following .h files that were not moved:
a29k/asm.h
a29k/cpu_asm.h
i386/asm.h
i960/asm.h
m68k/asm.h
m68k/m68302.h
m68k/m68360.h
m68k/qsm.h
m68k/sim.h
mips64orion/asm.h
mips64orion/cpu_asm.h
mips64orion/mips64orion.h
no_cpu/asm.h
no_cpu/cpu_asm.h
powerpc/asm.h
powerpc/mpc860.h
sh/asm.h
sparc/asm.h
sparc/erc32.h
|