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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [common/] [v2_0/] [cdl/] [hal.cdl] - Diff between revs 27 and 174

Only display areas with differences | Details | Blame | View Log

Rev 27 Rev 174
# ====================================================================
# ====================================================================
#
#
#      hal.cdl
#      hal.cdl
#
#
#      HAL configuration data
#      HAL configuration data
#
#
# ====================================================================
# ====================================================================
#####ECOSGPLCOPYRIGHTBEGIN####
#####ECOSGPLCOPYRIGHTBEGIN####
## -------------------------------------------
## -------------------------------------------
## This file is part of eCos, the Embedded Configurable Operating System.
## This file is part of eCos, the Embedded Configurable Operating System.
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
## Copyright (C) 2002 Gary Thomas
## Copyright (C) 2002 Gary Thomas
##
##
## eCos is free software; you can redistribute it and/or modify it under
## eCos is free software; you can redistribute it and/or modify it under
## the terms of the GNU General Public License as published by the Free
## the terms of the GNU General Public License as published by the Free
## Software Foundation; either version 2 or (at your option) any later version.
## Software Foundation; either version 2 or (at your option) any later version.
##
##
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
## for more details.
## for more details.
##
##
## You should have received a copy of the GNU General Public License along
## You should have received a copy of the GNU General Public License along
## with eCos; if not, write to the Free Software Foundation, Inc.,
## with eCos; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
##
##
## As a special exception, if other files instantiate templates or use macros
## As a special exception, if other files instantiate templates or use macros
## or inline functions from this file, or you compile this file and link it
## or inline functions from this file, or you compile this file and link it
## with other works to produce a work based on this file, this file does not
## with other works to produce a work based on this file, this file does not
## by itself cause the resulting work to be covered by the GNU General Public
## by itself cause the resulting work to be covered by the GNU General Public
## License. However the source code for this file must still be made available
## License. However the source code for this file must still be made available
## in accordance with section (3) of the GNU General Public License.
## in accordance with section (3) of the GNU General Public License.
##
##
## This exception does not invalidate any other reasons why a work based on
## This exception does not invalidate any other reasons why a work based on
## this file might be covered by the GNU General Public License.
## this file might be covered by the GNU General Public License.
##
##
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
## at http://sources.redhat.com/ecos/ecos-license/
## at http://sources.redhat.com/ecos/ecos-license/
## -------------------------------------------
## -------------------------------------------
#####ECOSGPLCOPYRIGHTEND####
#####ECOSGPLCOPYRIGHTEND####
# ====================================================================
# ====================================================================
######DESCRIPTIONBEGIN####
######DESCRIPTIONBEGIN####
#
#
# Author(s):      bartv
# Author(s):      bartv
# Original data:  nickg,jskov,jlarmour
# Original data:  nickg,jskov,jlarmour
# Contributors:   dmoseley
# Contributors:   dmoseley
# Date:           1999-06-13
# Date:           1999-06-13
#
#
#####DESCRIPTIONEND####
#####DESCRIPTIONEND####
#
#
# ====================================================================
# ====================================================================
cdl_package CYGPKG_HAL {
cdl_package CYGPKG_HAL {
    display       "eCos HAL"
    display       "eCos HAL"
    include_dir   cyg/hal
    include_dir   cyg/hal
    description   "
    description   "
        The eCos HAL package provide a porting layer for
        The eCos HAL package provide a porting layer for
        higher-level parts of the system such as the kernel and the
        higher-level parts of the system such as the kernel and the
        C library. Each installation should have HAL packages for
        C library. Each installation should have HAL packages for
        one or more architectures, and for each architecture there
        one or more architectures, and for each architecture there
        may be one or more supported platforms. It is necessary to
        may be one or more supported platforms. It is necessary to
        select one target architecture and one platform for that
        select one target architecture and one platform for that
        architecture. There are also a number of configuration
        architecture. There are also a number of configuration
        options that are common to all HAL packages."
        options that are common to all HAL packages."
    doc           ref/the-ecos-hardware-abstraction-layer.html
    doc           ref/the-ecos-hardware-abstraction-layer.html
    compile       drv_api.c
    compile       drv_api.c
    compile       -library=libextras.a dummy.c
    compile       -library=libextras.a dummy.c
    requires      CYGPKG_INFRA
    requires      CYGPKG_INFRA
    make -priority 250 {
    make -priority 250 {
        /lib/extras.o: /lib/libextras.a
        /lib/extras.o: /lib/libextras.a
        $(CC) $(CFLAGS) -nostdlib -Wl,-r -Wl,--whole-archive -o $@ $<
        $(CC) $(CFLAGS) -nostdlib -Wl,-r -Wl,--whole-archive -o $@ $<
    }
    }
    cdl_component CYGPKG_HAL_COMMON {
    cdl_component CYGPKG_HAL_COMMON {
        display       "Platform-independent HAL options"
        display       "Platform-independent HAL options"
        flavor        none
        flavor        none
        description   "
        description   "
            A number of configuration options are common to most or all
            A number of configuration options are common to most or all
            HAL packages, for example options controlling how much state
            HAL packages, for example options controlling how much state
            should be saved during a context switch. The implementations
            should be saved during a context switch. The implementations
            of these options will vary from architecture to architecture."
            of these options will vary from architecture to architecture."
        script        common.cdl
        script        common.cdl
    }
    }
    cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
    cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
        display       "HAL interrupt handling"
        display       "HAL interrupt handling"
        flavor        none
        flavor        none
        description   "
        description   "
            A number of configuration options related to interrupt
            A number of configuration options related to interrupt
            handling are common to most or all HAL packages, even though
            handling are common to most or all HAL packages, even though
            the implementations will vary from architecture to
            the implementations will vary from architecture to
            architecture."
            architecture."
        script        interrupts.cdl
        script        interrupts.cdl
    }
    }
    cdl_component CYGPKG_HAL_COMMON_CONTEXT {
    cdl_component CYGPKG_HAL_COMMON_CONTEXT {
        display       "HAL context switch support"
        display       "HAL context switch support"
        flavor        none
        flavor        none
        description   "
        description   "
            A number of configuration options related to thread contexts
            A number of configuration options related to thread contexts
            are common to most or all HAL packages, even though the
            are common to most or all HAL packages, even though the
            implementations will vary from architecture to architecture."
            implementations will vary from architecture to architecture."
        cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
        cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
            display       "Use minimum thread context"
            display       "Use minimum thread context"
            parent        CYGPKG_HAL_COMMON_CONTEXT
            parent        CYGPKG_HAL_COMMON_CONTEXT
            default_value 1
            default_value 1
            description   "
            description   "
                The thread context switch code can exploit the calling
                The thread context switch code can exploit the calling
                conventions defined for a given architecture to reduce the
                conventions defined for a given architecture to reduce the
                amount of state that has to be saved during a context
                amount of state that has to be saved during a context
                switch. Generally this improves performance and reduces
                switch. Generally this improves performance and reduces
                code size. However it can make source-level debugging more
                code size. However it can make source-level debugging more
                difficult."
                difficult."
        }
        }
    }
    }
    cdl_component CYGPKG_HAL_CACHE_CONTROL {
    cdl_component CYGPKG_HAL_CACHE_CONTROL {
        display       "Explicit control over cache behaviour"
        display       "Explicit control over cache behaviour"
        flavor        none
        flavor        none
        no_define
        no_define
        description   "
        description   "
            These options let the default behaviour of the caches
            These options let the default behaviour of the caches
            be easily configurable."
            be easily configurable."
        cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
        cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
            display       "Enable DATA cache on startup"
            display       "Enable DATA cache on startup"
            default_value 1
            default_value 1
            description   "
            description   "
                Enabling this option will cause the data cache to be enabled
                Enabling this option will cause the data cache to be enabled
                as soon as practicable when eCos starts up.  One would choose
                as soon as practicable when eCos starts up.  One would choose
                to disable this if the data cache cannot safely be turned on,
                to disable this if the data cache cannot safely be turned on,
                such as a case where the cache(s) require additional platform
                such as a case where the cache(s) require additional platform
                specific setup."
                specific setup."
            cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
            cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
                display       "DATA cache mode on startup"
                display       "DATA cache mode on startup"
                flavor        data
                flavor        data
                legal_values  { "COPYBACK" "WRITETHRU" }
                legal_values  { "COPYBACK" "WRITETHRU" }
                default_value { "COPYBACK" }
                default_value { "COPYBACK" }
                description   "
                description   "
                    This option controls the mode the cache will be set to
                    This option controls the mode the cache will be set to
                when enabled on startup."
                when enabled on startup."
            }
            }
        }
        }
        cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
        cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
            display       "Enable INSTRUCTION cache on startup"
            display       "Enable INSTRUCTION cache on startup"
            default_value 1
            default_value 1
            description   "
            description   "
                Enabling this option will cause the instruction cache to be enabled
                Enabling this option will cause the instruction cache to be enabled
                as soon as practicable when eCos starts up.  One would choose
                as soon as practicable when eCos starts up.  One would choose
                to disable this if the instruction cache cannot safely be turned on,
                to disable this if the instruction cache cannot safely be turned on,
                such as a case where the cache(s) require additional platform
                such as a case where the cache(s) require additional platform
                specific setup."
                specific setup."
        }
        }
    }
    }
    cdl_component CYGPKG_HAL_DEBUG {
    cdl_component CYGPKG_HAL_DEBUG {
        display       "Source-level debugging support"
        display       "Source-level debugging support"
        flavor        none
        flavor        none
        description   "
        description   "
            If the source level debugger gdb is to be used for debugging
            If the source level debugger gdb is to be used for debugging
            application code then it may be necessary to configure in support
            application code then it may be necessary to configure in support
            for this in the HAL."
            for this in the HAL."
        script        debugging.cdl
        script        debugging.cdl
    }
    }
    cdl_component CYGPKG_HAL_ROM_MONITOR {
    cdl_component CYGPKG_HAL_ROM_MONITOR {
        display       "ROM monitor support"
        display       "ROM monitor support"
        flavor        none
        flavor        none
        no_define
        no_define
        description   "
        description   "
            Support for ROM monitors can be built in to your application.
            Support for ROM monitors can be built in to your application.
            It may also be relevant to build your application as a ROM monitor
            It may also be relevant to build your application as a ROM monitor
            itself. Such options are contained here if relevant for your chosen
            itself. Such options are contained here if relevant for your chosen
            platform. The options and ROM monitors available to choose are
            platform. The options and ROM monitors available to choose are
            platform-dependent."
            platform-dependent."
        cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
        cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
            display "Target has virtual vector support"
            display "Target has virtual vector support"
            no_define
            no_define
        }
        }
        cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
        cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
            display     "Target supports baud rate control via vectors"
            display     "Target supports baud rate control via vectors"
            no_define
            no_define
            description "
            description "
                Whether this target supports the __COMMCTL_GETBAUD
                Whether this target supports the __COMMCTL_GETBAUD
                and __COMMCTL_SETBAUD virtual vector comm control operations."
                and __COMMCTL_SETBAUD virtual vector comm control operations."
        }
        }
        cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
        cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
            display     "Enable use of virtual vector calling interface"
            display     "Enable use of virtual vector calling interface"
            active_if   CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
            active_if   CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
            calculated  1
            calculated  1
            description "
            description "
                Virtual vector support allows the HAL to let the ROM
                Virtual vector support allows the HAL to let the ROM
                monitor handle certain operations. The virtual vector table
                monitor handle certain operations. The virtual vector table
                defines a calling interface between applications running in
                defines a calling interface between applications running in
                RAM and the ROM monitor."
                RAM and the ROM monitor."
            compile     hal_if.c hal_misc.c
            compile     hal_if.c hal_misc.c
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
                display       "Inherit console settings from ROM monitor"
                display       "Inherit console settings from ROM monitor"
                active_if     CYGSEM_HAL_USE_ROM_MONITOR
                active_if     CYGSEM_HAL_USE_ROM_MONITOR
                default_value { !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS }
                default_value { !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS }
                description   "
                description   "
                    When this option is set, the application will inherit
                    When this option is set, the application will inherit
                    the console as set up by the ROM monitor. This means
                    the console as set up by the ROM monitor. This means
                    that the application will use whatever channel and
                    that the application will use whatever channel and
                    mangling style was used by the ROM monitor when
                    mangling style was used by the ROM monitor when
                    the application was launched."
                    the application was launched."
            }
            }
            cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
            cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
                display       "Debug channel is configurable"
                display       "Debug channel is configurable"
                calculated    { CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS }
                calculated    { CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS }
                description   "
                description   "
                    This option is a configuration hint - it is enabled
                    This option is a configuration hint - it is enabled
                    when the HAL initialization code will make use
                    when the HAL initialization code will make use
                    of the debug channel configuration option."
                    of the debug channel configuration option."
            }
            }
            cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
            cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
                display       "Console channel is configurable"
                display       "Console channel is configurable"
                calculated    { !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE \
                calculated    { !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE \
                                && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN }
                                && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN }
                description   "
                description   "
                    This option is a configuration hint - it is enabled
                    This option is a configuration hint - it is enabled
                    when the HAL initialization code will make use
                    when the HAL initialization code will make use
                    of the console channel configuration option."
                    of the console channel configuration option."
            }
            }
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
                display       "Initialize whole of virtual vector table"
                display       "Initialize whole of virtual vector table"
                default_value { CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR }
                default_value { CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR }
                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
                description   "
                description   "
                    This option will cause the whole of the virtual
                    This option will cause the whole of the virtual
                    vector table to be initialized with dummy values on
                    vector table to be initialized with dummy values on
                    startup. When this option is enabled, all the
                    startup. When this option is enabled, all the
                    options below must also be enabled - or the
                    options below must also be enabled - or the
                    table would be empty when the application
                    table would be empty when the application
                    launches.
                    launches.
                    On targets where older ROM monitors without
                    On targets where older ROM monitors without
                    virtual vector support may still be in use, it is
                    virtual vector support may still be in use, it is
                    necessary for RAM applictions to initialize the
                    necessary for RAM applictions to initialize the
                    table (since all HAL diagnostics and debug IO
                    table (since all HAL diagnostics and debug IO
                    happens via the table)."
                    happens via the table)."
            }
            }
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
                display       "Claim virtual vector table entries by default"
                display       "Claim virtual vector table entries by default"
                active_if     !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
                active_if     !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
                default_value 1
                default_value 1
                description "
                description "
                    By default most virtual vectors will be claimed by
                    By default most virtual vectors will be claimed by
                    RAM startup configurations, meaning that the RAM
                    RAM startup configurations, meaning that the RAM
                    application will provide the services. The
                    application will provide the services. The
                    exception is COMMS support (HAL
                    exception is COMMS support (HAL
                    diagnostics/debugging IO) which is left in the
                    diagnostics/debugging IO) which is left in the
                    control of the ROM monitor.
                    control of the ROM monitor.
                    The reasoning behind this is to get as much of the
                    The reasoning behind this is to get as much of the
                    code exercised during regular development so it
                    code exercised during regular development so it
                    is known to be working the few times a new ROM
                    is known to be working the few times a new ROM
                    monitor or a ROM production configuration is used
                    monitor or a ROM production configuration is used
                    - COMMS are excluded only by necessity in order to
                    - COMMS are excluded only by necessity in order to
                    avoid breaking an existing debugger connections
                    avoid breaking an existing debugger connections
                    (there may be ways around this).
                    (there may be ways around this).
                    For production RAM configurations this option can
                    For production RAM configurations this option can
                    be switched off, causing the appliction to rely on
                    be switched off, causing the appliction to rely on
                    the ROM monitor for these services, thus
                    the ROM monitor for these services, thus
                    saving some space.
                    saving some space.
                    Individual vectors may also be left unclaimed,
                    Individual vectors may also be left unclaimed,
                    controlled by the below options (meaning that the
                    controlled by the below options (meaning that the
                    associated service provided by the ROM monitor
                    associated service provided by the ROM monitor
                    will be used)."
                    will be used)."
            }
            }
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
                display       "Claim reset virtual vectors"
                display       "Claim reset virtual vectors"
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \
                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }
                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }
                description   "
                description   "
                    This option will cause the reset and kill_by_reset
                    This option will cause the reset and kill_by_reset
                    virtual vectors to be claimed."
                    virtual vectors to be claimed."
            }
            }
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
                display       "Claim version virtual vectors"
                display       "Claim version virtual vectors"
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE }
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE }
                description   "
                description   "
                    This option will cause the version
                    This option will cause the version
                    virtual vectors to be claimed."
                    virtual vectors to be claimed."
            }
            }
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
                display       "Claim delay_us virtual vector"
                display       "Claim delay_us virtual vector"
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \
                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }
                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }
                description   "
                description   "
                    This option will cause the delay_us
                    This option will cause the delay_us
                    virtual vector to be claimed."
                    virtual vector to be claimed."
            }
            }
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
                display       "Claim cache virtual vectors"
                display       "Claim cache virtual vectors"
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \
                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }
                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }
                description   "
                description   "
                    This option will cause the cache virtual vectors
                    This option will cause the cache virtual vectors
                    to be claimed."
                    to be claimed."
            }
            }
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
                display       "Claim data virtual vectors"
                display       "Claim data virtual vectors"
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \
                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }
                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }
                description   "
                description   "
                    This option will cause the data virtual vectors
                    This option will cause the data virtual vectors
                    to be claimed. At present there is only one, used
                    to be claimed. At present there is only one, used
                    by the RedBoot ethernet driver to share diag output."
                    by the RedBoot ethernet driver to share diag output."
            }
            }
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
                display       "Claim comms virtual vectors"
                display       "Claim comms virtual vectors"
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \
                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \
                                || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS }
                                || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS }
                description   "
                description   "
                    This option will cause the communication tables
                    This option will cause the communication tables
                    that are part of the virtual vectors mechanism to
                    that are part of the virtual vectors mechanism to
                    be claimed. Note that doing this may cause an
                    be claimed. Note that doing this may cause an
                    existing ROM monitor communication connection to
                    existing ROM monitor communication connection to
                    be closed. For this reason, the option is disabled
                    be closed. For this reason, the option is disabled
                    per default for normal application
                    per default for normal application
                    configurations."
                    configurations."
            }
            }
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
                display       "Do diagnostic IO via virtual vector table"
                display       "Do diagnostic IO via virtual vector table"
                calculated    1
                calculated    1
                description   "
                description   "
                    All HAL IO happens via the virtual vector table / comm
                    All HAL IO happens via the virtual vector table / comm
                    tables when those tables are supported by the HAL.
                    tables when those tables are supported by the HAL.
                    If so desired, the low-level IO functions can
                    If so desired, the low-level IO functions can
                    still be provided by the RAM application by
                    still be provided by the RAM application by
                    enabling the CLAIM_COMMS option."
                    enabling the CLAIM_COMMS option."
            }
            }
        }
        }
        cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
        cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
            display "Build common GDB stub ROM image"
            display "Build common GDB stub ROM image"
            default_value 0
            default_value 0
            parent  CYGBLD_GLOBAL_OPTIONS
            parent  CYGBLD_GLOBAL_OPTIONS
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
            no_define
            no_define
            description "
            description "
                Unless a target board has specific requirements to the
                Unless a target board has specific requirements to the
                stub implementation, it can use a simple common stub.
                stub implementation, it can use a simple common stub.
                This option, which gets enabled by platform HALs as
                This option, which gets enabled by platform HALs as
                appropriate, controls the building of the common stub."
                appropriate, controls the building of the common stub."
            make -priority 315 {
            make -priority 315 {
                /bin/gdb_module.img : /src/stubrom/stubrom.c /lib/extras.o /lib/libtarget.a /lib/target.ld /lib/vectors.o
                /bin/gdb_module.img : /src/stubrom/stubrom.c /lib/extras.o /lib/libtarget.a /lib/target.ld /lib/vectors.o
                @sh -c "mkdir -p src/stubrom $(dir $@)"
                @sh -c "mkdir -p src/stubrom $(dir $@)"
                $(CC) -c $(INCLUDE_PATH) -Wp,-MD,deps.tmp -I$(dir $<) $(CFLAGS) -o src/stubrom/gdb_module.o $<
                $(CC) -c $(INCLUDE_PATH) -Wp,-MD,deps.tmp -I$(dir $<) $(CFLAGS) -o src/stubrom/gdb_module.o $<
                @echo $@ ": \\" > $(notdir $@).deps
                @echo $@ ": \\" > $(notdir $@).deps
                @echo $(wildcard $(PREFIX)/lib/*) " \\" >> $(notdir $@).deps
                @echo $(wildcard $(PREFIX)/lib/*) " \\" >> $(notdir $@).deps
                @tail +2 deps.tmp >> $(notdir $@).deps
                @tail +2 deps.tmp >> $(notdir $@).deps
                @echo >> $(notdir $@).deps
                @echo >> $(notdir $@).deps
                @rm deps.tmp
                @rm deps.tmp
                $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ src/stubrom/gdb_module.o
                $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ src/stubrom/gdb_module.o
            }
            }
        }
        }
    }
    }
    # Does platform need special I/O initializations?
    # Does platform need special I/O initializations?
    cdl_interface     CYGINT_HAL_PLF_IF_INIT {
    cdl_interface     CYGINT_HAL_PLF_IF_INIT {
        display       "Platform defined I/O channels."
        display       "Platform defined I/O channels."
        description   "
        description   "
          Platforms which provide additional I/O channels can implement
          Platforms which provide additional I/O channels can implement
          this interface, indicating that the function plf_if_init()
          this interface, indicating that the function plf_if_init()
          needs to be called."
          needs to be called."
    }
    }
    # Does platform provide IDE I/O macros?
    # Does platform provide IDE I/O macros?
    cdl_interface     CYGINT_HAL_PLF_IF_IDE {
    cdl_interface     CYGINT_HAL_PLF_IF_IDE {
        display       "Platform IDE I/O support."
        display       "Platform IDE I/O support."
        description   "
        description   "
          Platforms which provide IDE controllers can implement
          Platforms which provide IDE controllers can implement
          this interface, indicating that IDE I/O macros are
          this interface, indicating that IDE I/O macros are
          available."
          available."
    }
    }
    cdl_option CYGPKG_HAL_GDB_FILEIO {
    cdl_option CYGPKG_HAL_GDB_FILEIO {
        display       "File I/O operations via GDB"
        display       "File I/O operations via GDB"
        default_value 0
        default_value 0
        active_if     CYGSEM_REDBOOT_BSP_SYSCALLS
        active_if     CYGSEM_REDBOOT_BSP_SYSCALLS
        requires      CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
        requires      CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
        compile       gdb-fileio.c
        compile       gdb-fileio.c
        description   "This option enables support for various file I/O
        description   "This option enables support for various file I/O
                       operations using the GDB remote protocol to communicate
                       operations using the GDB remote protocol to communicate
                       with GDB. The operations are then performed on the
                       with GDB. The operations are then performed on the
                       debugging host by proxy. These operations are only
                       debugging host by proxy. These operations are only
                       currently available by using a system call interface
                       currently available by using a system call interface
                       to RedBoot. This may change in the future."
                       to RedBoot. This may change in the future."
    }
    }
    define_proc {
    define_proc {
        puts $::cdl_header "/***** proc output start *****/"
        puts $::cdl_header "/***** proc output start *****/"
        puts $::cdl_header "#include "
        puts $::cdl_header "#include "
        puts $::cdl_header "#include CYGBLD_HAL_TARGET_H"
        puts $::cdl_header "#include CYGBLD_HAL_TARGET_H"
        puts $::cdl_header "#ifdef   CYGBLD_HAL_VARIANT_H"
        puts $::cdl_header "#ifdef   CYGBLD_HAL_VARIANT_H"
        puts $::cdl_header "#include CYGBLD_HAL_VARIANT_H"
        puts $::cdl_header "#include CYGBLD_HAL_VARIANT_H"
        puts $::cdl_header "#endif"
        puts $::cdl_header "#endif"
        puts $::cdl_header "#include CYGBLD_HAL_PLATFORM_H"
        puts $::cdl_header "#include CYGBLD_HAL_PLATFORM_H"
        puts $::cdl_header "/****** proc output end ******/"
        puts $::cdl_header "/****** proc output end ******/"
    }
    }
    cdl_option     CYGPKG_HAL_BUILD_COMPILER_TESTS {
    cdl_option     CYGPKG_HAL_BUILD_COMPILER_TESTS {
        display       "Build Compiler sanity checking tests"
        display       "Build Compiler sanity checking tests"
        description   "
        description   "
            Enabling this option causes compiler tests to be built."
            Enabling this option causes compiler tests to be built."
    }
    }
    cdl_component CYGPKG_HAL_TESTS {
    cdl_component CYGPKG_HAL_TESTS {
        display "Common HAL tests"
        display "Common HAL tests"
        flavor  data
        flavor  data
        no_define
        no_define
        calculated {  "tests/context tests/basic"
        calculated {  "tests/context tests/basic"
                      . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
                      . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
                      . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
                      . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
                      . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") }
                      . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") }
        description   "
        description   "
            This option specifies the set of tests for the common HAL."
            This option specifies the set of tests for the common HAL."
        cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
        cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
            display       "Interface for cache presence"
            display       "Interface for cache presence"
            flavor        booldata
            flavor        booldata
            description   "
            description   "
                Some architectures and/or platforms do not have caches. By
                Some architectures and/or platforms do not have caches. By
                implementing this interface, these can disable the various
                implementing this interface, these can disable the various
                cache-related tests."
                cache-related tests."
        }
        }
    }
    }
}
}
 
 

powered by: WebSVN 2.1.0

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