Mercurial > flash_v2
changeset 60:3836136e7743 ecos-sw-1999-12-17
Merge from eCos master repository on 1999-12-17-19:44:58-GMT
| author | jlarmour |
|---|---|
| date | Fri, 17 Dec 1999 20:15:45 +0000 |
| parents | 19ba0f558903 |
| children | e44112c47676 |
| files | packages/hal/arm/arch/current/ChangeLog packages/hal/arm/arch/current/src/arm.ld packages/hal/arm/edb7xxx/current/ChangeLog packages/hal/arm/edb7xxx/current/support/Makefile packages/hal/arm/edb7xxx/current/support/dl_edb7xxx.c packages/hal/arm/pid/current/ChangeLog packages/hal/arm/pid/current/misc/STUBS_config packages/hal/mips/arch/current/ChangeLog packages/hal/mips/arch/current/include/hal_intr.h packages/hal/mn10300/arch/current/ChangeLog packages/hal/mn10300/arch/current/include/hal_intr.h packages/kernel/current/ChangeLog packages/kernel/current/tests/tm_basic.cxx |
| diffstat | 13 files changed, 115 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/ChangeLog +++ b/packages/hal/arm/arch/current/ChangeLog @@ -1,3 +1,7 @@ +1999-12-16 Gary Thomas <gthomas@cygnus.co.uk> + + * src/arm.ld: Include all SRAM (*.sram*) sections. + 1999-12-08 Gary Thomas <gthomas@cygnus.co.uk> * src/arm.ld: Add ".sram" section support (used by platforms
--- a/packages/hal/arm/arch/current/src/arm.ld +++ b/packages/hal/arm/arch/current/src/arm.ld @@ -121,7 +121,7 @@ OUTPUT_FORMAT(elf32-bigarm) #define SECTION_sram(_region_, _vma_, _lma_) \ .sram _vma_ : _lma_ \ - { FORCE_OUTPUT; *(.sram) } \ + { FORCE_OUTPUT; *(.sram*) } \ > _region_ #define SECTION_data(_region_, _vma_, _lma_) \
--- a/packages/hal/arm/edb7xxx/current/ChangeLog +++ b/packages/hal/arm/edb7xxx/current/ChangeLog @@ -1,3 +1,11 @@ +1999-12-14 Jonathan Larmour <jlarmour@cygnus.co.uk> + + * support/Makefile: Update filenames from earlier source file change, + and make other names generic + + * support/dl_edb7xxx.c (main): Give the correct device name if + using the default. + 1999-11-29 Jonathan Larmour <jlarmour@cygnus.co.uk> * src/hal_diag.c: Fix typoe: CYGDGB_HAL_DIAG_DISABLE_GDB_PROTOCOL
--- a/packages/hal/arm/edb7xxx/current/support/Makefile +++ b/packages/hal/arm/edb7xxx/current/support/Makefile @@ -1,13 +1,13 @@ # -# eCos support tools for EP7211 +# eCos support tools for Cirrus Logic EDB7xxx eval boards # -DL_FILES = dl_7211.o io.o -ALL := dl_7211 +DL_FILES = dl_edb7xxx.o io.o +ALL := dl_edb7xxx all: $(ALL) -dl_7211: $(DL_FILES) +dl_edb7xxx: $(DL_FILES) $(CC) -o $@ $(DL_FILES)
--- a/packages/hal/arm/edb7xxx/current/support/dl_edb7xxx.c +++ b/packages/hal/arm/edb7xxx/current/support/dl_edb7xxx.c @@ -1,7 +1,7 @@ //**************************************************************************** // // DOWNLOAD.C - Automates the download of code into the flash on the -// CL-PS7111-DK-D2 board. +// Cirrus Logic EDB7XXX boards. // // Copyright (c) 1999 Cirrus Logic, Inc. // @@ -97,14 +97,19 @@ main(int argc, char *argv[]) if(argc > 3) { lPort = OpenPort(argv[3]); + if (lPort < 0) + { + fprintf(stderr, "Can't open port: %s\n", argv[3]); + return; + } } else { lPort = OpenPort(DEFAULT_PORT); - } - if (lPort < 0) - { - fprintf(stderr, "Can't open port: %s\n", argv[3]); - return; + if (lPort < 0) + { + fprintf(stderr, "Can't open port: %s\n", DEFAULT_PORT); + return; + } } //
--- a/packages/hal/arm/pid/current/ChangeLog +++ b/packages/hal/arm/pid/current/ChangeLog @@ -1,3 +1,7 @@ +1999-12-15 Jonathan Larmour <jlarmour@cygnus.co.uk> + + * misc/STUBS_config: updated patch due to hal.h changes + 1999-12-06 Gary Thomas <gthomas@cygnus.co.uk> * include/pkgconf/hal_arm_pid.h (HAL_PLATFORM_BOARD):
--- a/packages/hal/arm/pid/current/misc/STUBS_config +++ b/packages/hal/arm/pid/current/misc/STUBS_config @@ -37,18 +37,24 @@ fi --disable CYGPKG_DEVICES_WATCHDOG patch <<END_OF_PATCH -p0 ---- pkgconf/hal.h.orig Fri Oct 22 09:32:14 1999 -+++ pkgconf/hal.h Mon Oct 25 09:15:33 1999 -@@ -110,7 +110,7 @@ +--- pkgconf/hal.h 1999/11/21 14:48:03 1.66 ++++ pkgconf/hal.h 1999/12/15 21:48:53 +@@ -118,11 +118,11 @@ + diagnostic I/O because of the environment. This option + allows for an explicit override in these cases." } }}CFG_DATA */ -#define CYGFUN_HAL_COMMON_KERNEL_SUPPORT +#undef CYGFUN_HAL_COMMON_KERNEL_SUPPORT + #undef CYGDBG_HAL_DIAG_DISABLE_GDB_PROTOCOL - /* {{CFG_DATA - -@@ -382,10 +382,10 @@ + #ifdef CYGDBG_HAL_DIAG_DISABLE_GDB_PROTOCOL + #if !defined(CYGPKG_HAL_ARM) + #err GDB protocol cannot be explicitly disabled for this platform. +@@ -424,14 +424,14 @@ + to support multi-threaded source level debugging." + } }}CFG_DATA */ @@ -62,6 +68,8 @@ patch <<END_OF_PATCH -p0 /* * NOTE: + * + * Right now there is no easy way to express the ROM monitor options END_OF_PATCH make
--- a/packages/hal/mips/arch/current/ChangeLog +++ b/packages/hal/mips/arch/current/ChangeLog @@ -1,3 +1,9 @@ +1999-12-15 Jonathan Larmour <jlarmour@cygnus.co.uk> + + * include/hal_intr.h (CYGNUM_HAL_EXCEPTION_COUNT): Ensure you can + handle FPU exceptions if present + Reported in case 102817 + 1999-11-04 Nick Garnett <nickg@cygnus.co.uk> * src/vectors.S: Added code in reset vector to reset the config0
--- a/packages/hal/mips/arch/current/include/hal_intr.h +++ b/packages/hal/mips/arch/current/include/hal_intr.h @@ -122,8 +122,8 @@ // Min/Max exception numbers and how many there are #define CYGNUM_HAL_EXCEPTION_MIN 1 -#define CYGNUM_HAL_EXCEPTION_MAX 13 -#define CYGNUM_HAL_EXCEPTION_COUNT 13 +#define CYGNUM_HAL_EXCEPTION_MAX CYGNUM_HAL_VSR_MAX +#define CYGNUM_HAL_EXCEPTION_COUNT CYGNUM_HAL_VSR_MAX #ifndef CYGHWR_HAL_INTERRUPT_VECTORS_DEFINED
--- a/packages/hal/mn10300/arch/current/ChangeLog +++ b/packages/hal/mn10300/arch/current/ChangeLog @@ -1,3 +1,9 @@ +1999-11-09 Jonathan Larmour <jlarmour@cygnus.co.uk> + + * include/hal_intr.h (HAL_RESTORE_INTERRUPTS): Ensure we restore the + old state exactly, including "restoring" by disabling interrupts + Requested by Matsushita in case 102544 + 1999-09-10 Jonathan Larmour <jlarmour@cygnus.co.uk> * include/hal_cache.h: Change CYG_HAL_MN10300_SIM to
--- a/packages/hal/mn10300/arch/current/include/hal_intr.h +++ b/packages/hal/mn10300/arch/current/include/hal_intr.h @@ -129,6 +129,7 @@ externC void hal_interrupt_stack_call_pe #define HAL_RESTORE_INTERRUPTS(_old_) \ asm volatile ( \ "mov psw,d1;" \ + "and 0xF7FF,d1;" \ "or %0,d1;" \ "mov d1,psw;" \ : \
--- a/packages/kernel/current/ChangeLog +++ b/packages/kernel/current/ChangeLog @@ -1,3 +1,8 @@ +1999-12-13 Jonathan Larmour <jlarmour@cygnus.co.uk> + + * tests/tm_basic.cxx (run_alarm_tests): Add new measurement of + latency between alarm firing and thread resume + 1999-11-30 Hugo Tyson <hmt@cygnus.co.uk> * src/common/kapi.cxx (cyg_scheduler_lock, cyg_scheduler_unlock):
--- a/packages/kernel/current/tests/tm_basic.cxx +++ b/packages/kernel/current/tests/tm_basic.cxx @@ -1150,6 +1150,17 @@ alarm_cb2(cyg_handle_t alarm, cyg_addrwo } } +static void +alarm_cb3(cyg_handle_t alarm, cyg_addrword_t indx) +{ + if (alarm_cnt == nscheds) { + cyg_semaphore_post(&synchro); + } else { + sched_ft[alarm_cnt].start = 0; + cyg_thread_resume((cyg_handle_t)indx); + } +} + // Null thread, used to keep scheduler busy void alarm_test(cyg_uint32 id) @@ -1159,6 +1170,17 @@ alarm_test(cyg_uint32 id) } } +// Thread that suspends itself at the first opportunity +void +alarm_test2(cyg_uint32 id) +{ + cyg_handle_t me = cyg_thread_self(); + while (true) { + HAL_CLOCK_READ(&sched_ft[alarm_cnt++].end); + cyg_thread_suspend(me); + } +} + void run_alarm_tests(void) { @@ -1360,6 +1382,33 @@ run_alarm_tests(void) cyg_thread_suspend(threads[i]); cyg_thread_delete(threads[i]); } + + // Set my priority higher than any I plan to create + cyg_thread_set_priority(cyg_thread_self(), 2); + cyg_thread_create(10, // Priority - just a number + alarm_test2, // entry + i, // index + thread_name("thread", 0), // Name + &stacks[0][0], // Stack + STACK_SIZE, // Size + &threads[0], // Handle + &test_threads[0] // Thread data structure + ); + wait_for_tick(); // Wait until the next clock tick to minimize aberations + cyg_clock_to_counter(cyg_real_time_clock(), &rtc_handle); + cyg_alarm_create(rtc_handle, alarm_cb3, threads[0], &alarms[0], + &test_alarms[0]); + init_val = 5; step_val = 5; alarm_cnt = 0; + cyg_alarm_initialize(alarms[0], init_val, step_val); + cyg_semaphore_init(&synchro, 0); + cyg_alarm_enable(alarms[0]); + cyg_semaphore_wait(&synchro); + cyg_alarm_disable(alarms[0]); + cyg_alarm_delete(alarms[0]); + show_times(sched_ft, nscheds, "Alarm -> thread resume latency"); + cyg_thread_suspend(threads[0]); + cyg_thread_delete(threads[0]); + end_of_test_group(); }
