]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/hal/sparclite/sleb/v2_0/ChangeLog
Initial revision
[karo-tx-redboot.git] / packages / hal / sparclite / sleb / v2_0 / ChangeLog
1 2003-07-18  Nick Garnett  <nickg@balti.calivar.com>
2
3         * cdl/hal_sparclite_sleb.cdl:
4         Changed values for CYGNUM_HAL_RTC_NUMERATOR,
5         CYGNUM_HAL_RTC_DENOMINATOR and CYGNUM_HAL_RTC_PERIOD to
6         "default_value" from "calculated". This makes it easier
7         to change these values globally.
8         
9 2002-04-29  Jonathan Larmour  <jlarmour@redhat.com>
10
11         * src/hal_cygm.S:
12         Don't use .file as it can confuse debugging since the .file
13         doesn't contain the path and therefore the debugger will never
14         know where it lives! This conflicts with using -Wa,--gstabs.
15
16 2000-10-20  Jonathan Larmour  <jlarmour@redhat.com>
17
18         * tests/slebtime.cxx: Ensure default priority constructors
19         are called.
20
21 2000-10-20  Jonathan Larmour  <jlarmour@redhat.com>
22
23         * include/pkgconf/mlt_sparclite_sleb_ram.mlt:
24         * include/pkgconf/mlt_sparclite_sleb_rom.mlt:
25         Add heap1 section
26
27         * include/pkgconf/mlt_sparclite_sleb_ram.h:
28         * include/pkgconf/mlt_sparclite_sleb_rom.h:
29         * include/pkgconf/mlt_sparclite_sleb_ram.ldi:
30         * include/pkgconf/mlt_sparclite_sleb_rom.ldi:
31         Regenerated
32
33 2000-02-16  Jesper Skov  <jskov@redhat.com>
34
35         * cdl/hal_sparclite_sleb.cdl: removed fix me
36
37 2000-02-07  Jesper Skov  <jskov@redhat.com>
38
39         * cdl/hal_sparclite_sleb.cdl: use cpu options when linking.
40
41 2000-02-04  Hugo Tyson  <hmt@cygnus.co.uk>
42
43         * cdl/hal_sparclite_sleb.cdl (define_proc): Add output of a
44         #define for CYGHWR_HAL_SPARCLITE_HAS_ASR17 - because a Fujitsu
45         SPARClite does.
46
47 2000-01-24  John Dallaway  <jld@cygnus.co.uk>
48
49         * cdl/*.cdl:
50
51         Remove obsolete option CYGTST_TESTING_IDENTIFIER.
52
53 2000-01-19  Hugo Tyson  <hmt@cygnus.co.uk>
54
55         * cdl/*.cdl: Add descriptions to a number of options &c which were
56         lacking same, also tidied up other typos as noticed en passant.
57
58 1999-12-20  Gary Thomas  <gthomas@cygnus.co.uk>
59
60         * cdl/hal_sparclite_sleb.cdl: Add -Wl for linker options.
61
62 1999-11-25  Gary Thomas  <gthomas@cygnus.co.uk>
63
64         * include/pkgconf/mlt_sparclite_sleb_rom.h: 
65         * include/pkgconf/mlt_sparclite_sleb_ram.h: New file(s).
66
67 1999-11-03  John Dallaway  <jld@cygnus.co.uk>
68
69         * cdl/hal_sparclite_sleb.cdl: Define build options.
70
71 1999-11-01  Jesper Skov  <jskov@cygnus.co.uk>
72
73         * cdl/hal_sparclite_sleb.cdl: Added.
74          Use define_proc for const header defs.
75         
76 1999-10-14  John Dallaway  <jld@cygnus.co.uk>
77
78         * include/pkgconf/mlt_sparclite_sleb_ram.mlt,
79           include/pkgconf/mlt_sparclite_sleb_rom.mlt:
80
81         Fix .mlt files to match the latest .ldi files. ROM startup
82         requires latest config tool which contains fix for PR 19799.
83
84 1999-10-13  Hugo Tyson  <hmt@cygnus.co.uk>
85
86         * include/pkgconf/hal_sparclite_sleb.h: Add CDL and
87         [un]definitions for handling optional Multiple Vector Trapping and
88         optional copy of vectors into RAM - when it is optional.  Also
89         define CYGHWR_HAL_SPARCLITE_HAS_ASR17 so that the arch HAL
90         self-configures correctly.
91
92         * include/halboot.si: Copy trampoline code into section
93         .ram_vectors at __ram_vectors_start if so configured.
94
95         * include/pkgconf/mlt_sparclite_sleb_ram.ldi: 
96         * include/pkgconf/mlt_sparclite_sleb_ram.mlt: 
97         * include/pkgconf/mlt_sparclite_sleb_rom.ldi: 
98         * include/pkgconf/mlt_sparclite_sleb_rom.mlt: 
99         Link in new variable size, sometimes 0 size, ram_vectors section;
100         this does away with the need to fib about the size of RAM, it was
101         previously defined to start at 0x4000200 to reserve a bit for
102         trampoline code.
103         (comment from the example .ldi files...)
104         The ram_vectors section is to allow some free space to copy
105         vectors into from the ROM.  This is required to be variable size
106         to accomodate SVT or MVT; 80 bytes vs 4kB.  Copying is not
107         necessary with MVT, but it is optional because it may offer
108         performance gains.  Copying is required for SVT because the
109         (aligned) start of ROM contains initialization instructions.  RAM
110         copy is used rather than leave a big gap in the ROM to get an
111         aligned address for the trampoline code.  For RAM startup,
112         ram_vectors will usually be of size zero, unless MVT and copying
113         are enabled for memory estimation reasons.
114
115 1999-06-14  Hugo Tyson  <hmt@cygnus.co.uk>
116
117         * tests/slebtime.cxx (entry2): Fix a dumb fencepost prob in some
118         string poking code for output without printf...
119
120 1999-04-23  Jesper Skov  <jskov@cygnus.co.uk>
121
122         * src/hal_diag.c (hal_bsp_console_write): Added a workaround for PR
123         19926.
124
125 1999-04-09  Hugo Tyson  <hmt@cygnus.co.uk>
126
127         * include/hal_cache.h (HAL_[DI]CACHE_IS_ENABLED): 
128         Implement these macros.
129
130 1999-04-09  Hugo Tyson  <hmt@cygnus.co.uk>
131
132         * include/halboot.si: Use 10 wait states for access to the 86940
133         on CS1; it seems to make the Reliability Difference(tm).
134
135 1999-04-08  Hugo Tyson  <hmt@cygnus.co.uk>
136
137         * tests/slebtime.cxx: Add CYG_INIT_PRIORITY( APPLICATION ) to the
138         two static thread objects so that the test works even when libc
139         steals away the default constructors.  Unfortunately this also
140         means switching to an assignment constructor instead of a call.
141
142 1999-04-08  John Dallaway  <jld@cygnus.co.uk>
143
144         * include/pkgconf/*.ldi: Revised SECTION_* macro arguments to
145         avoid padded output sections (PR 19787)
146
147 1999-04-07  Hugo Tyson  <hmt@cygnus.co.uk>
148
149         * include/hal_hwio.h: New file: define accessors for 86940 via
150         alternate address space 4, register names and all that... just a
151         paste out of previous hal_diag.h - it was the wrong place, but
152         that's how it evolved.
153
154         * include/hal_diag.h: Include hal_hwio.h to get accessors for
155         86940 et al.  Do not define them here, it was the wrong place.
156
157         * include/hal_clock.h: 
158         * include/hal_xpic.h:
159         Include hal_hwio.h instead of hal_diag.h        
160
161 1999-04-07  Hugo Tyson  <hmt@cygnus.co.uk>
162
163         * tests/slebintr.c (checkallbut): This is a more informative
164         version of the test when it fails: this is still under
165         investigation somewhat, and running the more verbose version
166         nightly will be useful. 
167
168 1999-03-30  Hugo Tyson  <hmt@cygnus.co.uk>
169
170         * tests/slebintr.c (start): After some thought, the timing code in
171         here could cause the test to take arbitrarily long; so some safety
172         features added.  Normally the test loop is very fast, but with
173         cache effects and instrumentation and -O0 it could take ages; this
174         could explain the occasional timeouts we have seen for this test.
175
176 1999-03-26  Hugo Tyson  <hmt@cygnus.co.uk>
177
178         * include/hal_cache.h: 
179         Implement the cache control macros: at least
180         for x in ( D I )
181             HAL_xCACHE_ENABLE/DISABLE
182             HAL_xCACHE_INVALIDATE_ALL, HAL_xCACHE_SYNC
183         in the first instance.  kcache1 reports sensible numbers too!
184         
185 1999-03-26  Hugo Tyson  <hmt@cygnus.co.uk>
186
187         * tests/slebintr.c (HAL_CLOCK_READ): If there is no kernel, the
188         clock is not initialized, so looking at it is useless for a clue.
189         So provide a dummy so we perform a "few" loops when there's no
190         kernel. If there is no kernel, cyg_user_start() is never called,
191         main gets in and steals the CPU.  So we hang.  So if there is no
192         kernel, define cyg_start() instead to wrest control.  Also very
193         much weaken the looping count check; kernel instrumentation, for
194         example, is more than enough to slow the world down too much.
195
196         * tests/slebstak.c (cyg_[user_]start):
197         If there is no kernel, cyg_user_start() is never called, main gets
198         in and steals the CPU.  So we hang.  So if there is no kernel,
199         define cyg_start() instead to wrest control.
200
201         * tests/slebtime.cxx: 
202         Make this build when no kernel present; include of testcase &c
203         was the wrong side of the ifdef.  Doh!
204
205 1999-03-25  Hugo Tyson  <hmt@cygnus.co.uk>
206
207         * src/hal_priv.c (hal_clock_initialize): Oh dear, the clock was
208         only running half the speed it should have; this will make the
209         tm_basic figures look bad, maybe.  It _appeared_ right because of
210         spurious interrupts, making two ISRs per tick, which covered the
211         error beautifully.  So, the initialization is now corrected, now
212         that the interrupt management is better dealt with.
213
214         * include/hal_xpic.h (HAL_INTERRUPT_ACKNOWLEDGE): Loop until
215         either the interrupt has stopped being asserted by the
216         prioritization latch (CLIRL) or the source has actually re-flagged
217         the interrupt, so that repeated, fast interrupts will re-interrupt
218         rather than causing a loop here.  This is to prevent spurious
219         double interrupts caused by HAL_INTERRUPT_ACKNOWLEDGE() not taking
220         effect before the CPU re-enabled interrupts; this had been
221         covering the clock bug as well as confusing the serial system.
222
223         Also placed a HAL_INTERRUPT_ACKNOWLEDGE() in
224         HAL_INTERRUPT_CONFIGURE() since the doc implies it is necessary
225         when changing that stuff; a spurious interrupt may be latched.
226         
227 1999-03-24  Hugo Tyson  <hmt@cygnus.co.uk>
228
229         * include/hal_xpic.h (HAL_INTERRUPT_CONFIGURE): 
230         Implement this functionality, since Gary wanted to experiment with
231         it.  Also add HAL_INTERRUPT_QUERY_INFO (platform specific) to read
232         back the settings of a particular interrupt source.
233
234         * tests/slebintr.c: NEW FILE: test case for the above new macros.
235         * tests/slebstak.c: NEW FILE: tests the register save/restore code
236                 by carrying out lots of factorial calculations.
237         * tests/slebtime.c: NEW FILE: tests HAL clocks for sanity; prints
238                 useful diagnostics.  Most useful when a human observes, if
239                 it goes wrong this test is more likely to report a timeout
240                 than a failure.
241
242         * tests/sleb.c: FILE DELETED - moved to slebstak.c
243         
244         * tests/PKGconf.mak (TESTS): Reflect above changes.
245
246 1999-03-23  John Dallaway  <jld@cygnus.co.uk>
247
248         * include/pkgconf/hal_sparclite_sleb.h: Modify display string
249         for consistency.
250
251 1999-03-23  Hugo Tyson  <hmt@cygnus.co.uk>
252
253         * src/hal_diag.c (hal_diag_write_char): Precisely undo the
254         previous change: we disable interrupts to prevent the clock
255         advancing during the time taken to output to GDB.
256
257 1999-03-18  Hugo Tyson  <hmt@cygnus.co.uk>
258
259         * src/hal_diag.c (hal_diag_write_char_serial): Do not disable
260         interrupts while calling the CygMon write-line routine; CygMon is
261         better now and can cope with interrupts there.
262
263 1999-03-17  John Dallaway  <jld@cygnus.co.uk>
264
265         * include/pkgconf/mlt_sparclite_sleb_rom.mlt: Regenerate using
266         the eCos configuration tool to resolve errors.
267
268 1999-03-17  Hugo Tyson  <hmt@cygnus.co.uk>
269
270         * include/pkgconf/mlt_sparclite_sleb_rom.mlt: 
271         * include/pkgconf/mlt_sparclite_sleb_rom.ldi: 
272         Move the start of RAM up 512 bytes; it is now at 0x04000200.  This
273         is to leave space for the trampoline code ie. RAM trap vector
274         handler to live in RAM as is required.  NB the vector must be on a
275         4k boundary; its location is determined by rounding down the start
276         of "normal" RAM ie. the symbol ".data".  So if the start of RAM
277         isn't on a 4k boundary, or the trampoline code gets > 4k, there
278         will be trouble.
279
280         * include/halboot.si: Copy trampoline code into RAM base during
281         startup, and deal with associated caching issues.
282
283         * src/hal_priv.c (LED): Add this tidier macro and some extra LED
284         debug during start for help with ROM start.
285
286         * include/pkgconf/hal_sparclite_sleb.h
287         (CYGHWR_HAL_SPARCLITE_SLEB_STARTUP): Add this define and its
288         associated notCDL for the GUI Config tool.
289
290 1999-03-16  Hugo Tyson  <hmt@cygnus.co.uk>
291
292         * include/pkgconf/mlt_sparclite_sleb_rom.ldi:
293         * include/pkgconf/mlt_sparclite_sleb_rom.mlt:
294         New files, linker script fragment and MLT doc for ROM startup.
295         
296         * include/halboot.si: Only copy real instructions into the vector
297         if RAM startup.  Delete lots of obsolete debugging "printout".
298         Size RAM dynamically.  Set up chip selects, wait states, refresh
299         timing, system services, caches, buffers, burst mode access, ...
300         In other words complete hardware initialization.        
301
302         * include/hal_cpu.h: new file, taken directly from CygMon sources,
303         which defines various MB8683x internal registers which are used in
304         the initialization in halboot.si.
305
306         * include/hal_diag.h (HAL_SPARC_86940_PRS_ODIV2): Add lots more
307         definition of the MB86940 companion I/O chip, editted from CygMon
308         sources.  This should move into a proper IO file later.
309         Also, in the non-CYG_KERNEL_DIAG_GDB case where we write output to
310         the serial line in clear, do perform initialization.
311
312         * src/hal_diag.c (hal_diag_init): Properly initialize the serial
313         line when not using GDB encoding (if GDB coding is in use, then we
314         have CygMon).
315
316         * include/hal_clock.h (HAL_CLOCK_INITIALIZE): Initialize the clock
317         more cleanly and correctly, as CygMon does: so ticks are actually
318         centiSeconds, pretty much.  Actual init routine is in hal_priv.c.
319
320         * src/hal_priv.c (hal_clock_initialize): Properly initialize the
321         system clock to centiSeconds.
322
323 1999-03-11  Hugo Tyson  <hmt@cygnus.co.uk>
324
325         * src/hal_priv.c (hal_board_prestart): 
326         Link in the multi-thread aware debugging routine if
327         CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT.
328         
329 1999-03-09  Hugo Tyson  <hmt@cygnus.co.uk>
330
331         * src/hal_priv.c (hal_board_prestart): If playing nice with
332         CygMon, unmask and pass through interrupt 14 (Ethernet
333         controller).  Install and unmask interrupt 15 (NMI button)
334         likewise.
335
336         * src/hal_cygm.S (hal_nmi_handler): Add new handler for the NMI
337         interrupt (like a PIN number) INT15, the button near the serial
338         connector on the board.  The handler must wait for the interrupt
339         to go away, then acknowledge it to prevent CygMon getting in a
340         loop.
341
342         * include/halboot.si: Set IRC channel 14 (Ethernet controller)
343         interrupt to active low so that we can pass such events on to
344         CygMon.  Tidy up comments and ifdefs.
345
346         * include/hal_cygm.h (BSP_NOTVEC_BSP_COMM_PROCS): Define the
347         CygMon vector table entry that isn't a vector, but is a pointer to
348         struct tree with IO functions therein.
349
350         * src/hal_diag.c (hal_diag_write_char et al): Add variants of
351         these routines to use IO functions provided by CygMon if thus
352         configured.  Also tidied up direct GDB-ized serial output, which
353         is selected by CYG_KERNEL_DIAG_GDB_SERIAL_DIRECT within
354         CYG_KERNEL_DIAG_GDB now.
355
356         * include/pkgconf/hal_sparclite_sleb.h: Add definition for
357         CYG_KERNEL_DIAG_GDB_SERIAL_DIRECT, disabled by default.  More
358         comments too.
359
360 1999-03-04  John Dallaway  <jld@cygnus.co.uk>
361
362         * include/pkgconf/*.ldi: give all LDI files unique names so
363         that they can co-exist in an eCos build tree (PR 19184)
364         * include/pkgconf/*.mlt: give all MLT files unique names so
365         that they can co-exist in an eCos build tree (PR 19184)
366
367 1999-02-25  Hugo Tyson  <hmt@cygnus.co.uk>
368
369         These log entries from 1999-02-22 to 1999-02-24 were executed in
370         a branch; this change is a merge of that branch into the trunk.
371
372 1999-02-25  Hugo Tyson  <hmt@masala.cygnus.co.uk>
373
374         * src/hal_diag.c (hal_diag_write_char): 
375         Wait for the GDB protocol ack character '+' after sending a line
376         of output as a $O packet; this prevents mismatches of the GDB
377         protocol when a breakpoint is hit temporally near such output.
378         This has the side effect that we must deal with seeing a ^C
379         character instead of the '+', whence we must bounce into CygMon's
380         BREAK vector using a trap.  Hence the next change...
381
382         * src/hal_cygm.S (hal_user_trap_to_cygmon_vsr): 
383         Add additional "bounce to cygmon" capability such that user trap
384         2, "ta 2" trap type 130, does the same as "ta 1" ie. a breakpoint,
385         but first it advances the PC and NPC so that you can continue at
386         the instruction after.  This is so that a voluntary inline
387         breakpoint can be implemented as "ta 2; nop; nop; nop" (nops just
388         for paranoia).
389
390 1999-02-24  Jonathan Larmour  <jlarmour@cygnus.co.uk>
391
392         * include/hal_diag.h: 
393         Make hal_diag_init() and hal_diag_write_char() prototypes be extern "C"
394         for C++ files so they don't get name mangled
395
396 1999-02-24  John Dallaway  <jld@cygnus.co.uk>
397
398         * include/pkgconf/hal_sparclite_sleb.h: Add MB8683x board
399         designation to description field.
400
401 1999-02-24  Hugo Tyson  <hmt@cygnus.co.uk>
402
403         * include/pkgconf/hal_sparclite_sleb.h: 
404         Non-CDLoptions, but #defines nontheless,
405         CYG_HAL_USE_ROM_MONITOR_CYGMON and CYG_KERNEL_DIAG_GDB are defined
406         here to control whether we cooperate with CygMon, and if so, do we
407         encapsulate out output in GDB $O packets, respectively.
408
409         * include/hal_cygm.h: 
410         New file to describe the CygMon vectors we call to cooperate with
411         CygMon and GDB.  When cooperating, we install VSRs in some slots
412         that demux into CygMon's vector table, and in most slots we just
413         patch in the appropriate value from CygMon's vector table so that
414         CygMon is called directly.
415
416         * include/hal_xpic.h: 
417         Document the interrupt sources on the SLEB.
418
419         * include/hal_diag.h (HAL_DIAG_WRITE_CHAR): 
420         Call routines in hal_diag.c to perform encapsulation, or not,
421         depending on CYG_KERNEL_DIAG_GDB.
422
423         * src/hal_cygm.S: New file, demuxer trampolines for user trap and
424         no-fp/no-cp VSRs to bounce into CygMon.
425         
426         * src/hal_diag.c: New file, routines to perform encapsulation of
427         output in GDB $O packets if required by CYG_KERNEL_DIAG.
428         
429         * src/hal_priv.c (hal_board_prestart):
430         If CYG_HAL_USE_ROM_MONITOR_CYGMON, install either CygMon's vectors
431         or demuxer trampolines into our VSRs during startup.
432
433         * src/PKGconf.mak (COMPILE): Add new files hal_cygm.S hal_diag.c
434
435 1999-02-23  John Dallaway  <jld@cygnus.co.uk>
436
437         * include/pkgconf/hal_sparclite_sleb.h: Revise capitalization
438         of CDL strings.
439
440 1999-02-23  John Dallaway  <jld@cygnus.co.uk>
441
442         * include/pkgconf/hal_sparclite_sleb.h: Specify correct platform
443         for cdl_package CYGPKG_HAL_SPARCLITE_SLEB.
444
445 1999-02-22  Hugo Tyson  <hmt@cygnus.co.uk>
446
447         * include/pkgconf/ram.mlt: 
448         * include/pkgconf/ram.ldi: 
449         All a lot more constraints on alignment: sections must be
450         word-aligned at least for the network loader to accept them.
451         I hope I have correctly modified the .mlt file; it's not exactly
452         self documenting.
453
454 1999-02-22  Hugo Tyson  <hmt@cygnus.co.uk>
455
456         * include/hal_cache.h: New file
457         * include/hal_clock.h: New file
458         * include/hal_diag.h: New file
459         * include/hal_xpic.h: New file
460         * include/halboot.si: New file
461         * include/pkgconf/hal_sparclite_sleb.h: New file
462         * include/pkgconf/ram.ldi: New file
463         * include/pkgconf/ram.mlt: New file
464         * src/PKGconf.mak: New file
465         * src/hal_priv.c: New file
466         * tests/PKGconf.mak: New file
467         * tests/sleb.c: New file
468
469         Initial checkin of the hardware platform port for SPARClite:
470         platform is sleb: SPARClite Evaluation Board.
471
472         The structure here mirrors that in the sim directory, and in fact
473         was cloned from it after the change of 1999-02-08 for MLT
474         compliance.
475
476 //===========================================================================
477 //####ECOSGPLCOPYRIGHTBEGIN####
478 // -------------------------------------------
479 // This file is part of eCos, the Embedded Configurable Operating System.
480 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
481 //
482 // eCos is free software; you can redistribute it and/or modify it under
483 // the terms of the GNU General Public License as published by the Free
484 // Software Foundation; either version 2 or (at your option) any later version.
485 //
486 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
487 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
488 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
489 // for more details.
490 //
491 // You should have received a copy of the GNU General Public License along
492 // with eCos; if not, write to the Free Software Foundation, Inc.,
493 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
494 //
495 // As a special exception, if other files instantiate templates or use macros
496 // or inline functions from this file, or you compile this file and link it
497 // with other works to produce a work based on this file, this file does not
498 // by itself cause the resulting work to be covered by the GNU General Public
499 // License. However the source code for this file must still be made available
500 // in accordance with section (3) of the GNU General Public License.
501 //
502 // This exception does not invalidate any other reasons why a work based on
503 // this file might be covered by the GNU General Public License.
504 //
505 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
506 // at http://sources.redhat.com/ecos/ecos-license/
507 // -------------------------------------------
508 //####ECOSGPLCOPYRIGHTEND####
509 //===========================================================================
510
511 //EOF ChangeLog