Commit Graph

35 Commits

Author SHA1 Message Date
Sebastian Huber
f91fbbf4b8 bsps/i386: Interrupt server support 2015-09-30 15:30:09 +02:00
Joel Sherrill
1ecb21d8f4 libbsp/i386/shared: Fix warnings 2014-10-16 08:58:47 -05:00
Chris Johns
c49985691f Change all references of rtems.com to rtems.org. 2014-03-21 08:10:47 +11:00
Sebastian Huber
4e3b7e26a2 bsps/i386: SMP and per-CPU thread dispatch disable
Interrupt support for SMP and the per-CPU thread dispatch disable level.
2013-08-09 23:02:45 +02:00
Sebastian Huber
55b1aee441 bsps/i386: Revert most SMP related changes
The commit partially restores the _ISR_Handler code to the original
version in commit b8fc2de1ce.  A list of
reverted changes follows.

commit c236082873
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Tue Jul 30 15:54:53 2013 +0200

    smp: Provide cache optimized Per_CPU_Control

    Delete _Per_CPU_Information_p.

This commit was completely reverted.

commit 39e51758c8
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Fri Jun 14 14:00:38 2013 +0200

    smp: Add and use _CPU_SMP_Get_current_processor()

    Add and use _SMP_Get_current_processor() and
    rtems_smp_get_current_processor().

    Delete bsp_smp_interrupt_cpu().

    Change type of current processor index from int to uint32_t to match
    _SMP_Processor_count type.

This commit was completely reverted.

commit e94aa61b68
Author: Till Straumann <strauman@slac.stanford.edu>
Date:   Fri Aug 5 00:15:50 2011 +0000

    2011-08-04	Till Straumann <strauman@slac.stanford.edu>

    	* shared/irq/irq_asm.S: BUGFIX (introduced by SMP changes
    	which moved code around, apparently): *must* store i8259
    	mask to frame *before* switching to IRQ stack. The code
    	retrieves the mask after switching back to original stack.
    	Also, the IRQ stack has no reserved space for the mask;
    	storing it there could overwrite memory!

This commit was completely reverted.

commit 01f2692e33
Author: Jennifer Averett <Jennifer.Averett@OARcorp.com>
Date:   Mon Aug 1 13:41:50 2011 +0000

    2011-08-01	Jennifer Averett <Jennifer.Averett@OARcorp.com>

    	PR 1802
    	* shared/irq/irq_asm.S, shared/irq/irq_init.c, shared/smp/smp-imps.c,
    	shared/smp/smp-imps.h: Add SMP support for i386.
    	* shared/smp/getcpuid.c: New file.

The parts modifying the code of _ISR_Handler were reverted.

commit 66729db311
Author: Joel Sherrill <joel.sherrill@OARcorp.com>
Date:   Wed Mar 16 20:05:17 2011 +0000

    2011-03-16	Jennifer Averett <jennifer.averett@OARcorp.com>

    	PR 1729/cpukit
    	* shared/irq/irq_asm.S: 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.

This commit was completely reverted.
2013-08-09 23:02:45 +02:00
Sebastian Huber
c236082873 smp: Provide cache optimized Per_CPU_Control
Delete _Per_CPU_Information_p.
2013-07-31 15:09:04 +02:00
Sebastian Huber
39e51758c8 smp: Add and use _CPU_SMP_Get_current_processor()
Add and use _SMP_Get_current_processor() and
rtems_smp_get_current_processor().

Delete bsp_smp_interrupt_cpu().

Change type of current processor index from int to uint32_t to match
_SMP_Processor_count type.
2013-07-17 13:09:49 +02:00
Joel Sherrill
9b4422a251 Remove All CVS Id Strings Possible Using a Script
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.
2012-05-11 08:44:13 -05:00
Till Straumann
e94aa61b68 2011-08-04 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/irq_asm.S: BUGFIX (introduced by SMP changes
	which moved code around, apparently): *must* store i8259
	mask to frame *before* switching to IRQ stack. The code
	retrieves the mask after switching back to original stack.
	Also, the IRQ stack has no reserved space for the mask;
	storing it there could overwrite memory!
2011-08-05 00:15:50 +00:00
Jennifer Averett
01f2692e33 2011-08-01 Jennifer Averett <Jennifer.Averett@OARcorp.com>
PR 1802
	* shared/irq/irq_asm.S, shared/irq/irq_init.c, shared/smp/smp-imps.c,
	shared/smp/smp-imps.h: Add SMP support for i386.
	* shared/smp/getcpuid.c: New file.
2011-08-01 13:41:50 +00:00
Joel Sherrill
3bc1585cdc 2011-04-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/irq/irq_asm.S: Rename rtems_smp_maximum_processors to
	rtems_configuration_smp_maximum_processors since it is defined in
	confdefs.h.
2011-04-11 17:16:50 +00:00
Joel Sherrill
9c24c7332c 2011-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1768/bsps
	* shared/irq/irq_asm.S: The nbench benchmark highlighted the fact that
	we do not perform a cld before calling C code in the ISR. This was
	historically not a problem but gcc 4.3 changed the behavior. From
	http://gcc.gnu.org/gcc-4.3/changes.html
2011-04-04 16:44:46 +00:00
Joel Sherrill
66729db311 2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>
PR 1729/cpukit
	* shared/irq/irq_asm.S: 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.
