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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [sparclite/] [arch/] [v2_0/] [ChangeLog] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
2003-04-10  Nick Garnett  
2
 
3
        * src/sparclite.ld:
4
        Added libsupc++.a to GROUP() directive for GCC versions later than
5
        3.0.
6
 
7
2002-04-29  Jonathan Larmour  
8
 
9
        * src/vectors.S:
10
        * src/vec_xvsr.S:
11
        * src/vec_ivsr.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-16  Jonathan Larmour  
17
 
18
        * include/hal_arch.h (CYGARC_JMP_BUF_SIZE): Define hal_jmp_buf in
19
        terms of this.
20
 
21
2000-08-07  Jonathan Larmour  
22
 
23
        * src/sparclite.ld: Remove extra underscore from below. It was
24
        correct before.
25
 
26
2000-06-21  Nick Garnett  
27
 
28
        * include/basetype.h:
29
        Removed definition of CYG_LABEL_NAME(). Now dealt with by default
30
        definition in cyg_type.h.
31
 
32
        * src/sparclite.ld:
33
        Added extra underscore to _stext and _etext.
34
        Switched over to new table creation mechanism.
35
 
36
2000-06-08  Jesper Skov  
37
 
38
        * include/hal_arch.h (CYGARC_HAL_SAVE_GP, CYGARC_HAL_RESTORE_GP):
39
        Added.
40
 
41
2000-02-16  Jesper Skov  
42
 
43
        * src/vectors.S:
44
        * src/hal_boot.c:
45
        CYG_HAL_SPARCLITE_ > CYGPKG_HAL_SPARCELITE_
46
 
47
2000-02-16  Jesper Skov  
48
 
49
        * cdl/hal_sparclite.cdl: removed fix me
50
 
51
2000-01-28  Gary Thomas  
52
 
53
        * src/sparclite.ld: Add support for network package.
54
 
55
2000-01-19  Hugo Tyson  
56
 
