OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [sparclite/] [sleb/] [v2_0/] [ChangeLog] - Rev 307

Go to most recent revision | Compare with Previous | Blame | View Log

2002-04-29  Jonathan Larmour  <jlarmour@redhat.com>

        * src/hal_cygm.S:
        Don't use .file as it can confuse debugging since the .file
        doesn't contain the path and therefore the debugger will never
        know where it lives! This conflicts with using -Wa,--gstabs.

2000-10-20  Jonathan Larmour  <jlarmour@redhat.com>

        * tests/slebtime.cxx: Ensure default priority constructors
        are called.

2000-10-20  Jonathan Larmour  <jlarmour@redhat.com>

        * include/pkgconf/mlt_sparclite_sleb_ram.mlt:
        * include/pkgconf/mlt_sparclite_sleb_rom.mlt:
        Add heap1 section

        * include/pkgconf/mlt_sparclite_sleb_ram.h:
        * include/pkgconf/mlt_sparclite_sleb_rom.h:
        * include/pkgconf/mlt_sparclite_sleb_ram.ldi:
        * include/pkgconf/mlt_sparclite_sleb_rom.ldi:
        Regenerated

2000-02-16  Jesper Skov  <jskov@redhat.com>

        * cdl/hal_sparclite_sleb.cdl: removed fix me

2000-02-07  Jesper Skov  <jskov@redhat.com>

        * cdl/hal_sparclite_sleb.cdl: use cpu options when linking.

2000-02-04  Hugo Tyson  <hmt@cygnus.co.uk>

        * cdl/hal_sparclite_sleb.cdl (define_proc): Add output of a
        #define for CYGHWR_HAL_SPARCLITE_HAS_ASR17 - because a Fujitsu
        SPARClite does.