2011-03-16 20:05:17 +00:00
Joel Sherrill
b8fc2de1ce 2011-02-14 Joel Sherrill <joel.sherrilL@OARcorp.com>
* shared/irq/irq_asm.S: Fix typo.
2011-02-14 21:35:48 +00:00
Joel Sherrill
aa069732c9 2011-01-28 Joel Sherrill <joel.sherrilL@OARcorp.com>
* shared/irq/irq_asm.S: Fix typo where license said found in found in.
2011-01-28 20:25:14 +00:00
Joel Sherrill
5fbf42c276 2011-01-06 Joel Sherrill <joel.sherrilL@OARcorp.com>
* shared/irq/irq_asm.S: Fix spelling.
2011-01-06 14:34:08 +00:00
Joel Sherrill
8980996edd 2010-06-29 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/irq/irq_asm.S: Rename rtems_per_cpu_info.
2010-06-29 17:45:34 +00:00
Joel Sherrill
15519cba23 2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1573/cpukit
	* shared/irq/irq.c, shared/irq/irq_asm.S: Add a per cpu data structure
	which contains the information required by RTEMS for each CPU core.
	This encapsulates information such as thread executing, heir, idle
	and dispatch needed.
2010-06-29 00:38:13 +00:00
Joel Sherrill
591b76084c 2010-06-15 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/irq/irq_asm.S: Fix capitalization.
2010-06-15 16:36:19 +00:00
Ralf Corsepius
3495c57d11 Whitespace removal. 2009-11-30 03:49:08 +00:00
Till Straumann
4a4201cb41 2009-11-10 Till Straumann <strauman@slac.stanford.edu>
* pc386/make/custom/pc586-sse.cfg, pc386/start/start.S,
	shared/irq/irq_asm.S: Added experimental SSE support.
2009-11-10 06:51:52 +00:00
Till Straumann
385212f554 2009-10-29 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/irq_asm.S: Make sure stack is aligned to CPU_STACK_ALIGNMENT
	for *all* C-routines (including _Thread_Dispatch() and
	_ThreadProcessSignalsFromIrq()) not only C_dispatch_isr().

	* shared/irq/irq.c: Added IRQ statistics counters.
2009-10-30 04:07:51 +00:00
Till Straumann
287e4a8b6b 2009-10-29 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/irq_asm.S: Beautification; ajusted margins and
	spaces to make the whole thing more readable.
2009-10-29 16:05:05 +00:00
Till Straumann
1fe3e3cf25 2009-10-29 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/irq_asm.S, shared/irq/irq.c: removed
	(fake) exception frame argument to _ThreadProcessSignalsFromIrq().
	This has never been used and removing it simplifies the assembly
	code.
2009-10-29 15:53:31 +00:00
Till Straumann
abf41fdf99 2009-10-28 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/irq_asm.S: Make sure stack is aligned to
	CPU_STACK_ALIGNMENT before invoking C-code.
2009-10-29 03:20:21 +00:00
Joel Sherrill
b321b10e3d 2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1385/cpukit
	* shared/irq/irq_asm.S: When the type rtems_boolean was switched to the
	C99 bool, the size changed from 4 bytes to 1 byte. The interrupt
	dispatching code accesses two boolean variables for scheduling
	purposes and the assembly implementations of this code did not get
	updated.
2009-03-12 14:33:05 +00:00
Joel Sherrill
a62222fb51 2009-02-19 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/irq/irq.c, shared/irq/irq.h, shared/irq/irq_asm.S: Add shared
	interrupt support to i386.
2009-02-19 20:22:25 +00:00
Jennifer Averett
529cebf00d 2005-05-06 Jennifer Averett <jennifer.averett@oarcorp.com>
* Makefile.am, comm/i386-stub-glue.c, comm/tty_drv.c, comm/uart.c,
	irq/idt.c, irq/irq.c, irq/irq.h, irq/irq_asm.S, irq/irq_init.c: Moved
	irq.h and irq_asm.h to bsp subdirectory.
2005-05-06 19:55:45 +00:00
Jennifer Averett
f0a25283d9 2005-04-18 Eric Valette <eric.valette@free.fr>
* irq/irq.c, irq/irq.h, irq/irq_asm.S, irq/irq_init.c: Added parameter
	to irq handler
2005-04-18 17:25:59 +00:00
Ralf Corsepius
f05b2ac0bc Remove duplicate white lines. 2004-04-21 16:01:48 +00:00
Ralf Corsepius
6128a4aa5e Remove stray white spaces. 2004-04-21 10:43:04 +00:00
Ralf Corsepius
a1e601dae9 2004-04-09 Ralf Corsepius <ralf_corsepius@rtems.org>
* irq/irq_asm.S: Include <rtems/asm.h> instead of <asm.h>.
2004-04-09 05:01:19 +00:00
Ralf Corsepius
602448c056 2004-02-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* irq/irq_asm.S: Convert #..-comments to /*..*/ comments.
2004-02-03 06:29:09 +00:00
Joel Sherrill
a3c71238a2 2003-09-04 Joel Sherrill <joel@OARcorp.com>
* comm/gdb_glue.c, irq/idt.c, irq/irq.c, irq/irq.h, irq/irq_asm.S,
	irq/irq_asm.h, irq/irq_init.c: URL for license changed.
2003-09-04 18:51:24 +00:00
Joel Sherrill
01629105c2 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to rename all
.s files to .S in conformance with GNU conventions.  This is a
minor step along the way to supporting automake.
1998-12-14 23:15:38 +00:00