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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [synth/] [arch/] [v2_0/] [cdl/] [hal_synth.cdl] - Blame information for rev 592

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

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      hal_synth.cdl
4
#
5
#      Synthetic target architectural configuration data
6
#
7
# ====================================================================
8
#####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12
##
13
## eCos is free software; you can redistribute it and/or modify it under
14
## the terms of the GNU General Public License as published by the Free
15
## Software Foundation; either version 2 or (at your option) any later version.
16
##
17
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20
## for more details.
21
##
22
## You should have received a copy of the GNU General Public License along
23
## with eCos; if not, write to the Free Software Foundation, Inc.,
24
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25
##
26
## As a special exception, if other files instantiate templates or use macros
27
## or inline functions from this file, or you compile this file and link it
28
## with other works to produce a work based on this file, this file does not
29
## by itself cause the resulting work to be covered by the GNU General Public
30
## License. However the source code for this file must still be made available
31
## in accordance with section (3) of the GNU General Public License.
32
##
33
## This exception does not invalidate any other reasons why a work based on
34
## this file might be covered by the GNU General Public License.
35
##
36
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37
## at http://sources.redhat.com/ecos/ecos-license/
38
## -------------------------------------------
39
#####ECOSGPLCOPYRIGHTEND####
40
# ====================================================================
41
######DESCRIPTIONBEGIN####
42
#
43
# Author(s):      jskov
44
# Original data:  jskov
45
# Contributors:   bartv
46
# Date:           1999-11-01
47
#
48
#####DESCRIPTIONEND####
49
#
50
# ====================================================================
51
 
52
cdl_package CYGPKG_HAL_SYNTH {
53
    display  "Linux Synthetic target"
54
    parent        CYGPKG_HAL_I386
55
    define_header hal_synth.h
56
    include_dir   cyg/hal
57
    requires      !CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
58
 
59
    description   "
60
        The Linux Synthetic Target HAL package provides the
61
        support needed to run eCos binaries on top of a
62
        Linux kernel."
63
 
64
    implements    CYGINT_HAL_TESTS_NO_CACHES
65
 
66
    make {
67
        /lib/target.ld: /src/synth.ld
68
        $(CC) -E -P -Wp,-MD,target.tmp -DEXTRAS=1 -xc $(INCLUDE_PATH) $(CFLAGS) -o $@ $<
69
        @echo $@ ": \\" > $(notdir $@).deps
70
        @tail +2 target.tmp >> $(notdir $@).deps
71
        @echo >> $(notdir $@).deps
72
        @rm target.tmp
73
    }
74
    compile       synth_entry.c synth_diag.c synth_intr.c
75
 
76
    define_proc {
77
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
78
    }
79
 
80
    # Real-time clock/counter specifics
81
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
82
        display       "Real-time clock constants."
83
        description   "
84
            These values are used in the usec field of the itimerval structure
85
            when using getitimer/setitimer."
86
        flavor        none
87
 
88
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
89
            display       "Real-time clock numerator"
90
            flavor        data
91
            calculated    1000000000
92
        }
93
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
94
            display       "Real-time clock denominator"
95
            flavor        data
96
            calculated    100
97
        }
98
        cdl_option CYGNUM_HAL_RTC_PERIOD {
99
            display       "Real-time clock period"
100
            flavor        data
101
            calculated    10000
102
        }
103
    }
104
    # What to do when idling
105
    cdl_option CYGIMP_HAL_IDLE_THREAD_SPIN {
106
        display "Spin when idle"
107
        default_value   CYGIMP_IDLE_THREAD_YIELD
108
        description "
109
            By default, whenever the eCos application enters the idle thread
110
            the synthetic target HAL will make a select() system call. Effectively
111
            this causes the application to block until an interrupt occurs,
112
            without consuming any cpu resources, as if the hardware supported
113
            some sort of IDLE instruction. Usually this behaviour is desirable.
114
            However it interferes with the emulation of some hardware. For
115
            example the synthetic watchdog timer device can use consumed cpu time
116
            rather than wallclock time to determine whether or not the watchdog
117
            has triggered, and if the process is spending nearly all its time
118
            blocked in select() then the watchdog will not trigger when it should.
119
            There are also some kernel configurations which require that the idle
120
            thread does not block."
121
    }
122
    requires      { CYGIMP_IDLE_THREAD_YIELD implies CYGIMP_HAL_IDLE_THREAD_SPIN }
123
 
124
    cdl_option CYGBLD_LINKER_SCRIPT {
125
        display "Linker script"
126
        flavor data
127
        no_define
128
        calculated  { "src/synth.ld" }
129
    }
130
 
131
}

powered by: WebSVN 2.1.0

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