This is the mail archive of the ecos-cvs@sources.redhat.com mailing list for the ecos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

eCos anonymous CVS repository updated


The eCos anonymous CVS repository has been updated today (2001-08-10).

The following changes were made to NEWS and ChangeLogs:

Index: packages/NEWS
===================================================================
RCS file: /cvs/ecos/ecos/packages/NEWS,v
retrieving revision 1.39
diff -u -0 -r1.39 NEWS
--- NEWS	2001/07/31 21:15:36	1.39
+++ NEWS	2001/08/10 19:24:09
@@ -0,0 +1,2 @@
+* Generic SMP support added.
+* RedBoot support added to AM33-STB port.
Index: packages/compat/posix/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/compat/posix/current/ChangeLog,v
retrieving revision 1.17
diff -u -0 -r1.17 ChangeLog
--- ChangeLog	2001/06/15 22:45:04	1.17
+++ ChangeLog	2001/08/10 19:24:15
@@ -0,0 +1,71 @@
+2001-08-06  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* cdl/posix.cdl: Reorganize dependencies so that signals, timers
+	and pthreads really can be disabled, and the relevant files don't
+	get built.
+	Build new mutex.cxx file.
+	Remove duplicate CYGPKG_POSIX_SCHED dependency for pthreads.
+
+	* include/limits.h: Don't include irrelevant header dependencies.
+
+	* include/muttypes.h: New type defining mutex/cond var types separately
+	from other pthread types.
+
+	* include/types.h: Remove mutex/cond var types.
+
+	* include/signal.h: Conditionalize on CYGPKG_POSIX_SIGNALS
+
+	* include/sigsetjmp.h: Don't include irrelevant header dependencies.
+	Rewrite sigsetjmp in a much more compiler friendly (and readable)
+	way with less type punning.
+
+	* src/misc.cxx: Don't include sysconf cases when pthreads or
+	CYGPKG_POSIX_TIMERS not enabled.
+
+	* src/mutex.cxx: New file, broken out of pthreads.cxx, as most
+	of it is not fixed to the pthreads implementation, and I've fixed
+	the bits that were too tied to it.
+
+	* src/pprivate.h: Conditionalize definitions that are specific
+	to CYGPKG_POSIX_PTHREAD. Ditto for prototypes for CYGPKG_POSIX_SIGNALS
+	and CYGPKG_POSIX_TIMERS. Move PTHREAD_ENTRY/RETURN etc. macros
+	here so they can be used throughout the package.
+
+	* src/pthread.cxx: Remove mutex/cond var implementation, and
+	entry/return macros, as per above.
+
+	* src/signal.cxx (cyg_sigqueue): Don't just set non-queueable signals 
+	pending - also forcibly wake up any blocked threads.
+	(siglongjmp): Use new layout of sigjmp_buf.
+
+	* tests/mutex3.c:
+	* tests/pthread1.c:
+	* tests/pthread2.c:
+	* tests/pthread3.c:
+	* tests/signal1.c:
+	* tests/sigsetjmp.c:
+	* tests/timer1.c:
+	* tests/tm_basic.cxx:
+	Correct configuration dependencies, and do NA appropriately.
+	
+2001-08-03  Nick Garnett  <nickg@cygnus.co.uk>
+
+	Imported from a development branch:
+	
+	2001-06-27  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* tests/pthread3.c:
+		Modified the loop that waits for the threads to get going so that
+		it will function correctly in an SMP system, where the threads
+		will run in parallel.
+
+		* tests/mutex3.c: Disabled this test for SMP systems. It depends
+		too much on predicting the priority-driven execution order of the
+		threads. In an SMP system, some threads will run in parallel and
+		falsify the assumptions.
+
+	2001-05-25  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* src/signal.cxx (siglongjmp): Minor change to satisfy latest C++
+		compiler.
+
Index: packages/devs/flash/amd/am29xxxxx/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/flash/amd/am29xxxxx/current/ChangeLog,v
retrieving revision 1.5
diff -u -0 -r1.5 ChangeLog
--- ChangeLog	2001/07/29 02:00:08	1.5
+++ ChangeLog	2001/08/10 19:24:22
@@ -0,0 +1,4 @@
+2001-08-10  Jesper Skov  <jskov@redhat.com>
+
+	* include/flash_am29xxxxx.inl (flash_hwr_init): Fix block number.
+
Index: packages/devs/flash/arm/iq80310/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/flash/arm/iq80310/current/ChangeLog,v
retrieving revision 1.3
diff -u -0 -r1.3 ChangeLog
--- ChangeLog	2001/06/15 22:45:05	1.3
+++ ChangeLog	2001/08/10 19:24:30
@@ -0,0 +1,4 @@
+2001-08-04  Mark Salter  <msalter@redhat.com>
+
+	* src/flash.h (FLASH_P2V): First 4K of flash now mapped at 0xd0000000.
+
Index: packages/devs/flash/intel/28fxxx/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/flash/intel/28fxxx/current/ChangeLog,v
retrieving revision 1.4
diff -u -0 -r1.4 ChangeLog
--- ChangeLog	2001/06/29 14:45:50	1.4
+++ ChangeLog	2001/08/10 19:24:35
@@ -0,0 +1,9 @@
+2001-08-10  Jesper Skov  <jskov@redhat.com>
+
+	* cdl/flash_intel_28fxxx.cdl: Added options for variants.
+
+	* include/flash_28fxxx.inl: Support bootblock parts. Support
+	locking. Buffered writes are broken though.
+
+	* include/flash_28fxxx_parts.inl: Created.
+
Index: packages/devs/flash/mn10300/stb/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/flash/mn10300/stb/current/ChangeLog,v
retrieving revision 1.1
diff -u -0 -r1.1 ChangeLog
--- ChangeLog	2001/06/10 19:35:25	1.1
+++ ChangeLog	2001/08/10 19:24:41
@@ -0,0 +1,4 @@
+2001-08-03  David Howells  <dhowells@redhat.com>
+
+	* src/mn10300_stb_flash.c: updated to latest AMD flash interface.
+
Index: packages/devs/usb/sa11x0/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/usb/sa11x0/current/ChangeLog,v
retrieving revision 1.3
diff -u -0 -r1.3 ChangeLog
--- ChangeLog	2001/06/01 22:16:36	1.3
+++ ChangeLog	2001/08/10 19:24:46
@@ -0,0 +1,5 @@
+2001-08-06  Bart Veer  <bartv@redhat.com>
+
+	* src/usbs_sa11x0.c:
+	Add initial support for USB testing.
+
Index: packages/hal/arm/iq80310/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/iq80310/current/ChangeLog,v
retrieving revision 1.7
diff -u -0 -r1.7 ChangeLog
--- ChangeLog	2001/06/22 18:18:48	1.7
+++ ChangeLog	2001/08/10 19:24:50
@@ -0,0 +1,5 @@
+2001-08-04  Mark Salter  <msalter@redhat.com>
+
+	* include/hal_platform_setup.h: Fix mapping so first MB of SDRAM has
+	ECC turned on. Now map first 4K of flash at 0xd0000000.
+
Index: packages/hal/common/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/common/current/ChangeLog,v
retrieving revision 1.64
diff -u -0 -r1.64 ChangeLog
--- ChangeLog	2001/07/29 02:00:08	1.64
+++ ChangeLog	2001/08/10 19:24:56
@@ -0,0 +1,23 @@
+2001-08-03  Nick Garnett  <nickg@redhat.com>
+
+        Imported from a development branch:
+	
+	2001-07-11  Nick Garnett  <nickg@redhat.com>
+
+		* include/drv_api.h: 
+		* src/drv_api.c:
+		Added API for controlling routing of interrupts to CPUs in SMP
+		configurations.
+
+	2001-06-29  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* include/drv_api.h: 
+		* src/drv_api.c:
+		Added API for using spinlocks.
+
+2001-08-03  Jesper Skov  <jskov@redhat.com>
+
+	* tests/vaargs.c: Added.
+	* cdl/hal.cdl: Added CYGPKG_HAL_BUILD_COMPILER_TESTS to allow cpp1
+	and vaargs tests to be compiled conditionally.
+
Index: packages/hal/mips/rm7000/ocelot/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/mips/rm7000/ocelot/current/ChangeLog,v
retrieving revision 1.4
diff -u -0 -r1.4 ChangeLog
--- ChangeLog	2001/06/22 18:18:56	1.4
+++ ChangeLog	2001/08/10 19:25:01
@@ -0,0 +1,17 @@
+2001-08-09  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* include/plf_intr.h: Move HAL_INTERRUPT_ interrupt controller
+	access macros to variant HAL as they are generic.
+
+2001-08-08  Chris Morrow  <cmorrow@YottaYotta.com>
+
+	* include/plf_intr.h (HAL_INTERRUPT_MASK): Use correct comparison
+	for determining when to use interrupt control register.
+	Also use cfc rather than mfc insns. Also simplify a fraction.
+	(HAL_INTERRUPT_UNMASK): Ditto.
+
+2001-08-03  Jesper Skov  <jskov@redhat.com>
+
+	* cdl/hal_mips_rm7000_ocelot.cdl: Removed obsolete and wrong
+	gdb_module build runes.
+
Index: packages/hal/mips/rm7000/var/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/mips/rm7000/var/current/ChangeLog,v
retrieving revision 1.4
diff -u -0 -r1.4 ChangeLog
--- ChangeLog	2001/06/25 18:24:35	1.4
+++ ChangeLog	2001/08/10 19:25:07
@@ -0,0 +1,5 @@
+2001-08-09  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* include/var_intr.h: Move HAL_INTERRUPT_ interrupt controller
+	access macros here from Ocelot HAL.
+
Index: packages/hal/mn10300/stb/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/mn10300/stb/current/ChangeLog,v
retrieving revision 1.3
diff -u -0 -r1.3 ChangeLog
--- ChangeLog	2001/02/13 01:23:31	1.3
+++ ChangeLog	2001/08/10 19:25:14
@@ -0,0 +1,25 @@
+2001-08-03  David Howells  <dhowells@redhat.com>
+
+	* cdl/hal_mn10300_am33_stb.cdl: added vector support and made to
+	work with RedBoot and flash.
+	* include/plf_intr.h: ditto.
+	* include/plf_io.h: ditto.
+	* include/plf_stub.h: ditto.
+	* include/pkgconf/mlt_mn10300_am33_stb_rom.h: ditto.
+	* include/pkgconf/mlt_mn10300_am33_stb_rom.mlt: ditto.
+	* include/pkgconf/mlt_mn10300_am33_stb_sram1.h: ditto.
+	* include/pkgconf/mlt_mn10300_am33_stb_sram1.ldi: ditto.
+	* include/pkgconf/mlt_mn10300_am33_stb_sram1.mlt: ditto.
+	* misc/redboot_RAM.ecm: ditto.
+	* misc/redboot_ROM.ecm: ditto.
+	* misc/redboot_SRAM1.ecm: ditto.
+	* src/plf_misc.c: ditto.
+	* src/plf_stub.c: ditto.
+	* src/ser_stb.c: ditto.
+
+2001-08-02  Nick Garnett  <nickg@redhat.com>
+
+	* include/plf_io.h:
+	Added this file to match assumption now made in arch files that it
+	exists.
+
Index: packages/hal/mn10300/stdeval1/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/mn10300/stdeval1/current/ChangeLog,v
retrieving revision 1.15
diff -u -0 -r1.15 ChangeLog
--- ChangeLog	2001/02/13 01:23:31	1.15
+++ ChangeLog	2001/08/10 19:25:20
@@ -0,0 +1,6 @@
+2001-08-02  Nick Garnett  <nickg@redhat.com>
+
+	* include/plf_io.h:
+	Added this file to match assumption now made in arch files that it
+	exists.	
+
Index: packages/hal/sh/cq7750/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/sh/cq7750/current/ChangeLog,v
retrieving revision 1.8
diff -u -0 -r1.8 ChangeLog
--- ChangeLog	2001/07/18 11:38:41	1.8
+++ ChangeLog	2001/08/10 19:25:25
@@ -0,0 +1,6 @@
+2001-08-08  Jesper Skov  <jskov@redhat.com>
+
+	* misc/redboot_ROM.ecm: Added.
+
+	* cdl/hal_sh_sh7750_cq7750.cdl: Added RedBoot build rule.
+
Index: packages/hal/sh/dreamcast/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/sh/dreamcast/current/ChangeLog,v
retrieving revision 1.1
diff -u -0 -r1.1 ChangeLog
--- ChangeLog	2001/07/31 21:15:40	1.1
+++ ChangeLog	2001/08/10 19:25:33
@@ -0,0 +1,4 @@
+2001-08-06  Jesper Skov  <jskov@redhat.com>
+
+	* cdl/hal_sh_sh7750_dreamcast.cdl: Set linux boot parameters.
+
Index: packages/hal/sh/sh4/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/sh/sh4/current/ChangeLog,v
retrieving revision 1.11
diff -u -0 -r1.11 ChangeLog
--- ChangeLog	2001/07/29 02:00:09	1.11
+++ ChangeLog	2001/08/10 19:25:38
@@ -0,0 +1,4 @@
+2001-08-08  Jesper Skov  <jskov@redhat.com>
+
+	* include/mod_7750.h: Don't use UBC as handling of it is broken.
+
Index: packages/infra/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/infra/current/ChangeLog,v
retrieving revision 1.21
diff -u -0 -r1.21 ChangeLog
--- ChangeLog	2001/07/20 10:23:19	1.21
+++ ChangeLog	2001/08/10 19:25:43
@@ -0,0 +1,22 @@
+2001-08-03  Nick Garnett  <nickg@cygnus.co.uk>
+
+	Imported from a development branch:
+	
+	2001-06-27  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* src/diag.cxx: 
+		* src/tcdiag.cxx:
+		Added use of CYG_HAL_DIAG_LOCK() and CYG_HAL_DIAG_UNLOCK() to
+		diag_printf(), cyg_assert_msg() and cyg_test_output() to prevent
+		messages from different CPUs being mingled.
+
+	2001-05-22  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* include/cyg_type.h (CYGBLD_ANNOTATE_VARIABLE_*):
+		Added better way of supplying default definitions for these.
+
+	2001-04-27  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* include/cyg_type.h:
+		Added default variable annotation macros.
+
Index: packages/io/eth/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/io/eth/current/ChangeLog,v
retrieving revision 1.19
diff -u -0 -r1.19 ChangeLog
--- ChangeLog	2001/07/06 19:11:35	1.19
+++ ChangeLog	2001/08/10 19:25:50
@@ -0,0 +1,16 @@
+2001-08-09  Hugo Tyson  <hmt@redhat.com>
+
+	* src/net/eth_drv.c (eth_drv_recv): Add a pair of
+	CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP() on entry and exit;
+	this function is intercalled between RedBoot and the application.
+	A minor re-org at the ending to accommodate these macros' nesting.
+	(eth_drv_tx_done): CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP().
+
+	* src/stand_alone/eth_drv.c (eth_drv_tx_done): Add a pair of
+	CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP() on entry and exit;
+	this function is intercalled between RedBoot and the application.
+	Also make printing message about "tx_done for other key" also
+	conditional on net_debug variable - it's commonplace.
+	(eth_drv_recv): CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP().
+	(eth_drv_copy_recv): CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP().
+
Index: packages/io/flash/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/io/flash/current/ChangeLog,v
retrieving revision 1.16
diff -u -0 -r1.16 ChangeLog
--- ChangeLog	2001/07/29 02:00:10	1.16
+++ ChangeLog	2001/08/10 19:25:57
@@ -0,0 +1,7 @@
+2001-08-10  Jesper Skov  <jskov@redhat.com>
+
+	* cdl/io_flash.cdl: Changed flavor of
+	CYGHWR_IO_FLASH_BLOCK_LOCKING to booldata.
+	* include/flash.h: Matching changes.
+	* src/flash.c: Matching changes.
+
Index: packages/io/usb/slave/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/io/usb/slave/current/ChangeLog,v
retrieving revision 1.2
diff -u -0 -r1.2 ChangeLog
--- ChangeLog	2001/06/29 07:16:29	1.2
+++ ChangeLog	2001/08/10 19:26:05
@@ -0,0 +1,5 @@
+2001-08-06  Bart Veer  <bartv@redhat.com>
+
+	* include/usbs.h:
+	Define additional data structures required for USB testing.
+
Index: packages/isoinfra/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/isoinfra/current/ChangeLog,v
retrieving revision 1.10
diff -u -0 -r1.10 ChangeLog
--- ChangeLog	2001/07/29 02:00:10	1.10
+++ ChangeLog	2001/08/10 19:26:10
@@ -0,0 +1,7 @@
+2001-08-06  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* cdl/isoinfra.cdl: Add a separate POSIX mutex types header option.
+	* include/sys/types.h: Include it.
+	* include/time.h: Provide a default struct timespec even if the
+	implementation doesn't provide something better.
+
Index: packages/kernel/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/kernel/current/ChangeLog,v
retrieving revision 1.62
diff -u -0 -r1.62 ChangeLog
--- ChangeLog	2001/07/29 02:00:10	1.62
+++ ChangeLog	2001/08/10 19:26:16
@@ -0,0 +1,300 @@
+2001-08-06  Hugo Tyson  <hmt@redhat.com>
+
+	* src/sched/sched.cxx (unlock_inner): Fix assignment to current,
+	wouldn't build if stack checking after merger from SMP branch.
+
+2001-08-06  Andrew Lunn   <andrew.lunn@ascom.ch>
+2001-08-06  Hugo Tyson  <hmt@redhat.com>
+
+	* src/sync/mutex.cxx: (set_protocol) Added a function to set the
+	priority inversion protocol for a mutex.
+
+	* src/common/kapi.cxx: Export the new function above and
+	set_ceiling into the C API.
+	
+	* include/mutex.hxx (class Cyg_Mutex): New member function
+	set_protocol().
+
+	* include/kapi.h (cyg_protcol): Define new emumeration for mutex
+	priority protocol setting, and headers for the new function to set
+	it.
+
+2001-08-03  Nick Garnett  <nickg@redhat.com>
+
+	Imported from a development branch:
+	
+	2001-07-11  Nick Garnett  <nickg@redhat.com>
+
+		* src/sched/mlqueue.cxx: Changed behaviour of
+		set_need_reschedule() to a better implementation of the intended
+		algorithm.
+
+		* include/kapi.h: 
+		* src/common/kapi.cxx:
+		Added API for controlling routing of interrupts to CPUs in SMP
+		configurations.
+
+	2001-07-03  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* cdl/scheduler.cdl:
+		* include/bitmap.hxx:
+		* src/sched/bitmap.cxx:
+		Fixed up bitmap scheduler so it still works within the
+		SMP-modified scheduling infrastructure. The bitmap scheduler
+		is not currently SMP-enabled, only single CPU configurations are
+		supported - hence the CDL change to require this.
+
+	2001-06-29  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* src/sched/sched.cxx:
+		Removed the call to Cyg_Interrupt::enable_interrupts() in
+		Cyg_Scheduler::start_cpu(). This was a relic from the days when
+		the interrupt enable state was not part of the thread state. Now
+		it is, and loading the first thread will cause interrupts to be
+		enabled.
+
+		* src/intr/intr.cxx:
+		Changed initial values of Cyg_Interrupt::disable_counter[]s to
+		zero as a result of the change in Cyg_Scheduler::start_cpu().
+
+		* include/kapi.h:
+		* include/kapidata.h:
+		* src/common/kapi.cxx: 
+		Added API for using spinlocks. Largely so that it may be extended
+		to the driver API.
+
+		* include/mlqueue.hxx:
+		* include/intr.hxx:
+		* include/sched.hxx:
+		Added annotations to various static variables.
+
+	2001-06-28  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* include/intr.hxx:
+		* src/intr/intr.cxx:
+		Changed behaviour of Cyg_Interrupt::disable_interrupts() and
+		Cyg_Interrupt::enable_interrupts(). These now claim and release a
+		spinlock in addition to disabling and enabling interrupts. The
+		original interrupt state is also preserved and restored. This is
+		necessary in SMP systems to allow drivers etc. to correctly
+		synchronize with threads and DSRs that may be running on different
+		CPUs. In the single CPU case this mechanism reduces to the
+		original simple interrupt disable code.
+		[Later change] Backed off addition of volatile modifier to
+		interrupt_disable_state.
+
+		* include/smp.hxx: Some minor tidies.
+
+	2001-06-27  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* tests/release.cxx: Added spin loop in thread1 to allow thread0
+		to execute its wait. This is necessary in SMP systems where the
+		threads will execute in parallel, but is also benign in single CPU
+		systems.
+
+		* tests/mutex2.cxx:
+		* tests/mutex3.cxx:
+		* tests/sync3.cxx: 
+		* tests/thread2.cxx: 
+		These tests depend on predicting the behaviour of threads at
+		different priorities to pass. In an SMP system, several threads
+		will run in parallel, and the execution order will not be as
+		expected. These tests are therefore disabled in SMP
+		configurations.
+
+		* src/sched/mlqueue.cxx (add_thread): Moved call to
+		set_need_reschedule() out of test for empty queue. In SMP systems,
+		any addition to a queue may require a reschedule on another CPU.
+
+	2001-06-22  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* include/mlqueue.hxx:
+		* src/sched/mlqueue.cxx:
+		A major change to the way in which this scheduler works in SMP
+		systems. The previous version removed all runnable threads from
+		the run queues when they were executing. This resulted in serious
+		complications and messy code, particularly when dealing with
+		priority changes and timeslicing. The new version keeps running
+		threads in the run queues, just like the single-CPU version. The
+		main disadvantage of this is that we may have to search past
+		threads running on other CPUs before we find one available to run
+		on this CPU. However, the pending count array and map mean that we
+		only need search one run queue, and in any case the search remains
+		bounded by the number of CPUs available.
+		Another change is in the way that timeslicing is handled. Now, the
+		CPU that takes the clock interrupt decrements the timeslice counts
+		for all CPUs and if any go zero, sends a TIMESLICE message to
+		that CPU.
+
+		* src/sched/sched.cxx (unlock_inner):
+		Removed call to requeue(), no longer needed as a result of
+		scheduler reorganization.
+
+		* src/common/thread.cxx:
+		Added test in Cyg_Thread::exit() to check that the thread has not
+		already been killed. This is only an issue if the thread is
+		calling exit() when it is kill()ed from another CPU. The test is
+		redundant in single-CPU systems, but it does no harm having it.
+		Added code to Cyg_Thread::set_priority() to check for reschedule
+		when another thread is being changed in priority.
+		Added call in idle thread constructor to scheduler to install the
+		idle thread as the default current thread for a CPU.
+
+		* include/smp.hxx:
+		Added CYG_KERNEL_CPU_TIMESLICE_INTERRUPT(), did some miscellaneous
+		tidying.
+
+		* include/instrmnt.h: Added SMP_RESCHED_SEND and SMP_RESCHED_RECV
+		events.
+
+		* cdl/kernel.cdl: Added smp test program.
+
+		* tests/smp.cxx: Added this program to test SMP functionality.
+
+	2001-06-13  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* src/sched/sched.cxx:
+		Removed code to set up initial current thread, this is now done
+		in the idle thread constructor.
+		Added code here to set up interrupts for SMP inter-processor
+		interrupts. This is not very tidy and may need to be
+		changed in the future.
+
+		* src/sched/mlqueue.cxx:
+		Added local set_need_reschedule() function to set the
+		need_reschedule flag on a suitable CPU.
+		Many more changes to cope with SMP systems.
+		NOTE: This code has all become somthing of a mess, it need to be
+		tidied up and the SMP-specific changes integrated better into the
+		code. Also, timesliceing currently only works on the CPU that
+		takes clock interrupts - this needs fixing.
+
+		* src/common/thread.cxx:
+		Moved assignment of initial current thread to here from sched.cxx.
+
+		* include/smp.hxx:
+		Changed CYG_KERNEL_CPU_INTERRUPT()
+		CYG_KERNEL_CPU_RESCHEDULE_INTERRUPT() since there may be other
+		interrupt types to worry about.
+		Added annotations to scheduler data items.
+
+		* include/sched.hxx:
+		Split set_current_thread() into two functions, the original works
+		only on the current CPU, the new one sets another CPU's current
+		thread. This latter function is only used to prime the current
+		threads during initialization.
+		Added second need_reschedule() function that takes a thread
+		argument. This is intended to be overridden by a scheduler
+		specific function that sets the need_reschedule flag if the
+		supplied thread is more deserving of CPU time that any current
+		thread.
+
+		* include/mlqueue.hxx:
+		Made cyg_scheduler_set_need_reschedule() a friend of
+		Cyg_Scheduler_Implementation class.
+		Added override set_need_reschedule() functions.
+
+		* include/kapidata.h: Added cpu field to cyg_thread structure when
+		in SMP systems.
+
+		* include/intr.hxx:
+		* src/intr/intr.cxx:
+		Added Cyg_Interrupt::set_cpu() and Cyg_Interrupt::get_cpu() for
+		SMP systems.
+
+		* include/instrmnt.h: Added events for INTR_GET_CPU and
+		INTR_SET_CPU.
+
+	2001-05-29  Nick Garnett  <nickg@cygnus.co.uk>
+
+		The following changes were all imported from the SMP branch:
+
+		* tests/tm_basic.cxx:
+		Modified to work in SMP configuration - mostly at present by
+		ifdeffing out code I didn't want to fix.
+
+		* include/sched.hxx:
+		Moved scheduler lock operation into Cyg_Scheduler_SchedLock class.
+		Converted current_thread, need_reschedule, and thread_switches
+		into CPU indexed arrays. Added member functions to get and set
+		these indirectly.
+		Added start_cpu() to do per-CPU scheduler startup.
+
+		* include/sched.inl:
+		Converted scheduler lock/unlock functions to use new schedlock
+		class.
+
+		* src/sched/sched.cxx:
+		Changed in line with sched.hxx.
+		Added call to requeue() in unlock_inner() to restore current
+		thread to run queue if necessary.	
+		Moved most of scheduler startup to Cyg_Scheduler::start_cpu().
+		Cyg_Scheduler::start() now also starts secondary CPUs in SMP
+		systems.
+		Added cyg_kernel_smp_startup() as entry point from HAL into kernel
+		for secondary CPUs.
+
+		* include/mlqueue.hxx:
+		Added Cyg_RunQueue type and removed
+		Cyg_SchedulerThreadQueue_Implementation type.
+		Converted timeslice_count to CPU indexed array.
+		Added requeue() member function to scheduler class.
+		Added cpu member to thread implementation class, to record
+		thread's current CPU.
+
+		* src/sched/mlqueue.cxx:
+		Changed behaviour when in SMP system to remove scheduled thread
+		from run queue and replace it when preempted.
+		Added some extra asserts, and removed some that are no longer true
+		in an SMP system.
+
+		* src/instrmnt/meminst.cxx: In SMP systems: added spinlock to
+		protect instrument buffer, added CPU Id in top 4 bits of thread Id
+		field.
+
+		* src/common/thread.cxx:
+		Converted to use accessor functions for need_reschedule and
+		current_thread.
+		Rearranged idle thread creation to create one for each CPU.
+
+		* include/test/stackmon.h: Extended to handle stack usage for
+		multiple idle threads.
+
+		* include/thread.inl:
+		Added some extra instrumentation.
+
+		* include/smp.hxx:
+		Added this file to contain all kernel SMP support. The main
+		definitions exported by this file are spin lock and scheduler lock
+		implementation classes, for both SMP and uniprocessor
+		configurations.
+
+		* src/intr/intr.cxx: 
+		* include/intr.hxx:
+		Converted interrupt disable counter to CPU indexed array. In
+		intr.cxx: added lock of scheduler lock in interrupt_end() rather
+		than in default interrupt VSR.
+
+		* cdl/kernel.cdl: Added option to enable SMP support.
+
+		* include/instrmnt.h: 
+		* cdl/instrument.cdl: Added SMP instrumentation.
+
+	2001-05-25  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* include/intr.hxx:
+		* src/intr/intr.cxx: 
+		Added default definition of CYGNUM_HAL_ISR_TABLE_SIZE. This is now
+		used to declare the chain table so that architectures which have
+		different sizes for the interrupt table and vector count will work
+		correctly.
+
+	2001-05-22  Nick Garnett  <nickg@cygnus.co.uk>
+
+		* include/sched.hxx (class Cyg_Scheduler_Base):
+		Added annotation to sched_lock.
+
+		* cdl/instrument.cdl:
+		Rename CYGNUM_KERNEL_INSTRUMENT_BUFFER_WRAP to
+		CYGDBG_KERNEL_INSTRUMENT_BUFFER_WRAP as it appears in the code.
+
Index: packages/language/c/libc/stdio/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/language/c/libc/stdio/current/ChangeLog,v
retrieving revision 1.10
diff -u -0 -r1.10 ChangeLog
--- ChangeLog	2001/07/29 02:00:10	1.10
+++ ChangeLog	2001/08/10 19:26:34
@@ -0,0 +1,13 @@
+2001-08-10  Robin Farine  <robin.farine@terminus.org>
+
+        * src/output/vfnprintf.cxx (cvt): Handles the cases of finite,
+        NaN and infinite numbers separately.
+
+	* src/common/stream.cxx (read): Read correct number of bytes when
+	a character has been "ungot".
+
+2001-08-03  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* include/streambuf.inl (~Cyg_StdioStreamBuffer): use correct configury
+	to decide when to call free.
+
Index: packages/language/c/libc/string/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/language/c/libc/string/current/ChangeLog,v
retrieving revision 1.1
diff -u -0 -r1.1 ChangeLog
--- ChangeLog	2000/08/25 17:33:41	1.1
+++ ChangeLog	2001/08/10 19:26:42
@@ -0,0 +1,11 @@
+2001-08-10  Robin Farine  <acnrf@dial.eunet.ch>
+
+	* src/memchr.cxx (__memchr): Don't check string validity if number
+	of bytes to operate on is 0.
+	* src/memcmp.cxx (__memcmp): Ditto.
+	* src/memmove.cxx (__memmove): Ditto.
+	* src/strncat.cxx (__strncat): Ditto.
+	* src/strncmp.cxx (__strncmp): Ditto.
+	* src/strncpy.cxx (__strncpy): Ditto.
+	* src/strxfrm.cxx (__strxfrm): Ditto.
+
Index: packages/redboot/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/redboot/current/ChangeLog,v
retrieving revision 1.36
diff -u -0 -r1.36 ChangeLog
--- ChangeLog	2001/08/03 12:27:34	1.36
+++ ChangeLog	2001/08/10 19:26:50
@@ -0,0 +1,29 @@
+2001-08-10  Jesper Skov  <jskov@redhat.com>
+
+	* src/flash.c (do_flash_init): Print error message instead of
+	error code on init failure.
+	Don't print error codes where error messages are printed. Make
+	failure reporting strings look consistent.
+ 	CYGHWR_IO_FLASH_BLOCK_LOCKING flavor changed to booldata.
+
+2001-08-08  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* src/io.c (gets): Match $ as indicating GDB anywhere in a line.
+
+2001-08-07  Julian Smart <julians@redhat.com>
+
+	* src/version.c: added commented-out CYGDAT_REDBOOT_CUSTOM_VERSION
+	define that can be replaced using the RedBoot release script by
+	a specific version in a customer branch.
+
+2001-08-06  Jesper Skov  <jskov@redhat.com>
+
+	* src/fs/disk.c: Simple fix for DISK_IDE_CDROM partition type.
+
+	* cdl/redboot.cdl: Added (unused) CYGSEM_REDBOOT_DISK_ISO9660 option.
+
+2001-08-03  David Howells  <dhowells@redhat.com>
+
+	* src/net/net_io.c: Show the MAC address of the ethernet device
+	amongst the boot banners.
+

