Mercurial > flash_v2
changeset 28:18ee5a9c102e ecos-sw-1999-08-09
Merge from eCos master repository on 1999-08-09-17:04:48-BST
line wrap: on
line diff
--- a/packages/hal/arm/aeb/current/ChangeLog +++ b/packages/hal/arm/aeb/current/ChangeLog @@ -1,3 +1,8 @@ +1999-08-08 Gary Thomas <gthomas@cygnus.co.uk> + + * misc/Notes: + * misc/STUBS_config: Update patch for new hal.h. + 1999-05-25 Gary Thomas <gthomas@cygnus.co.uk> * misc/gdb_module.c: Fix up symbols for new ABI.
--- a/packages/hal/arm/aeb/current/misc/Notes +++ b/packages/hal/arm/aeb/current/misc/Notes @@ -193,6 +193,7 @@ 2. Edit <hal/hal.h> to enable GDB: you can use the following patch: +patch -p0 <<END_OF_PATCH --- pkgconf/hal.h~ Wed Mar 10 13:08:58 1999 +++ pkgconf/hal.h Thu Mar 11 15:53:16 1999 @@ -356,9 +356,9 @@ @@ -208,6 +209,8 @@ 2. Edit <hal/hal.h> to enable GDB: /* * NOTE: +END_OF_PATCH + 3. make misc
--- a/packages/hal/arm/aeb/current/misc/STUBS_config +++ b/packages/hal/arm/aeb/current/misc/STUBS_config @@ -11,20 +11,21 @@ tcl $1/pkgconf.tcl --disable CYGPKG_IO_SERIAL --disable CYGPKG_DEVICES_WALLCLOCK \ --disable CYGPKG_DEVICES_WATCHDOG -patch -p0 <<END_OF_PATCH ---- pkgconf/hal.h~ Wed Mar 10 13:08:58 1999 -+++ pkgconf/hal.h Thu Mar 11 15:53:16 1999 -@@ -356,9 +356,9 @@ +patch <<END_OF_PATCH -p0 +--- pkgconf/hal.h~ Thu Jul 8 08:26:44 1999 ++++ pkgconf/hal.h Wed Jul 28 10:51:07 1999 +@@ -369,10 +369,10 @@ }}CFG_DATA */ -#undef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS +#define CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS #undef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT +-#define CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT -#define CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT ++#undef CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT +#undef CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT /* * NOTE: - END_OF_PATCH
--- a/packages/hal/arm/arch/current/ChangeLog +++ b/packages/hal/arm/arch/current/ChangeLog @@ -1,3 +1,30 @@ +1999-08-06 Jesper Skov <jskov@cygnus.co.uk> + CR 101032 + * src/vectors.S (handle_IRQ_or_FIQ): Moved setup of register_frame + argument to just before the interrupt_end call. + +1999-07-28 Hugo Tyson <hmt@cygnus.co.uk> + + * src/vectors.S (_eCos_id): Remove bogus version string. + +1999-07-26 Hugo Tyson <hmt@cygnus.co.uk> + + * src/hal_misc.c (hal_default_isr): Call the special platform HAL + routine to see whether there is a ^C lurking in the serial device + through a macro, if it's defined. Problem is that + CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT *is* defined for platforms that + do not support it. + +1999-07-23 Hugo Tyson <hmt@cygnus.co.uk> + + * src/hal_misc.c (hal_default_isr): If we are including + CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT, then poll a special platform + HAL routine to see whether there is a ^C lurking in the serial + device. This has to be done from the default ISR so that others + (which must know about ^Cs is they are still to be handled) can + install over the top. Not all platforms support this, so enabling + CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT will not necessarily work. + 1999-07-21 Hugo Tyson <hmt@cygnus.co.uk> * src/vectors.S (vectors): Re-organize startup a little to support
--- a/packages/hal/arm/arch/current/src/hal_misc.c +++ b/packages/hal/arm/arch/current/src/hal_misc.c @@ -175,6 +175,18 @@ externC cyg_uint32 hal_default_isr(CYG_ADDRWORD vector, CYG_ADDRWORD data) { CYG_TRACE1(true, "Interrupt: %d", vector); + +#ifndef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS +#ifdef CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT +#ifdef CYGDBG_HAL_CTRLC_ISR + // then see if it is an incoming character interrupt and break + // into the stub ROM if the char is a ^C. + if ( CYGDBG_HAL_CTRLC_ISR( vector, data ) ) + return 1; // interrupt handled +#endif +#endif +#endif + diag_printf("Spurious Interrupt!!! - vector: %d, data: %x\n", vector, data); CYG_FAIL("Spurious Interrupt!!!");
--- a/packages/hal/arm/arch/current/src/vectors.S +++ b/packages/hal/arm/arch/current/src/vectors.S @@ -568,7 +568,6 @@ 10: ldr r1,[r1,v1,lsl #2] // handler data ldr r2,.hal_interrupt_handlers ldr v3,[r2,v1,lsl #2] // handler (indexed by vector #) - mov r2,v6 // register frame mov lr,pc // invoke handler (call indirect mov pc,v3 // thru v3) @@ -590,6 +589,7 @@ 10: ldr r1,.hal_interrupt_objects ldr r1,[r1,v1,lsl #2] + mov r2,v6 // register frame bl interrupt_end // post any bottom layer handler // threads and call scheduler #endif @@ -706,7 +706,7 @@ PTR(__interrupt_stack) // // Identification - useful to find out when a system was configured _eCos_id: - .asciz "eCos v1.2.1: " __DATE__ + .asciz "eCos : " __DATE__ // -------------------------------------------------------------------------
--- a/packages/hal/common/current/ChangeLog +++ b/packages/hal/common/current/ChangeLog @@ -1,3 +1,8 @@ +1999-08-06 Jesper Skov <jskov@cygnus.co.uk> + + * src/generic-stub.c (__process_packet): FLush and clear caches + after call to __single_step. + 1999-07-05 Jesper Skov <jskov@cygnus.co.uk> * tests/intr.c: Don't use kernel's RTC definitions.
--- a/packages/hal/common/current/src/generic-stub.c +++ b/packages/hal/common/current/src/generic-stub.c @@ -1086,6 +1086,14 @@ int lock_thread_scheduler (1); /* 1 == continue */ } +#ifdef __ECOS__ + /* Need to flush the data and instruction cache here, as we may have + deposited a breakpoint in __single_step. */ + + __data_cache (CACHE_FLUSH) ; + __instruction_cache (CACHE_FLUSH) ; +#endif + return -1; }
--- a/packages/io/serial/current/include/pkgconf/io_serial.h +++ b/packages/io/serial/current/include/pkgconf/io_serial.h @@ -384,6 +384,7 @@ + /* ---------------------------------------------------------------------------- {{CFG_DATA cdl_component CYGPKG_IO_SERIAL_POWERPC_COGENT {
--- a/packages/kernel/current/ChangeLog +++ b/packages/kernel/current/ChangeLog @@ -1,3 +1,16 @@ +1999-07-29 Jesper Skov <jskov@cygnus.co.uk> + + * src/sync/mutex.cxx (lock): Removed assertion again. Not possible + to determine if a violation wil cause a deadlock. + +1999-07-27 Jesper Skov <jskov@cygnus.co.uk> + + * src/sync/mutex.cxx (lock): Added simple assertion check for + deadlocks. + + * tests/stress_threads.c: Only allow printf from main thread to + prevent deadlocks. + 1999-07-14 Hugo Tyson <hmt@cygnus.co.uk> * tests/kcache1.c (entry0): Also perform timing tests with
--- a/packages/kernel/current/src/sync/mutex.cxx +++ b/packages/kernel/current/src/sync/mutex.cxx @@ -146,7 +146,7 @@ Cyg_Mutex::lock(void) #ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INHERITANCE owner->inherit_priority(self); - + #endif CYG_INSTRUMENT_MUTEX(WAIT, this, 0);
--- a/packages/kernel/current/tests/stress_threads.c +++ b/packages/kernel/current/tests/stress_threads.c @@ -292,8 +292,6 @@ void main_program(cyg_addrword_t data) setup_death_alarm(0, &deathH, &death_alarm, &is_dead); #endif /* DEATH_TIME_LIMIT */ - printf("# Starting main\n"); - for (;;) { int handler_id = -1; int handler_pri = 0; @@ -353,8 +351,6 @@ void client_program(cyg_addrword_t data) { int delay; - printf("# Starting client-%d\n", (int) data); - system_clockH = cyg_real_time_clock(); cyg_clock_to_counter(system_clockH, &counterH); @@ -364,11 +360,9 @@ void client_program(cyg_addrword_t data) /* now send a request to the server */ cyg_mutex_lock(&client_request_lock); { ++client_makes_request; -/* printf("client_makes_request %d\n", client_makes_request); */ } cyg_mutex_unlock(&client_request_lock); cyg_thread_delay(10+delay); -/* cyg_thread_delay(0); */ } } @@ -379,8 +373,6 @@ void listener_program(cyg_addrword_t dat /* int message = (int) data; */ int handler_slot; - printf("# Beginning execution; thread data is %d\n", (int) data); - for (;;) { int make_request = 0; cyg_mutex_lock(&client_request_lock); { @@ -393,8 +385,6 @@ void listener_program(cyg_addrword_t dat if (make_request) { int prio; char* name; - /* printf("just got a request from a client (count = %d)\n", */ - /* client_makes_request); */ handler_slot = get_handler_slot(listenerH[(int) data]); prio = P_BASE_HANDLER+handler_slot; @@ -424,7 +414,6 @@ void handler_program(cyg_addrword_t data perform_stressful_tasks(); cyg_thread_delay(4 + (int) (0.5*log(1.0 + fabs((rand() % 1000000))))); -/* cyg_thread_delay(0); */ ++statistics.thread_exits; { @@ -603,8 +592,6 @@ void sc_thread_create( cyg_thread *thread /* put thread here */ ) { -/*printf("Creating a thread -- priority is %lu\n", (unsigned long) sched_info);*/ -/* fflush(stdout); */ ++statistics.thread_creations; cyg_thread_create(sched_info, entry, entry_data, name, stack_base, stack_size, handle, thread);
--- a/packages/language/c/libc/current/ChangeLog +++ b/packages/language/c/libc/current/ChangeLog @@ -1,3 +1,9 @@ +1999-08-06 Jonathan Larmour <jlarmour@cygnus.co.uk> + + * tests/stdio/sprintf2.c (test): Don't rely on 2.345 being exactly + representable in binary as a difference of 1 ulp will make it round + the wrong way. + 1999-07-16 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/stdio/input/fgetc.cxx:
--- a/packages/language/c/libc/current/tests/stdio/sprintf2.c +++ b/packages/language/c/libc/current/tests/stdio/sprintf2.c @@ -159,8 +159,8 @@ test( CYG_ADDRWORD data ) // Check 3 ret = sprintf(y, "|%5f|%10s|%03d|%c|%+-5.2G|%010.3G|", - 2.0, "times", 6, '=', 12.0, -2.345e-6 ); - my_strcpy(z, "|2.000000| times|006|=|+12 |-02.34E-06|"); + 2.0, "times", 6, '=', 12.0, -2.3451e-6 ); + my_strcpy(z, "|2.000000| times|006|=|+12 |-02.35E-06|"); CYG_TEST_PASS_FAIL(my_strcmp(y,z) == 0, "|%5f|%10s|%03d|%c|%+-5.2G|%010.3G| test");
