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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [sparclite/] [arch/] [current/] [ChangeLog] - Blame information for rev 838

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

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

powered by: WebSVN 2.1.0

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