2000-01-24  John Dallaway  <jld@cygnus.co.uk>

        * cdl/*.cdl:

        Remove obsolete option CYGTST_TESTING_IDENTIFIER.

2000-01-19  Hugo Tyson  <hmt@cygnus.co.uk>

        * cdl/*.cdl: Add descriptions to a number of options &c which were
        lacking same, also tidied up other typos as noticed en passant.

1999-12-20  Gary Thomas  <gthomas@cygnus.co.uk>

        * cdl/hal_sparclite_sleb.cdl: Add -Wl for linker options.

1999-11-25  Gary Thomas  <gthomas@cygnus.co.uk>

        * include/pkgconf/mlt_sparclite_sleb_rom.h: 
        * include/pkgconf/mlt_sparclite_sleb_ram.h: New file(s).

1999-11-03  John Dallaway  <jld@cygnus.co.uk>

        * cdl/hal_sparclite_sleb.cdl: Define build options.

1999-11-01  Jesper Skov  <jskov@cygnus.co.uk>

        * cdl/hal_sparclite_sleb.cdl: Added.
         Use define_proc for const header defs.
        
1999-10-14  John Dallaway  <jld@cygnus.co.uk>

        * include/pkgconf/mlt_sparclite_sleb_ram.mlt,
          include/pkgconf/mlt_sparclite_sleb_rom.mlt:

        Fix .mlt files to match the latest .ldi files. ROM startup
        requires latest config tool which contains fix for PR 19799.

1999-10-13  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/pkgconf/hal_sparclite_sleb.h: Add CDL and
        [un]definitions for handling optional Multiple Vector Trapping and
        optional copy of vectors into RAM - when it is optional.  Also
        define CYGHWR_HAL_SPARCLITE_HAS_ASR17 so that the arch HAL
        self-configures correctly.

        * include/halboot.si: Copy trampoline code into section
        .ram_vectors at __ram_vectors_start if so configured.

        * include/pkgconf/mlt_sparclite_sleb_ram.ldi: 
        * include/pkgconf/mlt_sparclite_sleb_ram.mlt: 
        * include/pkgconf/mlt_sparclite_sleb_rom.ldi: 
        * include/pkgconf/mlt_sparclite_sleb_rom.mlt: 
        Link in new variable size, sometimes 0 size, ram_vectors section;
        this does away with the need to fib about the size of RAM, it was
        previously defined to start at 0x4000200 to reserve a bit for
        trampoline code.
        (comment from the example .ldi files...)
        The ram_vectors section is to allow some free space to copy
        vectors into from the ROM.  This is required to be variable size
        to accomodate SVT or MVT; 80 bytes vs 4kB.  Copying is not
        necessary with MVT, but it is optional because it may offer
        performance gains.  Copying is required for SVT because the
        (aligned) start of ROM contains initialization instructions.  RAM
        copy is used rather than leave a big gap in the ROM to get an
        aligned address for the trampoline code.  For RAM startup,
        ram_vectors will usually be of size zero, unless MVT and copying
        are enabled for memory estimation reasons.

1999-06-14  Hugo Tyson  <hmt@cygnus.co.uk>

        * tests/slebtime.cxx (entry2): Fix a dumb fencepost prob in some
        string poking code for output without printf...

1999-04-23  Jesper Skov  <jskov@cygnus.co.uk>

        * src/hal_diag.c (hal_bsp_console_write): Added a workaround for PR
        19926.

1999-04-09  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/hal_cache.h (HAL_[DI]CACHE_IS_ENABLED): 
        Implement these macros.

1999-04-09  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/halboot.si: Use 10 wait states for access to the 86940
        on CS1; it seems to make the Reliability Difference(tm).

1999-04-08  Hugo Tyson  <hmt@cygnus.co.uk>

        * tests/slebtime.cxx: Add CYG_INIT_PRIORITY( APPLICATION ) to the
        two static thread objects so that the test works even when libc
        steals away the default constructors.  Unfortunately this also
        means switching to an assignment constructor instead of a call.

1999-04-08  John Dallaway  <jld@cygnus.co.uk>

        * include/pkgconf/*.ldi: Revised SECTION_* macro arguments to
        avoid padded output sections (PR 19787)

1999-04-07  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/hal_hwio.h: New file: define accessors for 86940 via
        alternate address space 4, register names and all that... just a
        paste out of previous hal_diag.h - it was the wrong place, but
        that's how it evolved.

        * include/hal_diag.h: Include hal_hwio.h to get accessors for
        86940 et al.  Do not define them here, it was the wrong place.

        * include/hal_clock.h: 
        * include/hal_xpic.h:
        Include hal_hwio.h instead of hal_diag.h        

1999-04-07  Hugo Tyson  <hmt@cygnus.co.uk>

        * tests/slebintr.c (checkallbut): This is a more informative
        version of the test when it fails: this is still under
        investigation somewhat, and running the more verbose version
        nightly will be useful. 

1999-03-30  Hugo Tyson  <hmt@cygnus.co.uk>

        * tests/slebintr.c (start): After some thought, the timing code in
        here could cause the test to take arbitrarily long; so some safety
        features added.  Normally the test loop is very fast, but with
        cache effects and instrumentation and -O0 it could take ages; this
        could explain the occasional timeouts we have seen for this test.

1999-03-26  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/hal_cache.h: 
        Implement the cache control macros: at least
        for x in ( D I )
            HAL_xCACHE_ENABLE/DISABLE
            HAL_xCACHE_INVALIDATE_ALL, HAL_xCACHE_SYNC
        in the first instance.  kcache1 reports sensible numbers too!
        
1999-03-26  Hugo Tyson  <hmt@cygnus.co.uk>

        * tests/slebintr.c (HAL_CLOCK_READ): If there is no kernel, the
        clock is not initialized, so looking at it is useless for a clue.
        So provide a dummy so we perform a "few" loops when there's no
        kernel. If there is no kernel, cyg_user_start() is never called,
        main gets in and steals the CPU.  So we hang.  So if there is no
        kernel, define cyg_start() instead to wrest control.  Also very
        much weaken the looping count check; kernel instrumentation, for
        example, is more than enough to slow the world down too much.

        * tests/slebstak.c (cyg_[user_]start):
        If there is no kernel, cyg_user_start() is never called, main gets
        in and steals the CPU.  So we hang.  So if there is no kernel,
        define cyg_start() instead to wrest control.

        * tests/slebtime.cxx: 
        Make this build when no kernel present; include of testcase &c
        was the wrong side of the ifdef.  Doh!

1999-03-25  Hugo Tyson  <hmt@cygnus.co.uk>

        * src/hal_priv.c (hal_clock_initialize): Oh dear, the clock was
        only running half the speed it should have; this will make the
        tm_basic figures look bad, maybe.  It _appeared_ right because of
        spurious interrupts, making two ISRs per tick, which covered the
        error beautifully.  So, the initialization is now corrected, now
        that the interrupt management is better dealt with.

        * include/hal_xpic.h (HAL_INTERRUPT_ACKNOWLEDGE): Loop until
        either the interrupt has stopped being asserted by the
        prioritization latch (CLIRL) or the source has actually re-flagged
        the interrupt, so that repeated, fast interrupts will re-interrupt
        rather than causing a loop here.  This is to prevent spurious
        double interrupts caused by HAL_INTERRUPT_ACKNOWLEDGE() not taking
        effect before the CPU re-enabled interrupts; this had been
        covering the clock bug as well as confusing the serial system.

        Also placed a HAL_INTERRUPT_ACKNOWLEDGE() in
        HAL_INTERRUPT_CONFIGURE() since the doc implies it is necessary
        when changing that stuff; a spurious interrupt may be latched.
        
1999-03-24  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/hal_xpic.h (HAL_INTERRUPT_CONFIGURE): 
        Implement this functionality, since Gary wanted to experiment with
        it.  Also add HAL_INTERRUPT_QUERY_INFO (platform specific) to read
        back the settings of a particular interrupt source.

        * tests/slebintr.c: NEW FILE: test case for the above new macros.
        * tests/slebstak.c: NEW FILE: tests the register save/restore code
                by carrying out lots of factorial calculations.
        * tests/slebtime.c: NEW FILE: tests HAL clocks for sanity; prints
                useful diagnostics.  Most useful when a human observes, if
                it goes wrong this test is more likely to report a timeout
                than a failure.

        * tests/sleb.c: FILE DELETED - moved to slebstak.c
        
        * tests/PKGconf.mak (TESTS): Reflect above changes.

1999-03-23  John Dallaway  <jld@cygnus.co.uk>

        * include/pkgconf/hal_sparclite_sleb.h: Modify display string
        for consistency.

1999-03-23  Hugo Tyson  <hmt@cygnus.co.uk>

        * src/hal_diag.c (hal_diag_write_char): Precisely undo the
        previous change: we disable interrupts to prevent the clock
        advancing during the time taken to output to GDB.

1999-03-18  Hugo Tyson  <hmt@cygnus.co.uk>

        * src/hal_diag.c (hal_diag_write_char_serial): Do not disable
        interrupts while calling the CygMon write-line routine; CygMon is
        better now and can cope with interrupts there.

1999-03-17  John Dallaway  <jld@cygnus.co.uk>

        * include/pkgconf/mlt_sparclite_sleb_rom.mlt: Regenerate using
        the eCos configuration tool to resolve errors.

1999-03-17  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/pkgconf/mlt_sparclite_sleb_rom.mlt: 
        * include/pkgconf/mlt_sparclite_sleb_rom.ldi: 
        Move the start of RAM up 512 bytes; it is now at 0x04000200.  This
        is to leave space for the trampoline code ie. RAM trap vector
        handler to live in RAM as is required.  NB the vector must be on a
        4k boundary; its location is determined by rounding down the start
        of "normal" RAM ie. the symbol ".data".  So if the start of RAM
        isn't on a 4k boundary, or the trampoline code gets > 4k, there
        will be trouble.

        * include/halboot.si: Copy trampoline code into RAM base during
        startup, and deal with associated caching issues.

        * src/hal_priv.c (LED): Add this tidier macro and some extra LED
        debug during start for help with ROM start.

        * include/pkgconf/hal_sparclite_sleb.h
        (CYGHWR_HAL_SPARCLITE_SLEB_STARTUP): Add this define and its
        associated notCDL for the GUI Config tool.

1999-03-16  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/pkgconf/mlt_sparclite_sleb_rom.ldi:
        * include/pkgconf/mlt_sparclite_sleb_rom.mlt:
        New files, linker script fragment and MLT doc for ROM startup.
        
        * include/halboot.si: Only copy real instructions into the vector
        if RAM startup.  Delete lots of obsolete debugging "printout".
        Size RAM dynamically.  Set up chip selects, wait states, refresh
        timing, system services, caches, buffers, burst mode access, ...
        In other words complete hardware initialization.        

        * include/hal_cpu.h: new file, taken directly from CygMon sources,
        which defines various MB8683x internal registers which are used in
        the initialization in halboot.si.

        * include/hal_diag.h (HAL_SPARC_86940_PRS_ODIV2): Add lots more
        definition of the MB86940 companion I/O chip, editted from CygMon
        sources.  This should move into a proper IO file later.
        Also, in the non-CYG_KERNEL_DIAG_GDB case where we write output to
        the serial line in clear, do perform initialization.

        * src/hal_diag.c (hal_diag_init): Properly initialize the serial
        line when not using GDB encoding (if GDB coding is in use, then we
        have CygMon).

        * include/hal_clock.h (HAL_CLOCK_INITIALIZE): Initialize the clock
        more cleanly and correctly, as CygMon does: so ticks are actually
        centiSeconds, pretty much.  Actual init routine is in hal_priv.c.

        * src/hal_priv.c (hal_clock_initialize): Properly initialize the
        system clock to centiSeconds.

1999-03-11  Hugo Tyson  <hmt@cygnus.co.uk>

        * src/hal_priv.c (hal_board_prestart): 
        Link in the multi-thread aware debugging routine if
        CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT.
        
1999-03-09  Hugo Tyson  <hmt@cygnus.co.uk>

        * src/hal_priv.c (hal_board_prestart): If playing nice with
        CygMon, unmask and pass through interrupt 14 (Ethernet
        controller).  Install and unmask interrupt 15 (NMI button)
        likewise.

        * src/hal_cygm.S (hal_nmi_handler): Add new handler for the NMI
        interrupt (like a PIN number) INT15, the button near the serial
        connector on the board.  The handler must wait for the interrupt
        to go away, then acknowledge it to prevent CygMon getting in a
        loop.

        * include/halboot.si: Set IRC channel 14 (Ethernet controller)
        interrupt to active low so that we can pass such events on to
        CygMon.  Tidy up comments and ifdefs.

        * include/hal_cygm.h (BSP_NOTVEC_BSP_COMM_PROCS): Define the
        CygMon vector table entry that isn't a vector, but is a pointer to
        struct tree with IO functions therein.

        * src/hal_diag.c (hal_diag_write_char et al): Add variants of
        these routines to use IO functions provided by CygMon if thus
        configured.  Also tidied up direct GDB-ized serial output, which
        is selected by CYG_KERNEL_DIAG_GDB_SERIAL_DIRECT within
        CYG_KERNEL_DIAG_GDB now.

        * include/pkgconf/hal_sparclite_sleb.h: Add definition for
        CYG_KERNEL_DIAG_GDB_SERIAL_DIRECT, disabled by default.  More
        comments too.

1999-03-04  John Dallaway  <jld@cygnus.co.uk>

        * include/pkgconf/*.ldi: give all LDI files unique names so
        that they can co-exist in an eCos build tree (PR 19184)
        * include/pkgconf/*.mlt: give all MLT files unique names so
        that they can co-exist in an eCos build tree (PR 19184)

1999-02-25  Hugo Tyson  <hmt@cygnus.co.uk>

        These log entries from 1999-02-22 to 1999-02-24 were executed in
        a branch; this change is a merge of that branch into the trunk.

1999-02-25  Hugo Tyson  <hmt@masala.cygnus.co.uk>

        * src/hal_diag.c (hal_diag_write_char): 
        Wait for the GDB protocol ack character '+' after sending a line
        of output as a $O packet; this prevents mismatches of the GDB
        protocol when a breakpoint is hit temporally near such output.
        This has the side effect that we must deal with seeing a ^C
        character instead of the '+', whence we must bounce into CygMon's
        BREAK vector using a trap.  Hence the next change...

        * src/hal_cygm.S (hal_user_trap_to_cygmon_vsr): 
        Add additional "bounce to cygmon" capability such that user trap
        2, "ta 2" trap type 130, does the same as "ta 1" ie. a breakpoint,
        but first it advances the PC and NPC so that you can continue at
        the instruction after.  This is so that a voluntary inline
        breakpoint can be implemented as "ta 2; nop; nop; nop" (nops just
        for paranoia).

1999-02-24  Jonathan Larmour  <jlarmour@cygnus.co.uk>

        * include/hal_diag.h: 
        Make hal_diag_init() and hal_diag_write_char() prototypes be extern "C"
        for C++ files so they don't get name mangled

1999-02-24  John Dallaway  <jld@cygnus.co.uk>

        * include/pkgconf/hal_sparclite_sleb.h: Add MB8683x board
        designation to description field.

1999-02-24  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/pkgconf/hal_sparclite_sleb.h: 
        Non-CDLoptions, but #defines nontheless,
        CYG_HAL_USE_ROM_MONITOR_CYGMON and CYG_KERNEL_DIAG_GDB are defined
        here to control whether we cooperate with CygMon, and if so, do we
        encapsulate out output in GDB $O packets, respectively.

        * include/hal_cygm.h: 
        New file to describe the CygMon vectors we call to cooperate with
        CygMon and GDB.  When cooperating, we install VSRs in some slots
        that demux into CygMon's vector table, and in most slots we just
        patch in the appropriate value from CygMon's vector table so that
        CygMon is called directly.

        * include/hal_xpic.h: 
        Document the interrupt sources on the SLEB.

        * include/hal_diag.h (HAL_DIAG_WRITE_CHAR): 
        Call routines in hal_diag.c to perform encapsulation, or not,
        depending on CYG_KERNEL_DIAG_GDB.

        * src/hal_cygm.S: New file, demuxer trampolines for user trap and
        no-fp/no-cp VSRs to bounce into CygMon.
        
        * src/hal_diag.c: New file, routines to perform encapsulation of
        output in GDB $O packets if required by CYG_KERNEL_DIAG.
        
        * src/hal_priv.c (hal_board_prestart):
        If CYG_HAL_USE_ROM_MONITOR_CYGMON, install either CygMon's vectors
        or demuxer trampolines into our VSRs during startup.

        * src/PKGconf.mak (COMPILE): Add new files hal_cygm.S hal_diag.c

1999-02-23  John Dallaway  <jld@cygnus.co.uk>

        * include/pkgconf/hal_sparclite_sleb.h: Revise capitalization
        of CDL strings.

1999-02-23  John Dallaway  <jld@cygnus.co.uk>

        * include/pkgconf/hal_sparclite_sleb.h: Specify correct platform
        for cdl_package CYGPKG_HAL_SPARCLITE_SLEB.

1999-02-22  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/pkgconf/ram.mlt: 
        * include/pkgconf/ram.ldi: 
        All a lot more constraints on alignment: sections must be
        word-aligned at least for the network loader to accept them.
        I hope I have correctly modified the .mlt file; it's not exactly
        self documenting.

1999-02-22  Hugo Tyson  <hmt@cygnus.co.uk>

        * include/hal_cache.h: New file
        * include/hal_clock.h: New file
        * include/hal_diag.h: New file
        * include/hal_xpic.h: New file
        * include/halboot.si: New file
        * include/pkgconf/hal_sparclite_sleb.h: New file
        * include/pkgconf/ram.ldi: New file
        * include/pkgconf/ram.mlt: New file
        * src/PKGconf.mak: New file
        * src/hal_priv.c: New file
        * tests/PKGconf.mak: New file
        * tests/sleb.c: New file

        Initial checkin of the hardware platform port for SPARClite:
        platform is sleb: SPARClite Evaluation Board.

        The structure here mirrors that in the sim directory, and in fact
        was cloned from it after the change of 1999-02-08 for MLT
        compliance.

//===========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//===========================================================================

//EOF ChangeLog

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.