57
        * cdl/*.cdl: Add descriptions to a number of options &c which were
58
        lacking same, also tidied up other typos as noticed en passant.
59
 
60
1999-12-02  John Dallaway  
61
 
62
        * cdl/hal_sparclite.cdl:
63
 
64
        Use the  token in custom rules.
65
 
66
1999-12-01  John Dallaway  
67
 
68
        * cdl/hal_sparclite.cdl:
69
 
70
        Use the  token in custom rules.
71
 
72
1999-11-04  John Dallaway  
73
 
74
        * cdl/hal_sparclite.cdl:
75
 
76
        Output custom rule dependency information to .deps files in
77
        the current directory.
78
 
79
        Dispense with the need to create a 'src' sub-directory.
80
 
81
1999-11-03  John Dallaway  
82
 
83
        * cdl/hal_sparclite.cdl: Define build options.
84
 
85
1999-11-01  Jesper Skov  
86
 
87
        * cdl/hal_sparclite.cdl: Addded.
88
 
89
1999-10-15  Hugo Tyson  
90
 
91
        * src/vectors.S (not_window_overflow): Actually the dispatcher
92
        into exception VSRs.  Bugfix: wrong number was placed in %l3 for
93
        call to xvsr, so for *some* types of trap, including user traps
94
        other than those handled directly in-HAL, a vector way off the end
95
        of the array would be used.  Apparently those other types of trap
96
        never happen, but just in case...
97
 
98
1999-10-13  Hugo Tyson  
99
 
100
        * src/vectors.S: Optionally implement Multiple (rather than
101
        Single) Vector Trapping.  The config options to control this are
102
        in the platform HAL because some SPARCs do not support SVT, where
103
        it is optional the platform says so.  This demands a variable
104
        sized region be reserved for trampoline code or the vectors in
105
        RAM, which is done via section .ram_vectors, defined herein.
106
 
107
        * src/sparclite.ld: Define SECTION_ram_vectors(...) to deal with
108
        the new .ram_vectors section.  This is to provide a variable sized
109
        area at the start of RAM to hold either trampoline code when SVT
110
        is selected, or a fill 4k + handlers of vectors when MVT is
111
        selected.  Previously this was bodged by pretending RAM starts at
112
        0x4000200 in ROM startup builds.
113
        (comment from the example .ldi files...)
114
        The ram_vectors section is to allow some free space to copy
115
        vectors into from the ROM.  This is required to be variable size
116
        to accomodate SVT or MVT; 80 bytes vs 4kB.  Copying is not
117
        necessary with MVT, but it is optional because it may offer
118
        performance gains.  Copying is required for SVT because the
119
        (aligned) start of ROM contains initialization instructions.  RAM
120
        copy is used rather than leave a big gap in the ROM to get an
121
        aligned address for the trampoline code.  For RAM startup,
122
        ram_vectors will usually be of size zero, unless MVT and copying
123
        are enabled for memory estimation reasons.
124
 
125
1999-09-29  Hugo Tyson  
126
 
127
        [src/vectors.S: needed no change!]
128
 
129
        * include/vectors.h: Potentially accept a register window count
130
        from the platform HAL, or according to platform selection.  Make
131
        more of the dependent macros computed.
132
 
133
        * src/vec_ivsr.S (hal_default_interrupt_vsr): Handle other register
134
        window sizes correctly; particularly when handling underflow trap
135
        by hand.
136
 
137
        * src/vec_xvsr.S (hal_default_exception_vsr): Handle other register
138
        window sizes correctly; particularly when handling underflow trap
139
        by hand.
140
 
141
        * src/context.S (hal_thread_load_context): Handle other register
142
        window sizes correctly.
143
 
144
        * src/icontext.c (cyg_hal_sparc_get_gdb_regs): Handle other register
145
        window sizes correctly; set up initial context differently.
146
 
147
1999-06-07  Hugo Tyson  
148
 
149
        * include/hal_arch.h (hal_jmp_buf): force this to be 64-bit
150
        aligned so that std ops in hal_setjmp(), hal_longjmp() work.
151
 
152
1999-06-03  Hugo Tyson  
153
 
154
        * src/hal_boot.c: Add a dummy __gccmain() to prevent ctors being
155
        called twice.  This seems to be a recent compiler change:
156
        [from gcc/ChangeLog]
157
        Sat May 22 18:18:43 1999  Jason Merrill  
158
           * sparc/liteelf.h: Handle ctors like MIPS crosses.
159
           * sparc/lite.h (STARTFILE_SPEC, LIB_SPEC): Define to "".
160
           * configure.in: Don't use libgloss.h on sparclite-elf.
161
           Use collect2 on sparclite-aout.
162
 
163
1999-05-20  Hugo Tyson  
164
 
165
        * include/hal_intr.h (HAL_INTERRUPT_STACK_CALL_PENDING_DSRS):
166
        Define this if CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK;
167
        ie. we are running a separate interrupt stack.  Also define
168
        symbols for it so that we can monitor its usage easily.
169
 
170
        * src/vec_ivsr.S (hal_interrupt_stack_call_pending_DSRs): Add this
171
        function to run DSRs on the interrupt stack (if using it).  Switch
172
        over to executing on the interrupt stack when needed.
173
 
174
        * src/vectors.S (cyg_interrupt_stack_base): Define the interrupt
175
        stack either if we need it as an interrupt stack or if we need it
176
        as a bootup stack (simulator); if it's there, use it as a bootup
177
        stack anyway.
178
 
179
        * src/context.S (hal_thread_load_context): Install the PSR that
180
        was saved in its entirety, including the interrupt and trap enable
181
        state.  This is needed for running a separate interrupt stack, but
182
        harmless when not so doing.
183
 
184
        * src/icontext.c (hal_thread_init_context): Install an initial PSR
185
        which includes ET, S and PS (Enable traps, Supermode, prevSuper)
186
        and a PIL (processor interrupt level) of 15 (maximum)
187
        so that a context switch which preserves interrupt mode will work.
188
 
189
1999-05-13  Hugo Tyson  
190
 
191
        * include/hal_arch.h (HAL_THREAD_INIT_CONTEXT): Align stack
192
        (rather conservatively) before use.
193
 
194
1999-04-28  Bart Veer  
195
 
196
        * src/PKGconf.mak:
197
        Remove the -n argument to tail, it does not appear to be required
198
        on any supported host and causes problems with some
199
        implementations of tail.
200
 
201
1999-04-15  Jonathan Larmour  
202
 
203
        * src/sparclite.ld: Define __bss_end at the end of the BSS
204
        * src/hal_boot.c (hal_zero_bss): Stop at __bss_end rather than _end
205
        when clearing BSS
206
 
207
        These fix PR 19750
208
 
209
1999-04-14  Jonathan Larmour  
210
 
211
        * src/PKGconf.mak (EXTRAS): Don't generate extras.o here any more
212
        But do define EXTRAS every time for the linker script.
213
 
214
1999-04-09  Hugo Tyson  
215
 
216
        * include/hal_intr.h (HAL_RESTORE_INTERRUPTS et al): Put in 3 nops
217
        after any writes to the psr; TBH I don't think they're strictly
218
        necessary when not altering the window state, but for complete
219
        safety and adherence to the book of words....
220
 
221
1999-04-08  John Dallaway  
222
 
223
        * src/*.ld: Revised SECTION_* macro arguments to
224
        avoid padded output sections (PR 19787)
225
 
226
1999-04-07  Hugo Tyson  
227
 
228
        * include/hal_io.h: If not the simulator, get hal_hwio.h too -
229
        which describes board-and-CPUvariant-specific IO needs.
230
 
231
1999-04-07  Hugo Tyson  
232
 
233
        * include/hal_intr.h (HAL_VSR_SET_TO_ECOS_HANDLER): Define this
234
        macro for use in tests that are interested in exception diddling.
235
        Redefine CYGNUM_HAL_ISR_MIN to describe the number of interrupt
236
        sources; while there are XSRs too, this definition is better for
237
        the error checking in kernel interrupt stuff.  Changed the symbols
238
        used for defining tables sizes to match, since there are still 27
239
        VSRs and ISRs/XSRs and their data.
240
 
241
        * src/hal_intr.c: Use the correct symbol for the size of the
242
        isr/vsr/their-data tables.
243
 
244
1999-03-26  Hugo Tyson  
245
 
246
        * tests/sparc_ex.c (cyg_[user_]start):
247
        If there is no kernel, cyg_user_start() is never called, main gets
248
        in and steals the CPU.  So we hang.  So if there is no kernel,
249
        define cyg_start() instead to wrest control.
250
 
251
1999-03-22  Hugo Tyson  
252
 
253
        * include/hal_arch.h (CYGNUM_HAL_STACK_SIZE_TYPICAL):
254
        And this time make the edit correctly ;-/
255
 
256
1999-03-22  Hugo Tyson  
257
 
258
        * include/hal_arch.h:
259
        Use CYGNUM_HAL_STACK_SIZE_TYPICAL for the stack size instead of
260
        CYGNUM_HAL_MINIMUM_STACK_SIZE.
261
 
262
1999-03-17  Hugo Tyson  
263
 
264
        * src/vectors.S (rom_vectors_end, rom_vectors): Add two new
265
        symbols for copying trampoline code into RAM in ROM startup.  This
266
        keeps ROM startup as similar as possible to RAM, for simplicity;
267
        no re-ordering of vectors.S's contents.
268
 
269
        * src/hal_boot.c (hal_copy_data): Copy in long sized units rather
270
        than long longs, better to cope with ROM data alignment.
271
        Also add some LED output (if SLEB hardware) for startup to help
272
        with debugging ROM start.
273
 
274
1999-03-17  John Dallaway  
275
 
276
        * src/PKGconf.mak: Remove dependence on echo '-e' switch.
277
 
278
1999-03-16  Hugo Tyson  
279
 
280
        * src/vectors.S (genuine_reset): Add a little extra debug to SLEB
281
        LEDs, and use the genuine top-of-memory stack when running on
282
        hardware; only define cyg_bootup_stack in the simulator case.
283
 
284
        * src/sparclite.ld: Define rom_data_start, regardless of start
285
        type, no harm is done.
286
 
287
1999-03-12  Gary Thomas  
288
 
289
        * include/pkgconf/hal_sparclite.h:
290
        * include/hal_arch.h: Moved definition of 'CYGNUM_HAL_MINIMUM_STACK_SIZE'
291
 
292
1999-03-11  Hugo Tyson  
293
 
294
        * src/icontext.c (cyg_hal_sparc_[gs]et_gdb_regs):
295
        Two new routines to communicate our nice, optimized stack save
296
        states to a reg list for GDB.  My maximal register saves are not
297
        really suitable for passing to GDB in any case, they're for humans
298
        to debug the interrupt code more than anything else, and my
299
        minimal save sets naturally contain pointers and ways of finding
300
        the rest of the reg set, but it depends on whether it's an
301
        interrupt save or a synchronous one, and given the SPARClite's
302
        stack layout, it's a bit hairy.
303
 
304
        * src/vec_ivsr.S (hal_default_interrupt_vsr):
305
        Do save %g0 even in a minimal context, so that the code for
306
        communicating register state with GDB can tell it's a minimum
307
        context.  Costs one store cycle per interrupt.
308
 
309
        * include/hal_arch.h (HAL_[GS]ET_GDB_REGISTERS):
310
        Define and call routines cyg_hal_sparc_[gs]et_gdb_regs for
311
        communicating register state of a thread to GDB.
312
 
313
        * src/vectors.S (real_vector): Reinstate the anullment of the
314
        instructions that were blamed for register corruption earlier;
315
        they are correct and safe.
316
 
317
1999-03-10  Jesper Skov  
318
 
319
        * include/hal_intr.h (HAL_INTERRUPT_IN_USE): Added.
320
 
321
1999-03-09  Gary Thomas  
322
 
323
        * src/hal_boot.c: Added missing  include file.
324
 
325
1999-03-05  Gary Thomas  
326
 
327
        * src/sparclite.ld:
328
        * src/PKGconf.mak: Clean up I/O package changes.
329
 
330
1999-03-04  Jonathan Larmour  
331
 
332
        * src/sparclite.ld:
333
        Unconditionalize use of libextras.a and add to GROUP()
334
 
335
1999-03-04  Gary Thomas  
336
 
337
        * src/PKGconf.mak:
338
        * src/sparclite.ld: New I/O package support.
339
 
340
        * src/vectors.S: Fix register corruption problem - stems from
341
        use of annulled instructions in window overflow/underflow code.
342
 
343
1999-02-25  Hugo Tyson  
344
 
345
        These log entries from 1999-02-22 to 1999-02-24 were executed in
346
        a branch; this change is a merge of that branch into the trunk.
347
 
348
        (1999-02-24  Hugo Tyson  )
349
 
350
        * tests/sparc_ex.c (sparc_ex_main):
351
        For all traps except the USER_TRAP, install the default VSR
352
        hal_default_exception_vsr(); this is so that this test catches
353
        exception ie. is able to work, even when we are playing nice with
354
        CygMon and GDB.  The USER_TRAP is left so that breakpoints work,
355
        for the test infrastructure.
356
 
357
        (1999-02-22  Hugo Tyson  )
358
 
359
        * src/vectors.S (real_vector): Remove old testing code.  Add delay
360
        NOPs after writes to %wim and %psr for safety.  Leave installing
361
        the trap vector to platform-specific code, along with RAM control
362
        and cache initialization.
363
 
364
        * src/vec_ivsr.S (hal_default_interrupt_vsr): Add delay NOPs after
365
        writing the %wim before doing a restore; that was a bug that was.
366
 
367
        * src/vec_xvsr.S (hal_default_exception_vsr): same change.
368
 
369
        * src/hal_intr.c: Remove platform-specific clock period variable; it
370
        happens that both platforms sim and sleb have one, but it's not a
371
        requirement of the target architecture.
372
 
373
        * src/hal_boot.c (cyg_hal_start): Move diddling the sim-specific
374
        watchdog into platform-specific startup code viz. new routines
375
        hal_board_{pre/post}start().
376
 
377
        * src/context.S: a couple of extra NOPs to ensure that %wim and
378
        %psr changes work on real hardware.
379
 
380
        (1999-02-22  Hugo Tyson  )
381
 
382
        * include/hal_arch.h (HAL_SET_GDB_REGISTERS):
383
        Remove warning about unused var 'cos of the incompleteness of
384
        these macros; gdb interworking is not yet supported.
385
 
386
1999-02-25  Nick Garnett  
387
 
388
        * include/vectors.h:
389
        Changed label used to access scheduler lock to one that is not
390
        mangled by C++. This is intended to make support for interrupt
391
        handling in non-kernel configurations easier.
392
 
393
1999-02-20  Jonathan Larmour  
394
 
395
        * include/hal_arch.h:
396
        Rename deliver_exception() -> cyg_hal_deliver_exception()
397
        QA improvements
398
 
399
        * include/hal_intr.h:
400
        Reorganise vector/interrupt/exception names according to purpose
401
        Rename exception_handler() -> cyg_hal_exception_handler()
402
        QA improvements
403
 
404
        * src/hal_intr.c:
405
        Rename exception_handler() -> cyg_hal_exception_handler()
406
        Rename deliver_exception() -> cyg_hal_deliver_exception()
407
        Rename CYG_ISR_COUNT -> CYGNUM_HAL_ISR_COUNT
408
        QA improvements
409
 
410
        * src/vec_ivsr.S:
411
        * src/vec_xvsr.S:
412
        Rename CYG_ISR_COUNT -> CYGNUM_HAL_ISR_COUNT
413
        QA improvements
414
 
415
        * tests/sparc_ex.c:
416
        Rename CYG_EXCEPTION_* -> CYGNUM_HAL_EXCEPTION_*
417
        Rename CYG_VECTOR_UNALIGNED -> CYGNUM_HAL_VECTOR_UNALIGNED
418
 
419
1999-02-12  Hugo Tyson  
420
 
421
        * src/context.S (hal_thread_load_context, hal_setjmp):
422
        Disable interrupts (but not traps) while doing the flush of all my
423
        callers and their callers' callers register sets to the stack.
424
        There is evidence that the inconsistency in the stack during this
425
        is a bad thing, though I have to admit that I don't see exactly
426
        how it goes wrong.  Partly, it's impossible to debug, so if the
427
        problem I saw (a SEGV in instrumentation of interrupt_end()) is
428
        reproduced with this change, I'll have more to go on.  This is a
429
        conservative change in that sense.
430
 
431
        * include/hal_arch.h (HAL_FLUSH_REGISTERS_TO_STACK):
432
        Disable interrupts but not traps while doing this.  Ditto.
433
 
434
1999-02-12  Hugo Tyson  
435
 
436
        * include/pkgconf/hal_sparclite.h (CYGNUM_HAL_MINIMUM_STACK_SIZE):
437
        Define a minimal sensible stack size for apps to use.  Note that
438
        this file is included by hal_arch.h and so is available to all HAL
439
        users, and in fact almost everyone by default.
440
 
441
1999-02-12  Hugo Tyson  
442
 
443
        * src/hal_intr.c (exception_handler):
444
        Include  so that the CYG_FAIL() in some
445
        configurations actually compiles (actually: links).
446
        combo{22,18,10,6} were thus afflicted.
447
 
448
1999-02-11  Hugo Tyson  
449
 
450
        * tests/sparc_ex.c (do_test): Make the test run for much less time
451
        when CYG_USE_TRACING and in any case bleat periodically about how
452
        successful it is to prevent testing system timeouts.  Also move
453
        the test routines (those which provoke the exception) to the end
454
        so that (ever helpful) -O3 cannot inline them and then "optimize"
455
        the result and thus spoil the whole damned test too.
456
 
457
1999-02-08  John Dallaway  
458
 
459
        * include/pkgconf/hal_sparclite.h: Correct capitalization of
460
        'SPARClite'.
461
 
462
1999-02-08  John Dallaway  
463
 
464
        * src/sparclite.ld: New MLT-compatible linker script
465
        * src/PKGconf.mak: Add build rules for sparclite.ld
466
 
467
1999-02-04  Hugo Tyson  
468
 
469
        * src/vec_ivsr.S (hal_default_interrupt_vsr): Preserve global
470
        registers over interrupts, and implement support for
471
        CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT ie. save a
472
        minimal register set rather than a maximal.  Create a saved
473
        register set whose address is passed to the interrupt handler
474
        (though it may well be mostly empty).
475
        [also tidied up trailing tabs and long blank lines]
476
 
477
        * src/vec_xvsr.S (hal_default_exception_vsr): Preserve all
478
        registers over interrupts; create a saved register set whose
479
        address is passed to the exception handler so it can modify it.
480
        [also tidied up trailing tabs and long blank lines]
481
 
482
        * src/context.S( hal_setjmp, hal_longjmp):
483
        (hal_thread_switch_context,hal_thread_load_context): Implement
484
        CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM support; ie. save a minimal
485
        register set rather than a maximal.
486
 
487
        * include/hal_arch.h (HAL_FLUSH_REGISTERS_TO_STACK): New macro
488
        useful for writing exception handlers, for example.
489
        (HAL_GET_GDB_REGISTERS, HAL_SET_GDB_REGISTERS): provided initial
490
        dummy versions of these.
491
 
492
        * tests/sparc_ex.c: A test of the exception mechanism:
493
        deliberately cause unaligned accesses of various sizes and check
494
        we get exactly one trap and correctly step over it by modifying
495
        the saved register set whose address the exception ISR is handed.
496
        This test should be regarded as documentation for the exception
497
        handler API/ABI.
498
 
499
        * tests/PKGconf.mak (TESTS): Build sparc_ex.
500
 
501
1999-02-01  Hugo Tyson  
502
 
503
        * src/vectors.S (genuine_reset):
504
        Include  to set up RAM controllers, cache and
505
        the like - this is rather platform dependant.
506
 
507
1999-02-01  Hugo Tyson  
508
 
509
        * include/hal_intr.h (HAL_TRANSLATE_VECTOR):
510
        Include a definition of this important macro.  Not.
511
        It's used when interrupt chaining is selected, BUT we the HAL make
512
        no distinction, it's up to the kernel to look after things.  So
513
        this macro is an assignment.
514
 
515
1999-01-28  Hugo Tyson  
516
 
517
        * include/hal_intr.h:
518
        Get interrupt controller definitions from a board-specific file:
519
        #include 
520
        Get clock control definitions from a board-specific file:
521
        #include 
522
        Delete the original definitions from this central file.
523
 
524
        * include/hal_cache.h: REMOVED to the simulator tree in the first
525
        instance; more generally to various board-specific files.
526
 
527
 
528
1999-01-26  Hugo Tyson  
529
 
530
        * include/hal_cache.h (HAL_DCACHE_ENABLE) (and its friends):
531
        Define initial empty placeholder versions of these so that cache
532
        tests build.  Well it's a start.
533
 
534
1999-01-21  Jonathan Larmour  
535
 
536
        * src/hal_boot.c (cyg_hal_invoke_constructors):
537
        Add code to deal with CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG
538
        Tidy up and update description header
539
        Shorten needlessly long lines
540
        Remove all traces of non-CYG_KERNEL_USE_INIT_PRIORITY code
541
 
542
1999-01-21  Hugo Tyson  
543
 
544
        * src/vectors.S (genuine_reset): Set the RAM size to 4MB in the
545
        erc32 simulator.
546
 
547
        * include/hal_io.h: New file; macros to access IO space, really a
548
        place holder at present.
549
 
550
        * include/hal_intr.h: Do not define WATCHDOG() macro.
551
 
552
        * src/hal_intr.c (hal_default_isr): Do not mess with the watchdog
553
        in the the default interrupt handler.
554
 
555
        * src/hal_boot.c (hal_zero_bss): use an efficient 8-byte zero.
556
        (hal_copy_data): use an efficient 8-byte copy.
557
        (cyg_hal_start): turn off the ERC32 watchdog timer before we start
558
        anything very time consuming.
559
 
560
        NB: the 8-byte copy changes require alignment in the linker
561
        script: see the Changelog in hal/sparclite/sim/... for details.
562
 
563
1999-01-19  Hugo Tyson  
564
 
565
        Modified files in arch:
566
        * include/hal_arch.h
567
        * include/hal_intr.h
568
        * src/PKGconf.mak
569
        * src/context.S
570
        * src/hal_intr.c
571
        * src/vec_ivsr.S
572
        * src/vec_xvsr.S
573
        * src/vectors.S
574
 
575
        New files in arch:
576
        * src/hal_boot.c        (bss initialization, constructors &c)
577
        * include/hal_cache.h   (empty but required header)
578
 
579
        Modified files in sim:
580
        * include/hal_diag.h
581
 
582
        Lots more progress; essentially, everything now works.
583
 
584
        Simulator's treatment of stdio is poor though, it doesn't work
585
        under pkgtest.  This has been slowing me up.
586
 
587
1999-01-14  Hugo Tyson  
588
 
589
        * ecc/ecc/hal/sparclite/...:
590
 
591
        Initial checkin of SPARClite HAL; it doesn't work yet, except the
592
        most trivial of tests - timer and interrupt manipulation stuff is
593
        entirely absent.
594
 
595
        Here's some documentation of the initial checkin tree; this will
596
        change, as platform dependent stuff moves correctly into the sim
597
        or  directories.
598
 
599
        arch/current/include:
600
                basetype.h      nothing much here.
601
                vectors.h       definitions of symbols shared between the
602
                        various vector code assembler files, can be
603
                        included in both C and assembler.
604
                hal_intr.h      various macros for clock and interrupt
605
                        control plus the eCos vector numbering scheme; we
606
                        map thus:
607
                        what    SPARC trap type     eCos vector numbers
608
                        -----------------------------------------------
609
                        (not used)   ---                0
610
                        interrupts (17-31)              1-15
611
                        user traps (128-255)            16
612
                        exceptions (1-9,36==4)          17-25
613
                        others     (10,?)               26
614
                        -----------------------------------------------
615
                        Trap types 5 and 6 which would be eCos vectors 21
616
                        and 22 are handled in the trampoline code in
617
                        file src/vectors.S
618
                hal_arch.h      definition of a thread context, plus
619
                        macros for thread switching and the like.  Some
620
                        ancillary bit twiddling macros and cache barriers
621
                        too.
622
 
623
        arch/current/include/pkgconf:
624
                hal_sparclite.h         pkgconf config/header file.
625
 
626
        arch/current/src:
627
                vectors.S       boot-up stuff, trampoline code that hangs
628
                        on the interrupt/trap vector, handlers for window
629
                        under/overflow.  Saves some state in registers
630
                        then jumps to the interrupt or exception VSR
631
                        respectively.
632
                        Also instantiates the VSR table.
633
                vec_ivsr.S      the default interrupt VSR; it establishes
634
                        a C calling environment (ie. anticipates a window
635
                        overflow) then locks the scheduler, calls the ISR
636
                        with appropriate arguments, and then interrupt_end()
637
                        before undoing that environment, anticipating
638
                        window underflow and returning to the interrupted
639
                        instruction.
640
                vec_xvsr.S      the default exception AKA trap VSR; does
641
                        the same as the interrupt one but without the
642
                        scheduler lock or interrupt end.
643
                hal_intr.c      instantiates the ISR table used by the
644
                        code above.
645
                context.S       context switch code, saves and loads up a
646
                        whole register state, coroutine or longjump-like.
647
                icontext.c      initializes a context to "jump" to in
648
                        context.S at the birth of a new thread.
649
 
650
        sim/current/include:
651
                hal_diag.h      macros to deal with debugging output via a
652
                        fake serial device of some kind; initially empty,
653
                        but definitely board/sim dependent.
654
 
655
        sim/current/include/pkgconf:
656
                hal_sparclite_sim.h     pkgconf config/header file.
657
 
658
        sim/current/src:
659
                sim.ld          linker script bits for "sim" target.
660
 
661
//===========================================================================
662
//####ECOSGPLCOPYRIGHTBEGIN####
663
// -------------------------------------------
664
// This file is part of eCos, the Embedded Configurable Operating System.
665
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
666
//
667
// eCos is free software; you can redistribute it and/or modify it under
668
// the terms of the GNU General Public License as published by the Free
669
// Software Foundation; either version 2 or (at your option) any later version.
670
//
671
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
672
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
673
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
674
// for more details.
675
//
676
// You should have received a copy of the GNU General Public License along
677
// with eCos; if not, write to the Free Software Foundation, Inc.,
678
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
679
//
680
// As a special exception, if other files instantiate templates or use macros
681
// or inline functions from this file, or you compile this file and link it
682
// with other works to produce a work based on this file, this file does not
683
// by itself cause the resulting work to be covered by the GNU General Public
684
// License. However the source code for this file must still be made available
685
// in accordance with section (3) of the GNU General Public License.
686
//
687
// This exception does not invalidate any other reasons why a work based on
688
// this file might be covered by the GNU General Public License.
689
//
690
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
691
// at http://sources.redhat.com/ecos/ecos-license/
692
// -------------------------------------------
693
//####ECOSGPLCOPYRIGHTEND####
694
//===========================================================================
695
 
696
//EOF ChangeLog

powered by: WebSVN 2.1.0

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