====================================

Here is a summary of the files modified:

M host/tools/Utils/common/Subprocess.cpp
M host/tools/configtool/common/common/build.cxx
M host/tools/configtool/standalone/wxwin/CHANGES.txt
M host/tools/configtool/standalone/wxwin/TODO.txt
M host/tools/configtool/standalone/wxwin/admindlg.cpp
M host/tools/configtool/standalone/wxwin/configtool.h
M host/tools/configtool/standalone/wxwin/configtooldoc.cpp
M host/tools/configtool/standalone/wxwin/configtooldoc.h
M host/tools/configtool/standalone/wxwin/mainwin.cpp
M host/tools/configtool/standalone/wxwin/mainwin.h
R host/tools/configtool/standalone/wxwin/readme.html
M host/tools/configtool/standalone/wxwin/symbols.h
M packages/NEWS
M packages/compat/posix/current/ChangeLog
M packages/compat/posix/current/cdl/posix.cdl
M packages/compat/posix/current/include/limits.h
A packages/compat/posix/current/include/muttypes.h
M packages/compat/posix/current/include/signal.h
M packages/compat/posix/current/include/sigsetjmp.h
M packages/compat/posix/current/include/types.h
M packages/compat/posix/current/src/misc.cxx
A packages/compat/posix/current/src/mutex.cxx
M packages/compat/posix/current/src/pprivate.h
M packages/compat/posix/current/src/pthread.cxx
M packages/compat/posix/current/src/signal.cxx
M packages/compat/posix/current/tests/mutex3.c
M packages/compat/posix/current/tests/pthread1.c
M packages/compat/posix/current/tests/pthread2.c
M packages/compat/posix/current/tests/pthread3.c
M packages/compat/posix/current/tests/signal1.c
M packages/compat/posix/current/tests/sigsetjmp.c
M packages/compat/posix/current/tests/timer1.c
M packages/compat/posix/current/tests/tm_basic.cxx
M packages/devs/flash/amd/am29xxxxx/current/ChangeLog
M packages/devs/flash/amd/am29xxxxx/current/include/flash_am29xxxxx.inl
M packages/devs/flash/arm/iq80310/current/ChangeLog
M packages/devs/flash/arm/iq80310/current/src/flash.h
M packages/devs/flash/intel/28fxxx/current/ChangeLog
M packages/devs/flash/intel/28fxxx/current/cdl/flash_intel_28fxxx.cdl
M packages/devs/flash/intel/28fxxx/current/include/flash_28fxxx.inl
A packages/devs/flash/intel/28fxxx/current/include/flash_28fxxx_parts.inl
M packages/devs/flash/mn10300/stb/current/ChangeLog
M packages/devs/flash/mn10300/stb/current/src/mn10300_stb_flash.c
M packages/devs/usb/sa11x0/current/ChangeLog
M packages/devs/usb/sa11x0/current/src/usbs_sa11x0.c
M packages/hal/arm/iq80310/current/ChangeLog
M packages/hal/arm/iq80310/current/include/hal_platform_setup.h
M packages/hal/common/current/ChangeLog
M packages/hal/common/current/cdl/hal.cdl
M packages/hal/common/current/include/drv_api.h
M packages/hal/common/current/src/drv_api.c
A packages/hal/common/current/tests/vaargs.c
M packages/hal/mips/rm7000/ocelot/current/ChangeLog
M packages/hal/mips/rm7000/ocelot/current/cdl/hal_mips_rm7000_ocelot.cdl
M packages/hal/mips/rm7000/ocelot/current/include/plf_intr.h
M packages/hal/mips/rm7000/var/current/ChangeLog
M packages/hal/mips/rm7000/var/current/include/var_intr.h
M packages/hal/mn10300/stb/current/ChangeLog
M packages/hal/mn10300/stb/current/cdl/hal_mn10300_am33_stb.cdl
M packages/hal/mn10300/stb/current/include/plf_intr.h
A packages/hal/mn10300/stb/current/include/plf_io.h
M packages/hal/mn10300/stb/current/include/plf_stub.h
M packages/hal/mn10300/stb/current/include/pkgconf/mlt_mn10300_am33_stb_rom.h
M packages/hal/mn10300/stb/current/include/pkgconf/mlt_mn10300_am33_stb_rom.mlt
A packages/hal/mn10300/stb/current/include/pkgconf/mlt_mn10300_am33_stb_sram1.h
A packages/hal/mn10300/stb/current/include/pkgconf/mlt_mn10300_am33_stb_sram1.ldi
A packages/hal/mn10300/stb/current/include/pkgconf/mlt_mn10300_am33_stb_sram1.mlt
A packages/hal/mn10300/stb/current/misc/redboot_RAM.ecm
A packages/hal/mn10300/stb/current/misc/redboot_ROM.ecm
A packages/hal/mn10300/stb/current/misc/redboot_SRAM1.ecm
M packages/hal/mn10300/stb/current/src/plf_misc.c
M packages/hal/mn10300/stb/current/src/plf_stub.c
A packages/hal/mn10300/stb/current/src/ser_stb.c
M packages/hal/mn10300/stdeval1/current/ChangeLog
A packages/hal/mn10300/stdeval1/current/include/plf_io.h
M packages/hal/sh/cq7750/current/ChangeLog
M packages/hal/sh/cq7750/current/cdl/hal_sh_sh7750_cq7750.cdl
A packages/hal/sh/cq7750/current/misc/redboot_ROM.ecm
M packages/hal/sh/dreamcast/current/ChangeLog
M packages/hal/sh/dreamcast/current/cdl/hal_sh_sh7750_dreamcast.cdl
M packages/hal/sh/sh4/current/ChangeLog
M packages/hal/sh/sh4/current/include/mod_7750.h
M packages/infra/current/ChangeLog
M packages/infra/current/include/cyg_type.h
M packages/infra/current/src/diag.cxx
M packages/infra/current/src/tcdiag.cxx
M packages/io/eth/current/ChangeLog
M packages/io/eth/current/src/net/eth_drv.c
M packages/io/eth/current/src/stand_alone/eth_drv.c
M packages/io/flash/current/ChangeLog
M packages/io/flash/current/cdl/io_flash.cdl
M packages/io/flash/current/include/flash.h
M packages/io/flash/current/src/flash.c
M packages/io/usb/slave/current/ChangeLog
M packages/io/usb/slave/current/include/usbs.h
M packages/isoinfra/current/ChangeLog
M packages/isoinfra/current/cdl/isoinfra.cdl
M packages/isoinfra/current/include/time.h
M packages/isoinfra/current/include/sys/types.h
M packages/kernel/current/ChangeLog
M packages/kernel/current/cdl/instrument.cdl
M packages/kernel/current/cdl/kernel.cdl
M packages/kernel/current/cdl/scheduler.cdl
M packages/kernel/current/include/bitmap.hxx
M packages/kernel/current/include/instrmnt.h
M packages/kernel/current/include/intr.hxx
M packages/kernel/current/include/kapi.h
M packages/kernel/current/include/kapidata.h
M packages/kernel/current/include/mlqueue.hxx
M packages/kernel/current/include/mutex.hxx
M packages/kernel/current/include/sched.hxx
M packages/kernel/current/include/sched.inl
A packages/kernel/current/include/smp.hxx
M packages/kernel/current/include/thread.inl
M packages/kernel/current/include/test/stackmon.h
M packages/kernel/current/src/common/kapi.cxx
M packages/kernel/current/src/common/thread.cxx
M packages/kernel/current/src/instrmnt/meminst.cxx
M packages/kernel/current/src/intr/intr.cxx
M packages/kernel/current/src/sched/bitmap.cxx
M packages/kernel/current/src/sched/mlqueue.cxx
M packages/kernel/current/src/sched/sched.cxx
M packages/kernel/current/src/sync/mutex.cxx
M packages/kernel/current/tests/mutex2.cxx
M packages/kernel/current/tests/mutex3.cxx
M packages/kernel/current/tests/release.cxx
A packages/kernel/current/tests/smp.cxx
M packages/kernel/current/tests/sync3.cxx
M packages/kernel/current/tests/thread2.cxx
M packages/kernel/current/tests/tm_basic.cxx
M packages/language/c/libc/stdio/current/ChangeLog
M packages/language/c/libc/stdio/current/include/streambuf.inl
M packages/language/c/libc/stdio/current/src/common/stream.cxx
M packages/language/c/libc/stdio/current/src/output/vfnprintf.cxx
M packages/language/c/libc/string/current/ChangeLog
M packages/language/c/libc/string/current/src/memchr.cxx
M packages/language/c/libc/string/current/src/memcmp.cxx
M packages/language/c/libc/string/current/src/memmove.cxx
M packages/language/c/libc/string/current/src/strncat.cxx
M packages/language/c/libc/string/current/src/strncmp.cxx
M packages/language/c/libc/string/current/src/strncpy.cxx
M packages/language/c/libc/string/current/src/strxfrm.cxx
M packages/redboot/current/ChangeLog
M packages/redboot/current/cdl/redboot.cdl
M packages/redboot/current/src/flash.c
M packages/redboot/current/src/io.c
M packages/redboot/current/src/version.c
M packages/redboot/current/src/fs/disk.c
M packages/redboot/current/src/net/net_io.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]