summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/i386/rtems/score/cpu.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-11-22score: PR1607: Add and use CPU_SIZEOF_POINTERSebastian Huber1-0/+2
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.
2012-06-11i386/cpu.h: Define CPU_SIMPLE_VECTORED_INTERRUPTS and remove _CPU_ISR_InitializeJoel Sherrill1-2/+14
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-2/+0
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.
2011-09-272011-09-27 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-0/+2
PR 1914/cpukit * rtems/score/cpu.h: Select timestamp implementation.
2011-03-162011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>Joel Sherrill1-3/+15
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.
2011-02-112011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-4/+4
* 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.
2010-07-162010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-2/+2
* rtems/score/cpu.h: Include <rtems/score/types.h> first. * rtems/score/types.h: Use <rtems/score/basedefs.h> header file.
2009-12-04Whitespace removal.Ralf Corsepius1-3/+3
2009-11-102009-11-09 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-1/+116
* cpu.c, cpu_asm.S, rtems/score/cpu.h, sse_test.c: Added experimental SSE support.
2009-10-292009-10-29 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-0/+10
* 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.
2009-10-292009-10-28 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-4/+3
* 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.
2009-10-292009-10-28 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-4/+54
* 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.
2009-10-202009-10-20 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-2/+2
* score/cpu/i386/cpu.c, score/cpu/i386/cpu.h: let the default exception handler print a stack trace.
2009-09-252009-09-25 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-1/+1
* rtems/score/cpu.h: Add no return atrribute to _CPU_Context_restore() since it is used for restarting self.
2009-02-122009-02-12 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+1
* cpu.c, rtems/score/cpu.h: Change prototype of IDLE thread to consistently return void * and take a uintptr_t argument.
2009-02-112009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-3/+1
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and passing address of _Thread_Dispatch to _CPU_Initialize. Clean up comments.
2008-09-082008-09-08 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+1
* rtems/score/cpu.h: Remove extraneous spaces.
2008-08-192008-08-19 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-6/+3
* cpu.c: Fix prototypes. * rtems/score/cpu.h: Use memcpy() initialize FP structure and avoid many casts and potential warnings.
2008-08-16Add missing prototypes.Ralf Corsepius1-1/+1
2008-07-312008-07-31 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-2/+2
* cpu.c, rtems/score/cpu.h: Correct prototype of Idle threads.
2007-12-172007-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-0/+3
* rtems/score/cpu.h: Add _CPU_Context_Get_SP() for stack check utility.
2007-12-042007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-13/+0
* 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.
2007-12-032007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-12/+0
* 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.
2007-11-262007-11-26 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-13/+0
* rtems/score/cpu.h: Eliminate the interrupt_table_segment and interrupt_table_offset fields in the i386 CPU Table since they are never read.
2007-05-092007-05-09 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+0
* rtems/score/cpu.h: Remove CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES.
2007-04-17Use Context_Control_fp* instead of void* for fp_contexts.Ralf Corsepius1-2/+2
2006-02-012006-02-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* 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.
2005-01-28New header guard.Ralf Corsepius1-2/+2
2004-11-21Cosmetics.Ralf Corsepius1-1/+0
2004-11-022004-10-02 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius1-2/+5
* 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.
2004-04-16Remove stray white spaces.Ralf Corsepius1-7/+7
2004-03-302004-03-30 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius1-32/+32
* cpu.c, cpu_asm.S, rtems/score/cpu.h, rtems/score/interrupts.h: Convert to using c99 fixed size types.
2003-09-042003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* 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.
2002-04-122002-03-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-1/+2
* 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>.
2002-04-032001-04-03 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* 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.
2001-11-282001-11-28 Joel Sherrill <joel@OARcorp.com>,Joel Sherrill1-0/+7
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.
2001-01-032001-01-03 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-0/+3
* rtems/score/cpu.h: Added _CPU_Initialize_vectors().
2000-07-26Port of RTEMS to the Texas Instruments C3x/C4x DSP families includingJoel Sherrill1-0/+1
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.
1999-11-17Updated copyright notice.Joel Sherrill1-2/+1
1999-11-05This is another pass at making sure that nothing outside the BSPJoel Sherrill1-0/+15
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>.
1999-07-29Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>Joel Sherrill1-1/+1
to correct a typo CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES was actually typed in as CPU_CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES.
1999-02-18Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1-0/+487
> 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