| Commit message (Collapse) | Author | Files | Lines |
|
* sapi/include/confdefs.h, score/cpu/i386/cpu.c: Fix typos so you
really can define a user scheduler.
|
|
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.
|
|
* include/rtems/bspIo.h, include/rtems/concat.h, include/rtems/irq.h,
score/cpu/i386/rtems/score/idtr.h,
score/cpu/powerpc/rtems/powerpc/registers.h,
score/src/objectidtoname.c, score/src/schedulerpriorityblock.c,
score/src/schedulerpriorityschedule.c,
score/src/schedulerpriorityunblock.c,
score/src/schedulerpriorityyield.c, score/src/thread.c,
score/src/threadchangepriority.c, score/src/threadclearstate.c,
score/src/threadclose.c, score/src/threadcreateidle.c,
score/src/threaddelayended.c, score/src/threaddispatch.c,
score/src/threadget.c, score/src/threadhandler.c,
score/src/threadinitialize.c, score/src/threadloadenv.c,
score/src/threadready.c, score/src/threadreset.c,
score/src/threadrestart.c, score/src/threadresume.c,
score/src/threadsetpriority.c, score/src/threadsetstate.c,
score/src/threadsettransient.c, score/src/threadstackallocate.c,
score/src/threadstackfree.c, score/src/threadstart.c,
score/src/threadstartmultitasking.c, score/src/threadsuspend.c,
score/src/threadtickletimeslice.c, score/src/threadyieldprocessor.c:
Fix typo where license said found in found in.
|
|
PR 1635/cpukit
* rtems/score/types.h: Refactoring of priority handling, to isolate the
bitmap implementation of priorities in the supercore so that priority
management is a little more modular. This change is in anticipation
of scheduler implementations that can select how they manage tracking
priority levels / finding the highest priority ready task. Note that
most of the changes here are simple renaming, to clarify the use of
the bitmap-based priority management.
|
|
* rtems/score/cpu.h: Include <rtems/score/types.h> first.
* rtems/score/types.h: Use <rtems/score/basedefs.h> header file.
|
|
* cpu_asm.S: Formatting.
|
|
* rtems/score/registers.h: Remove structs with bit-fields. Add a mask
for cr3 page directory.
|
|
* cpu.c, cpu_asm.S, sse_test.c: Add include of config.h
|
|
|
|
* cpu.c, cpu_asm.S, rtems/score/cpu.h, sse_test.c:
Added experimental SSE support.
|
|
PR 1469/cpukit
* cpu.c: Add dummy entry for (non-existing) exception #15.
Otherwise all slots for vectors >= 16 are one element off.
|
|
* 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.
|
|
* ChangeLog, score/cpu/i386/ChangeLog: moved log messages
I had erroneously written to cpukit/Changelog to
cpukit/score/cpu/i386/ChangeLog.
|
|
* 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/rtems/asm.h: Added definition for cr4 register.
|
|
* 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/types.h: Do not define boolean, single_precision,
double_precision unless RTEMS_DEPRECATED_TYPES is given.
|
|
* rtems/score/cpu.h: Remove extraneous spaces.
|
|
|
|
* cpu.c: Stop using old-style defs.
|
|
* rtems/score/types.h: Include stdbool.h.
Use bool as base-type for boolean.
|
|
|
|
* cpu.c: Fix prototypes.
* rtems/score/cpu.h: Use memcpy() initialize FP structure and avoid
many casts and potential warnings.
|
|
* rtems/score/cpu.h, rtems/score/i386.h: Add missing prototypes.
|
|
|
|
* cpu.c, rtems/score/cpu.h: Correct prototype of Idle threads.
|
|
* rtems/score/cpu.h: Add _CPU_Context_Get_SP() for stack check utility.
|
|
* rtems/score/idtr.h: Sweep to make sure grep for COPYRIGHT passes.
|
|
* 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.
|
|
* score/cpu/arm/cpu.c, score/cpu/avr/cpu.c, score/cpu/bfin/cpu.c,
score/cpu/c4x/cpu.c, score/cpu/h8300/cpu.c, score/cpu/i386/cpu.c,
score/cpu/m68k/cpu.c, score/cpu/mips/cpu.c, score/cpu/nios2/cpu.c,
score/cpu/no_cpu/cpu.c, score/cpu/sh/cpu.c, score/cpu/sparc/cpu.c,
cpukit/sapi/src/exinit.c: Move copying of CPU Table to shared
executive initialization.
|
|
* rtems/score/cpu.h: Remove CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES.
|
|
|
|
* cpu.c:
Use Context_Control_fp* instead of void* for fp_contexts.
|
|
* rtems/score/cpu.h:
Use Context_Control_fp* instead of void* for fp_contexts.
|
|
|
|
|
|
* rtems/score/types.h: Remove unsigned64, signed64.
|
|
* 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.
|
|
|
|
|
|
|